NEWS.stable: log cherry-pick [7c886ca]->[802ee67] Fix link errors in tests: openat...
[gnulib.git] / ChangeLog
1 2011-05-31  Bruno Haible  <bruno@clisp.org>
2
3         Fix link errors in tests: openat-die uses gettext-h.
4         * modules/areadlinkat-tests (Makefile.am): Link test-areadlinkat
5         against $(LIBINTL).
6         * modules/dirent-safer-tests (Makefile.am): Link test-dirent-safer
7         against $(LIBINTL).
8         * modules/fdopendir-tests (Makefile.am): Link test-fdopendir against
9         $(LIBINTL).
10         * modules/fdutimensat-tests (Makefile.am): Link test-fdutimensat
11         against $(LIBINTL).
12         * modules/linkat-tests (Makefile.am): Link test-linkat against
13         $(LIBINTL).
14         * modules/mkfifoat-tests (Makefile.am): Link test-mkfifoat against
15         $(LIBINTL).
16         * modules/openat-safer-tests (Makefile.am): Link test-openat-safer
17         against $(LIBINTL).
18         * modules/openat-tests (Makefile.am): Link test-fchownat, test-fstatat,
19         test-mkdirat, test-openat, test-unlinkat against $(LIBINTL).
20         * modules/readlinkat-tests (Makefile.am): Link test-readlinkat against
21         $(LIBINTL).
22         * modules/symlinkat-tests (Makefile.am): Link test-symlinkat against
23         $(LIBINTL).
24         * modules/utimensat-tests (Makefile.am): Link test-utimensat against
25         $(LIBINTL).
26         Reported by Tom G. Christensen <tgc@jupiterrise.com>.
27
28 2011-05-31  Bruno Haible  <bruno@clisp.org>
29
30         Fix link errors in tests: wait-process uses gettext-h.
31         * modules/nonblocking-pipe-tests (Makefile.am): Set
32         test_nonblocking_pipe_main_LDADD.
33         * modules/nonblocking-socket-tests (Makefile.am): Link
34         test-nonblocking-socket-main against $(LIBINTL).
35         Reported by Tom G. Christensen <tgc@jupiterrise.com>.
36
37 2011-05-29  Bruno Haible  <bruno@clisp.org>
38
39         wctype-h: Avoid namespace pollution on Solaris 2.6.
40         * lib/wctype.in.h: On Solaris, undefine 'multibyte' and a few other
41         identifiers.
42         * doc/posix-headers/wctype.texi: Mention the problem.
43         Reported by Tom G. Christensen <tgc@jupiterrise.com>.
44
45 2011-05-28  Jim Meyering  <meyering@redhat.com>
46
47         parse-datetime.y: accommodate -Wstrict-overflow
48         * lib/parse-datetime.y (yylex): Rearrange pointer arithmetic to
49         placate -Wstrict-overflow.
50
51         trim: avoid a warning from -O2 -Wstrict-overflow
52         * lib/trim.c (trim2): Declare local to be "unsigned int", not "int".
53
54 2011-05-28  Bruno Haible  <bruno@clisp.org>
55
56         getloadavg: Remove an unreliable safety check.
57         * m4/getloadavg.m4 (gl_GETLOADAVG): Drop argument. Remove test whether
58         getloadavg.c is in place.
59         * modules/getloadavg (configure.ac): Drop argument of gl_GETLOADAVG.
60         Reported by Sam Steingold <sds@gnu.org>.
61
62 2011-05-26  Simon Josefsson  <simon@josefsson.org>
63
64         * lib/gen-uni-tables.c: Say "gen-uni-tables.c" consistently.
65
66 2011-05-26  Bruno Haible  <bruno@clisp.org>
67
68         mbsrchr: Avoid collision with system function on Interix.
69         * lib/string.in.h (mbsrchr): Define as rpl_mbsrchr also on Interix.
70         Reported by Markus Duft <mduft@gentoo.org>.
71
72 2011-05-25  Eric Blake  <eblake@redhat.com>
73
74         getcwd: work around mingw bug
75         * lib/getcwd-lgpl.c (rpl_getcwd): Guarantee correct error.
76         * doc/posix-functions/getcwd.texi (getcwd): Document it.
77         Reported by Matthias Bolte.
78
79 2011-05-24  Paul Eggert  <eggert@cs.ucla.edu>
80
81         test-intprops: disable -Wtype-limits diagnostics
82         * tests/test-intprops.c: Use a pragma to ignore -Wtype-limits
83         diagnostics.  Otherwise, the integer overflow macros generate many
84         diagnostics.  Reported by Jim Meyering in
85         <http://lists.gnu.org/archive/html/bug-gnulib/2011-05/msg00528.html>.
86
87 2011-05-24  Eric Blake  <eblake@redhat.com>
88
89         docs: document recently fixed glibc printf bug
90         * doc/posix-functions/fprintf.texi (fprintf): Document it.
91         * doc/posix-functions/printf.texi (printf): Likewise.
92         * doc/posix-functions/vfprintf.texi (vfprintf): Likewise.
93         * doc/posix-functions/vprintf.texi (vprintf): Likewise.
94
95 2011-05-24  Eric Blake  <eblake@redhat.com>
96
97         tests: fix logic bug in init.sh
98         * tests/init.sh: (gl_set_x_corrupts_stderr_): Clear for successful
99         shell.
100
101 2011-05-24  Jim Meyering  <meyering@redhat.com>
102
103         utimensat: do not reference an out-of-scope buffer
104         Otherwise, with __linux__ defined, "times" would point to a buffer, "ts"
105         declared in an inner scope, yet "times" would be dereferenced outside
106         the scope in which "ts" was valid.
107         * lib/utimensat.c (rpl_utimensat) [__linux__]: Move the declaration
108         of ts[2] "out/up", so that the use of aliased "times" (via
109         "times = ts;") does not end up referencing an out-of-scope "ts"
110
111         opendir-safer.c: don't clobber errno; don't close negative FD
112         * lib/opendir-safer.c (opendir_safer):
113         [HAVE_FDOPENDIR || GNULIB_FDOPENDIR]: Don't close a negative
114         file descriptor, and more importantly, don't clobber the
115         offending errno value with EINVAL.  Before, upon failure
116         of dup_safer, we would pass the negative file descriptor to
117         fdopendir, which would clobber errno.
118
119 2011-05-23  Bruno Haible  <bruno@clisp.org>
120
121         idcache: Fix module description.
122         * modules/idcache (Include): Set to "idcache.h".
123
124 2011-05-23  Paul Eggert  <eggert@cs.ucla.edu>
125
126         gnulib-tool: fix portability problem with MacOS sed
127         A sed command like "/x/{s/a/b/}" is not portable; a newline is needed
128         before the "}".  Problem reported by Leo in
129         <http://lists.gnu.org/archive/html/emacs-devel/2011-05/msg00717.html>.
130         * gnulib-tool (func_modules_transitive_closure): Insert newlines in
131         sed_extract_condition1, sed_extract_condition2.
132
133 2011-05-23  Bruno Haible  <bruno@clisp.org>
134
135         getugroups: Fix module description.
136         * modules/getugroups (Include): Set to "getugroups.h".
137
138 2011-05-23  Bruno Haible  <bruno@clisp.org>
139             Eric Blake  <eblake@redhat.com>
140
141         linkat, renameat: Update dependencies.
142         * modules/renameat (Depends-on): Add dosname, save-cwd. Remove stpcpy.
143         * modules/linkat (Depends-on): Likewise. Remove also readlink,
144         symlinkat.
145
146 2011-05-22  Paul Eggert  <eggert@cs.ucla.edu>
147
148         verify: fix bug when gnulib <assert.h> is also included
149         * lib/verify.h (verify, verify_true): Define if _GL_VERIFY_H
150         is defined, not if _GL_STATIC_ASSERT_H is not defined.
151         Perhaps there's a better way, but this fixes the immediate problem.
152         Problem reported by Bruno Haible in
153         <http://lists.gnu.org/archive/html/bug-gnulib/2011-05/msg00478.html>.
154
155 2011-05-21  Paul Eggert  <eggert@cs.ucla.edu>
156
157         clock-time: change to LGPLv2+.
158         * modules/clock-time: Change from GPL to LGPLv2+.  Actually, it's
159         BSD-like but we have no mark for that; this is good enough for now.
160
161 2011-05-21  Bruno Haible  <bruno@clisp.org>
162
163         relocatable-prog-wrapper: Fix possible link error.
164         * m4/setenv.m4 (gl_FUNC_SETENV_SEPARATE): Move determination of
165         HAVE_SETENV and REPLACE_SETENV and AC_LIBOBJ invocation from here...
166         (gl_FUNC_SETENV): ... to here.
167         * m4/canonicalize.m4 (gl_CANONICALIZE_LGPL_SEPARATE): Update comment.
168         * m4/readlink.m4 (gl_FUNC_READLINK_SEPARATE): Likewise.
169
170 2011-05-20  Jim Meyering  <meyering@redhat.com>
171
172         maint: replace misused "a" with "an"
173         * doc/intprops.texi: "a integer"
174         * doc/regex.texi: "a explanation"
175         * lib/alignof.h: "a object"
176         * lib/argmatch.h: "a explanation"
177         * lib/argp-help.c: "a option" and "a OPTION_DOC"
178         * lib/stdint.in.h: "a integer"
179         * lib/userspec.c: "a owner"
180         * doc/gnulib.texi: Fix "a idea", and reword.
181
182 2011-05-19  Jim Meyering  <meyering@redhat.com>
183
184         maint: correct misuse of "a" and "an"
185         * doc/regex.texi (Collating Symbol Operators): s/an close.../a close/
186         * lib/argp-help.c: "an docum...": s/an/a/
187         * lib/argp-parse.c: "An vector": s/An/A/
188         * lib/execute.c: "an native": s/an/a/
189         * lib/spawn-pipe.c: Likewise.
190         * lib/gc.h: "an Gc_rc": s/an/a/
191         * lib/unigbrk.in.h: "an grapheme": s/an/a/
192         * lib/fts.c: "an stat.st_dev": s/an/a/
193
194 2011-05-19  Paul Eggert  <eggert@cs.ucla.edu>
195
196         intprops: work around IRIX 6.5 cc bug with 0u - 0u + -1
197         See http://lists.gnu.org/archive/html/bug-gnulib/2011-05/msg00406.html
198         * lib/intprops.h (_GL_INT_NEGATE_CONVERT): New macro.
199         (_GL_INT_SIGNED, _GL_INT_MAXIMUM, _GL_DIVIDE_OVERFLOW):
200         (_GL_REMAINDER_OVERFLOW): Use it.
201
202         intprops: work around C compiler bugs
203         * lib/intprops.h (INT_MULTIPLY_RANGE_OVERFLOW): Work around compiler
204         bug in Sun C 5.11 2010/08/13 and other compilers; see
205         <http://lists.gnu.org/archive/html/bug-gnulib/2011-05/msg00401.html>.
206
207         intprops: TYPE_IS_INTEGER, TYPE_SIGNED not integer constant exprs
208         * doc/intprops.texi (Integer Type Determination): Fix
209         documentation for TYPE_IS_INTEGER: it returns an constant
210         expression, not an integer constant expression.  Fix doc for
211         TYPE_SIGNED: it returns an integer constant expression only if its
212         argument is an integer type.  (TYPE_IS_INTEGER is the same, but is
213         hardly worth documented that way....)
214
215 2011-05-18  Eric Blake  <eblake@redhat.com>
216
217         fnmatch: avoid compiler warning
218         * lib/fnmatch_loop.c (FCT): Use correct type.
219         Reported by Matthias Bolte.
220
221 2011-05-13  Jim Meyering  <meyering@redhat.com>
222
223         maint.mk: three new prohibit_<HDR>_without_use rules
224         * top/maint.mk (sc_prohibit_stdio--_without_use): New rule.
225         (sc_prohibit_stdio-safer_without_use): Likewise.
226         (sc_prohibit_xfreopen_without_use): Likewise.
227
228 2011-05-17  Jim Meyering  <meyering@redhat.com>
229
230         announce-gen: fail if the NEWS delta is empty
231         If there's nothing noteworthy in NEWS, then either you forgot
232         or you shouldn't be releasing.
233         * build-aux/announce-gen: Die if the NEWS delta is effectively empty.
234
235 2011-05-17  Pádraig Brady <P@draigBrady.com>
236
237         * top/maint.mk (_gl_tight_scope:): Automatically exclude compiler
238         reserved symbols starting with double underscore from the check.
239
240 2011-05-17  Paul Eggert  <eggert@cs.ucla.edu>
241
242         intprops: add doc
243         * doc/intprops.texi: New file, documenting intprops.
244         * doc/gnulib.texi (Particular Modules): Include it.
245
246         verify: add doc to gnulib manual and fix example
247         * doc/gnulib.texi (Compile-time Assertions): New node, for 'verify'.
248         * doc/verify.texi (Compile-time Assertions): Update 'assert' doc.
249         (Compile-time Assertions): Fix example so it can't overflow.
250
251 2011-05-17  Jim Meyering  <meyering@redhat.com>
252
253         warnings.m4: don't usurp save_CPPFLAGS variable name
254         * m4/warnings.m4: Prefix local temporary variable name with gl_.
255
256         doc: fix typo
257         * doc/gnulib-intro.texi (Target Platforms): s/is/are/
258
259 2011-05-16  Paul Eggert  <eggert@cs.ucla.edu>
260             Bruno Haible  <bruno@clisp.org>
261
262         doc: Tweak recent change.
263         * README (Portability guidelines): Tweak new text.
264         * doc/gnulib-intro.texi (Target Platforms): Likewise. Mention
265         Interix 6.1.
266
267 2011-05-16  Eric Blake  <eblake@redhat.com>
268
269         inttypes: avoid autoconf warning
270         * m4/inttypes.m4 (gl_INTTYPES_INCOMPLETE): Only expand once.
271         * m4/stdint.m4 (gl_STDINT_H): Likewise.
272
273 2011-05-16  Sam Steingold <sds@gnu.org>
274         and Eric Blake  <eblake@redhat.com>
275
276         vc-list-files: accept multiple directory operands
277         * build-aux/vc-list-files: Iterate over all remaining operands.
278
279 2011-05-16  Bruno Haible  <bruno@clisp.org>
280
281         Fix confusion regarding deprecated modules.
282         * modules/calloc (Status, Notice): Mark module as deprecated, not
283         obsolete.
284         * modules/fnmatch-posix (Status, Notice): Likewise.
285         * modules/getdate (Status, Notice): Likewise.
286         * modules/getopt (Status, Notice): Likewise.
287         * modules/malloc (Status, Notice): Likewise.
288         * modules/pipe (Status, Notice): Likewise.
289         * modules/realloc (Status, Notice): Likewise.
290         * modules/rename-dest-slash (Status, Notice): Likewise.
291         * modules/unictype/bidicategory-all (Status, Notice): Likewise.
292         * modules/unictype/bidicategory-byname (Status, Notice): Likewise.
293         * modules/unictype/bidicategory-name (Status, Notice): Likewise.
294         * modules/unictype/bidicategory-of (Status, Notice): Likewise.
295         * modules/unictype/bidicategory-test (Status, Notice): Likewise.
296
297 2011-05-16  Bruno Haible  <bruno@clisp.org>
298
299         doc: List the target platforms.
300         * doc/gnulib-intro.texi (Target Platforms): New section.
301         * doc/gnulib.texi (Introduction): Update menu.
302         * README (Portability guidelines): Refer to the new section. Update
303         statement about oldest supported environment. Remove rationale why
304         <errno.h>, <string.h>, <stdlib.h> are assumed. Update example of an
305         unportable C89 function.
306         Reported by Bastien Roucariès <roucaries.bastien@gmail.com> and
307         Charles Wilson <cygwin@cwilson.fastmail.fm>. Feedback from Paul Eggert.
308
309 2011-05-16  Paul Eggert  <eggert@cs.ucla.edu>
310
311         * build-aux/bootstrap (gnulib_tool): Handle symlink timestamps better.
312
313 2011-05-13  Paul Eggert  <eggert@cs.ucla.edu>
314
315         intprops-tests: new module
316         * modules/intprops-tests, tests/test-intprops.c: New files.
317
318         intprops: add safe, portable integer overflow checking
319         * lib/intprops.h (_GL_INT_CONVERT, _GL_INT_TWOS_COMPLEMENT):
320         (_GL_INT_SIGNED, _GL_INT_MINIMUM, _GL_INT_MAXIMUM):
321         (_GL_SIGNED_INT_MINIMUM, INT_ADD_RANGE_OVERFLOW):
322         (INT__SUBTRACT__RANGE_OVERFLOW, INT_NEGATE_RANGE_OVERFLOW):
323         (INT_MULTIPLY_RANGE_OVERFLOW, INT_REMAINDER_RANGE_OVERFLOW):
324         (INT_LEFT_SHIFT_RANGE_OVERFLOW, _GL_ADD_OVERFLOW):
325         (_GL__SUBTRACT__OVERFLOW, _GL_MULTIPLY_OVERFLOW, _GL_DIVIDE_OVERFLOW):
326         (_GL_REMAINDER_OVERFLOW, _GL_UNSIGNED_NEG_MULTIPLE, INT_ADD_OVERFLOW):
327         (INT__SUBTRACT__OVERFLOW, INT_NEGATE_OVERFLOW, INT_MULTIPLY_OVERFLOW):
328         (INT_DIVIDE_OVERFLOW, INT_REMAINDER_OVERFLOW):
329         (INT_LEFT_SHIFT_OVERFLOW, _GL_BINARY_OP_OVERFLOW): New macros.
330
331 2011-05-12  James Youngman  <jay@gnu.org>
332
333         Add a test for glibc's Bugzilla bug #12378.
334         * m4/fnmatch.m4: Use gnulib's fnmatch if the system fnmatch
335         doesn't allow the literal matching of a lone "[" (which is
336         required by POSIX).
337         * tests/test-fnmatch.c (main): Check that "[/b" matches itself.
338
339 2011-05-11  Ulrich Drepper  <drepper@gmail.com>
340
341         Sync glibc change fixing Bugzilla bug #12378.
342         * lib/fnmatch_loop.c (FCT): When matching '[' keep track of
343         beginning and fall back to matching as normal character if the
344         string ends before the matching ']' is found.  This is what POSIX
345         requires.
346
347 2011-05-13  Eric Blake  <eblake@redhat.com>
348
349         getcwd-lgpl: relax test for FreeBSD
350         * doc/posix-functions/getcwd.texi (getcwd): Document portability
351         issue.
352         * tests/test-getcwd-lgpl.c (main): Relax test.
353         Reported by Matthias Bolte.
354
355 2011-05-11  Eric Blake  <eblake@redhat.com>
356
357         test-fflush: silence compiler warning
358         * tests/test-fflush.c (main): Don't fclose a NULL pointer.
359
360 2011-05-11  Bruno Haible  <bruno@clisp.org>
361
362         canonicalize, canonicalize-lgpl: Avoid crash dialog on MacOS X.
363         * m4/canonicalize.m4 (gl_FUNC_REALPATH_WORKS): Add GL_NOCRASH code.
364         * modules/canonicalize (Depends-on): Add 'nocrash'.
365         * modules/canonicalize-lgpl (Depends-on): Likewise.
366         * doc/posix-functions/realpath.texi: Update platforms list.
367         Reported by Ryan Schmidt <ryandesign@macports.org>.
368
369 2011-05-11  Bruno Haible  <bruno@clisp.org>
370
371         group-member: Declare function in <unistd.h>.
372         * lib/unistd.in.h (group_member): New declaration.
373         * lib/group-member.h: Remove file.
374         * lib/group-member.c: Include <unistd.h> instead of group-member.h.
375         * tests/test-unistd-c++.cc: Check signature of group_member.
376         * m4/group-member.m4 (gl_FUNC_GROUP_MEMBER): Require
377         gl_UNISTD_H_DEFAULTS. Set HAVE_GROUP_MEMBER.
378         * m4/unistd_h.m4 (gl_UNISTD_H): Check whether group_member is declared.
379         (gl_UNISTD_H_DEFAULTS): Initialize GNULIB_GROUP_MEMBER,
380         HAVE_GROUP_MEMBER.
381         * modules/group-member (Files): Remove lib/group-member.h.
382         (Depends-on): Add unistd. Specify conditions.
383         (configure.ac): Invoke gl_UNISTD_MODULE_INDICATOR.
384         (Include): Change to <unistd.h>.
385         * modules/unistd (Makefile.am): Substitute GNULIB_GROUP_MEMBER,
386         HAVE_GROUP_MEMBER.
387         * NEWS: Mention the change.
388         * lib/euidaccess.c: Don't include group-member.h.
389
390 2011-05-11  Bruno Haible  <bruno@clisp.org>
391
392         group-member: Document module.
393         * doc/glibc-functions/group_member.texi: Mention the 'group-member'
394         module.
395
396 2011-05-11  Bruno Haible  <bruno@clisp.org>
397
398         fclose: Fix mistake earlier today.
399         * lib/fclose.c (rpl_fclose): Don't assume that EOF < 0.
400
401 2011-05-11  Eric Blake  <eblake@redhat.com>
402
403         fclose: preserve fflush errors
404         * lib/fclose.c (rpl_fclose): Don't lose fflush errors.
405         Reported by Jim Meyering.
406
407         bootstrap: support a prereq of 'rpcgen -' on RHEL5
408         * build-aux/bootstrap (check_versions): When no specific version
409         is required, merely check that the app produces an exit status
410         that indicates its existence.
411
412         maint.mk: drop redundant check
413         * top/maint.mk (sc_the_the): Delete; sc_prohibit_doubled_word does
414         the same but better.
415
416 2011-05-11  Bruno Haible  <bruno@clisp.org>
417
418         fclose: Fix possible link error.
419         * lib/fclose.c (rpl_fclose): Invoke _gl_unregister_fd, not
420         unregister_shadow_fd. Improve comments.
421         * lib/sockets.c (close_fd_maybe_socket): Add comments. Reported by
422         Eric Blake.
423
424 2011-05-11  Jim Meyering  <meyering@redhat.com>
425
426         maint.mk: improve "can not" detection and generalize rule name
427         * top/maint.mk (sc_prohibit_undesirable_word_seq): Renamed from
428         sc_prohibit_can_not, since we'll probably add a few more word pairs here.
429         Use the same technique as in sc_prohibit_doubled_word, so that
430         we recognize "can not" also when the words are separated by a newline.
431         Suggested by Eric Blake.
432         (perl_filename_lineno_text_): Define.  Factored out of...
433         (prohibit_doubled_word_): ...here.  Use the new definition.
434         (prohibit_undesirable_word_seq_): New var.  Use it here, too.
435         (prohibit_undesirable_word_seq_RE_): New overridable variable.
436         (ignore_undesirable_word_sequence_RE_): New overridable variable.
437
438 2011-05-10  Eric Blake  <eblake@redhat.com>
439
440         fclose: avoid double close race when possible
441         * lib/fclose.c (rpl_fclose): Rewrite to avoid double-close race on
442         all but WINDOWS_SOCKETS.
443
444 2011-05-10  Bastien Roucariès  <roucaries.bastien@gmail.com>
445
446         openat: correct new comment
447         * lib/openat-proc.c (openat_proc_name): Correct the comment.
448
449 2011-05-10  Jim Meyering  <meyering@redhat.com>
450
451         openat: add comments
452         * lib/openat-proc.c (openat_proc_name): Add comments,
453         mostly from Eric Blake.
454
455 2011-05-09  Eric Blake  <eblake@redhat.com>
456
457         openat: reduce syscalls in first probe of /proc
458         * lib/openat-proc.c (openat_proc_name): Require that /proc/self/fd
459         be a directory.  Simplify the probe for .. bugs.
460         * modules/openat (Depends-on): Drop same-inode.
461         Reported by Bastien ROUCARIES.
462
463 2011-05-09  Jim Meyering  <meyering@redhat.com>
464
465         maint.mk: change semantics/name of tight_scope variables
466         * top/maint.mk (_gl_TS_var_match, _gl_TS_function_match):
467         Rename variables to align with semantics that make them more useful.
468
469         maint.mk: tweak new rule's name not to impinge
470         * top/maint.mk (_gl_tight_scope): Rename from sc_tight_scope-0.
471         (sc_tight_scope): Use new rule name rather than $@-0.
472
473         maint.mk: add a syntax-check rule to ensure tightly-scoped symbols
474         * top/maint.mk (sc_tight_scope): New rule.
475         (sc_tight_scope-0): New rule, ifdef'd out.
476         (_gl_TS_dir): Default.
477         (_gl_TS_unmarked_extern_functions, _gl_TS_function_regex): Define.
478         (_gl_TS_unmarked_extern_vars, _gl_TS_var_regex): Define.
479
480 2011-05-09  Simon Josefsson  <simon@josefsson.org>
481
482         * m4/gc.m4: Remove gl_PREREQ_GC (not used).  Reported by Bruno
483         Haible <bruno@clisp.org>.
484
485 2011-05-08  Bruno Haible  <bruno@clisp.org>
486
487         Comments.
488         * m4/isnanf.m4: Add comment.
489         * m4/isnanl.m4: Likewise.
490
491 2011-05-08  Bruno Haible  <bruno@clisp.org>
492
493         glob: Remove obsolete macro.
494         * m4/glob.m4 (gl_GLOB_SUBSTITUTE): Remove macro.
495
496 2011-05-08  Paul Eggert  <eggert@cs.ucla.edu>
497
498         intprops: Sun C 5.11 supports __typeof__
499         * lib/intprops.h (_GL_HAVE___TYPEOF__): New macro, which is set
500         for either GCC 2 or later, as before, or for Sun C 5.11 or later,
501         which is new.
502         (_GL_SIGNED_TYPE_OR_EXPR): Use it.
503
504         intprops: switch to usual gnulib indenting and naming
505         * lib/intprops.h (_GL_INTPROPS_H): Rename from GL_INTPROPS_H.
506         (_GL_SIGNED_TYPE_OR_EXPR): Rename from signed_type_or_expr__.
507
508         * tests/test-inttostr.c (IS_TIGHT): Adjust to above renaming.
509
510 2011-05-08  Jim Meyering  <meyering@redhat.com>
511
512         maint.mk: suppress "Entering/Leaving directory" diag in announcement
513         * top/maint.mk (release-prep): Use make's --no-print-directory
514         option when generating the announcement.  This eliminates the
515         pesky "make[2]: Entering/Leaving directory" diagnostics in the
516         generated announcement template.
517
518 2011-05-08  Bruno Haible  <bruno@clisp.org>
519
520         tzset: Fix gettimeofday wrapper on Solaris 2.6.
521         * m4/tzset.m4 (gl_FUNC_TZSET_CLOBBER): When invoking
522         gl_GETTIMEOFDAY_REPLACE_LOCALTIME, also set REPLACE_GETTIMEOFDAY.
523
524 2011-05-07  Paul Eggert  <eggert@cs.ucla.edu>
525
526         ignore-value, verify: Omit include files from lib_SOURCES.
527         * modules/ignore-value, modules/verify (Makefile.am):
528         Don't put ignore-value.h, or verify.h, into lib_SOURCES, as
529         that leads Automake to duplicate use of am__objects_... variables
530         in Makefile.in.  See
531         <http://lists.gnu.org/archive/html/emacs-devel/2011-05/msg00257.html>.
532
533 2011-05-07  Bruno Haible  <bruno@clisp.org>
534
535         fclose: Simplify autoconf macro.
536         * m4/fclose.m4 (gl_FUNC_FCLOSE): Assume gl_FUNC_FFLUSH_STDIN is
537         defined.
538
539 2011-05-07  Bruno Haible  <bruno@clisp.org>
540
541         canonicalize-lgpl: Fix autoconf macro ordering bug.
542         * m4/canonicalize.m4 (gl_CANONICALIZE_LGPL): Require
543         gl_STDLIB_H_DEFAULTS.
544
545 2011-05-06  Eric Blake  <eblake@redhat.com>
546
547         maintainer-makefile: make sc_po_check easier to tune
548         * top/maint.mk (sc_po_check): Allow overriding which non-VC files
549         to probe for strings, such as an alternate location for gnulib.
550
551         fclose: guarantee behavior on seekable stdin
552         * modules/fclose (Depends-on): Add fflush.
553         * doc/posix-functions/fclose.texi (fclose): Document this.
554         * tests/test-fclose.c (main): Make test for this unconditional.
555
556 2011-05-06  Bruno Haible  <bruno@clisp.org>
557
558         fflush, fpurge: Relicense under LGPLv2+.
559         * modules/fflush (License): Change from LGPLv3+ to LGPLv2+.
560         * modules/fpurge (License): Likewise.
561         With permission from Eric Blake and Jim Meyering.
562         Suggested by Eric Blake.
563
564 2011-05-06  Karl Berry  <karl@gnu.org>
565
566         * MODULES.html.sh (func_all_modules): remove exit.
567
568 2011-05-06  Jim Meyering  <meyering@redhat.com>
569
570         maint.mk: use info-gnu@ as the default only for a stable release
571         * top/maint.mk: Don't default to info-gnu for alpha or beta releases.
572         For those, just use $(PACKAGE_BUGREPORT), in which case we don't have
573         to set the Mail-Followup-To header.  Prompted by Reuben Thomas in
574         http://thread.gmane.org/gmane.comp.lib.gnulib.bugs/26488
575
576 2011-05-05  Paul Eggert  <eggert@cs.ucla.edu>
577
578         assert-h: new module, which supports C1X-style static_assert
579         * lib/assert.in.h, m4/assert_h.m4, modules/assert-h: New files.
580         * lib/verify.h: Revamp so that this can be copied into assert.h,
581         while retaining the ability to use it standalone as before.
582         Rename private identifiers so as not to encroach on the
583         standard C namespace, since this is now used by assert.h.
584         (_GL_VERIFY_TYPE): New macro, factoring out differing parts of
585         the old verify_true.
586         (_GL_VERIFY_TRUE): New macro, with much of the contents of
587         the old verify_true.  Use _GL_VERIFY_TYPE.
588         (_GL_VERIFY): New macro, with much of the contents of the old verify.
589         (static_assert): New macro, if _GL_STATIC_ASSERT_H
590         is defined and static_assert is not; _GL_STATIC_ASSERT_H is
591         defined when this file is copied into the replacement assert.h.
592         (_Static_assert): New macro, if _GL_STATIC_ASSERT_H is defined
593         and _Static_assert is not built in.
594         (verify_true, verify): Define only if _GL_STATIC_ASSERT_H is not
595         defined, and use the new macros mentioned above.
596         * doc/posix-headers/assert.texi: Document this.
597
598 2011-05-05  Bruno Haible  <bruno@clisp.org>
599
600         fclose, fflush: Respect rules for use of AC_LIBOBJ.
601         * m4/fflush.m4 (gl_FUNC_FFLUSH): Don't invoke gl_REPLACE_FCLOSE.
602         * m4/fclose.m4 (gl_FUNC_FCLOSE): Invoke gl_FUNC_FFLUSH_STDIN and
603         gl_REPLACE_FCLOSE here.
604         * modules/fflush (Depends-on): Remove fclose.
605         * doc/posix-functions/fclose.texi: Mention module 'fflush' only in
606         combination with module 'fclose'.
607
608 2011-05-05  Bruno Haible  <bruno@clisp.org>
609
610         fflush, fseeko: Respect rules for use of AC_LIBOBJ.
611         * m4/fflush.m4 (gl_FUNC_FFLUSH_STDIN): New macro, extracted from
612         gl_FUNC_FFLUSH.
613         (gl_FUNC_FFLUSH): Use it.
614         (gl_REPLACE_FFLUSH): Don't invoke gl_REPLACE_FSEEKO.
615         * m4/fseeko.m4 (gl_FUNC_FSEEKO): Invoke gl_FUNC_FFLUSH_STDIN and
616         gl_REPLACE_FSEEKO here.
617
618 2011-05-05  Bruno Haible  <bruno@clisp.org>
619
620         tzset: Relicense under LGPL.
621         * modules/tzset (License): Change to LGPL.
622         No agreement needed; it's a no-op.
623
624         strtoimax, strtoumax: Relicense under LGPL.
625         * modules/strtoimax (License): Change to LGPL.
626         * modules/strtoumax (License): Likewise.
627         With permission from Jim Meyering, Paul Eggert:
628         <http://lists.gnu.org/archive/html/bug-gnulib/2011-05/msg00124.html>
629         <http://lists.gnu.org/archive/html/bug-gnulib/2011-05/msg00109.html>
630
631         getgroups: Relicense under LGPL.
632         * modules/getgroups (License): Change to LGPL.
633         With permission from Jim Meyering, Paul Eggert, Eric Blake:
634         <http://lists.gnu.org/archive/html/bug-gnulib/2011-05/msg00111.html>
635         <http://lists.gnu.org/archive/html/bug-gnulib/2011-05/msg00148.html>
636         <http://lists.gnu.org/archive/html/bug-gnulib/2011-05/msg00138.html>
637
638         nanosleep: Relicense under LGPL.
639         * modules/nanosleep (License): Change to LGPL.
640         With permission from Jim Meyering, Paul Eggert, Eric Blake, Bruno
641         Haible:
642         <http://lists.gnu.org/archive/html/bug-gnulib/2011-05/msg00111.html>
643         <http://lists.gnu.org/archive/html/bug-gnulib/2011-05/msg00148.html>
644         <http://lists.gnu.org/archive/html/bug-gnulib/2011-05/msg00138.html>
645         <http://lists.gnu.org/archive/html/bug-gnulib/2011-05/msg00131.html>
646
647         futimens: Relicense under LGPL.
648         * modules/futimens (License): Change to LGPL.
649         With permission from Eric Blake:
650         <http://lists.gnu.org/archive/html/bug-gnulib/2011-05/msg00138.html>
651
652         fflush: Relicense under LGPL.
653         * modules/fflush (License): Change to LGPL.
654         With permission from Eric Blake, Bruno Haible, Jim Meyering:
655         <http://lists.gnu.org/archive/html/bug-gnulib/2011-05/msg00138.html>
656         <http://lists.gnu.org/archive/html/bug-gnulib/2011-05/msg00131.html>
657         <http://lists.gnu.org/archive/html/bug-gnulib/2011-05/msg00133.html>
658
659         tmpfile: Relicense under LGPL.
660         * modules/tmpfile (License): Change to LGPL.
661         With permission from Ben Pfaff:
662         <http://lists.gnu.org/archive/html/bug-gnulib/2010-12/msg00185.html>
663
664         isfinite: Relicense under LGPL.
665         * modules/isfinite (License): Change to LGPL.
666         With permission from Ben Pfaff, Bruno Haible:
667         <http://lists.gnu.org/archive/html/bug-gnulib/2010-12/msg00185.html>
668         <http://lists.gnu.org/archive/html/bug-gnulib/2011-05/msg00130.html>
669
670         acosl..tanl: Relicense under LGPL.
671         * modules/acosl (License): Change to LGPL.
672         * modules/asinl (License): Likewise.
673         * modules/atanl (License): Likewise.
674         * modules/cosl (License): Likewise.
675         * modules/expl (License): Likewise.
676         * modules/logl (License): Likewise.
677         * modules/sinl (License): Likewise.
678         * modules/sqrtl (License): Likewise.
679         * modules/tanl (License): Likewise.
680         Source code originally from glibc and Paolo Bonzini. Agreements:
681         <http://lists.gnu.org/archive/html/bug-gnulib/2011-05/msg00137.html>
682         <http://lists.gnu.org/archive/html/bug-gnulib/2011-05/msg00128.html>
683
684 2011-05-05  Bruno Haible  <bruno@clisp.org>
685
686         signal: Define sighandler_t.
687         * lib/signal.in.h (sighandler_t): New type.
688         * m4/signal_h.m4 (gl_SIGNAL_H): Require AC_USE_SYSTEM_EXTENSIONS. Test
689         whether sighandler_t is defined.
690         (gl_SIGNAL_H_DEFAULTS): Initialize HAVE_SIGHANDLER_T.
691         * modules/signal (Depends-on): Add extensions.
692         (Makefile.am): Substitute HAVE_SIGHANDLER_T.
693         * doc/posix-headers/signal.texi: Mention the problem with sighandler_t.
694         Suggested by Markus Steinborn <gnugv_maintainer@yahoo.de>.
695
696 2011-05-05  Eric Blake  <eblake@redhat.com>
697
698         maint: remove useless REPLACE_*_H macros
699         * m4/arpa_inet_h.m4 (gl_REPLACE_ARPA_INET_H): Delete.
700         * m4/dirent_h.m4 (gl_REPLACE_DIRENT_H): Likewise.
701         * m4/locale_h.m4 (gl_REPLACE_LOCALE_H): Likewise.
702         * m4/poll_h.m4 (gl_REPLACE_POLL_H): Likewise.
703         * m4/spawn_h.m4 (gl_REPLACE_SPAWN_H): Likewise.
704         * m4/sys_ioctl_h.m4 (gl_REPLACE_SYS_IOCTL_H): Likewise.
705         * m4/wchar_h.m4 (gl_REPLACE_WCHAR_H): Likewise.
706         * m4/btowc.m4: Update callers.
707         * m4/dirfd.m4: Likewise.
708         * m4/duplocale.m4: Likewise.
709         * m4/fchdir.m4: Likewise.
710         * m4/fdopendir.m4: Likewise.
711         * m4/inet_ntop.m4: Likewise.
712         * m4/inet_pton.m4: Likewise.
713         * m4/ioctl.m4: Likewise.
714         * m4/mbrlen.m4: Likewise.
715         * m4/mbrtowc.m4: Likewise.
716         * m4/mbsinit.m4: Likewise.
717         * m4/mbsnrtowcs.m4: Likewise.
718         * m4/mbsrtowcs.m4: Likewise.
719         * m4/poll.m4: Likewise.
720         * m4/setlocale.m4: Likewise.
721         * m4/wcrtomb.m4: Likewise.
722         * m4/wcsnrtombs.m4: Likewise.
723         * m4/wcsrtombs.m4: Likewise.
724         * m4/wctob.m4: Likewise.
725         * m4/wcwidth.m4: Likewise.
726         * modules/posix_spawn: Likewise.
727         * modules/posix_spawn_file_actions_addclose: Likewise.
728         * modules/posix_spawn_file_actions_adddup2: Likewise.
729         * modules/posix_spawn_file_actions_addopen: Likewise.
730         * modules/posix_spawn_file_actions_destroy: Likewise.
731         * modules/posix_spawn_file_actions_init: Likewise.
732         * modules/posix_spawnattr_destroy: Likewise.
733         * modules/posix_spawnattr_getflags: Likewise.
734         * modules/posix_spawnattr_getpgroup: Likewise.
735         * modules/posix_spawnattr_getschedparam: Likewise.
736         * modules/posix_spawnattr_getschedpolicy: Likewise.
737         * modules/posix_spawnattr_getsigdefault: Likewise.
738         * modules/posix_spawnattr_getsigmask: Likewise.
739         * modules/posix_spawnattr_init: Likewise.
740         * modules/posix_spawnattr_setflags: Likewise.
741         * modules/posix_spawnattr_setpgroup: Likewise.
742         * modules/posix_spawnattr_setschedparam: Likewise.
743         * modules/posix_spawnattr_setschedpolicy: Likewise.
744         * modules/posix_spawnattr_setsigdefault: Likewise.
745         * modules/posix_spawnattr_setsigmask: Likewise.
746         * modules/posix_spawnp: Likewise.
747
748 2011-05-04  Reuben Thomas  <rrt@sc3d.org>
749
750         Add option to do-release-commit-and-tag to specify branch.
751         * build-aux/do-release-commit-and-tag: Add --branch.
752
753 2011-05-03  Bruno Haible  <bruno@clisp.org>
754
755         Avoid unnecessary compilation units, through conditional dependencies.
756         * modules/accept (Depends-on): Add conditions to the dependencies.
757         * modules/acosl (Depends-on): Likewise.
758         * modules/argz (Depends-on): Likewise.
759         * modules/asinl (Depends-on): Likewise.
760         * modules/atanl (Depends-on): Likewise.
761         * modules/atoll (Depends-on): Likewise.
762         * modules/bind (Depends-on): Likewise.
763         * modules/btowc (Depends-on): Likewise.
764         * modules/canonicalize-lgpl (Depends-on): Likewise.
765         * modules/ceil (Depends-on): Likewise.
766         * modules/ceilf (Depends-on): Likewise.
767         * modules/ceill (Depends-on): Likewise.
768         * modules/chdir-long (Depends-on): Likewise.
769         * modules/chown (Depends-on): Likewise.
770         * modules/close (Depends-on): Likewise.
771         * modules/connect (Depends-on): Likewise.
772         * modules/cosl (Depends-on): Likewise.
773         * modules/dirfd (Depends-on): Likewise.
774         * modules/dprintf (Depends-on): Likewise.
775         * modules/dprintf-posix (Depends-on): Likewise.
776         * modules/error (Depends-on): Likewise.
777         * modules/euidaccess (Depends-on): Likewise.
778         * modules/expl (Depends-on): Likewise.
779         * modules/faccessat (Depends-on): Likewise.
780         * modules/fchdir (Depends-on): Likewise.
781         * modules/fclose (Depends-on): Likewise.
782         * modules/fcntl (Depends-on): Likewise.
783         * modules/fdopendir (Depends-on): Likewise.
784         * modules/fflush (Depends-on): Likewise.
785         * modules/floor (Depends-on): Likewise.
786         * modules/floorf (Depends-on): Likewise.
787         * modules/floorl (Depends-on): Likewise.
788         * modules/fnmatch (Depends-on): Likewise.
789         * modules/fopen (Depends-on): Likewise.
790         * modules/fprintf-posix (Depends-on): Likewise.
791         * modules/frexp (Depends-on): Likewise.
792         * modules/frexp-nolibm (Depends-on): Likewise.
793         * modules/frexpl (Depends-on): Likewise.
794         * modules/frexpl-nolibm (Depends-on): Likewise.
795         * modules/fseek (Depends-on): Likewise.
796         * modules/fsusage (Depends-on): Likewise.
797         * modules/ftell (Depends-on): Likewise.
798         * modules/ftello (Depends-on): Likewise.
799         * modules/futimens (Depends-on): Likewise.
800         * modules/getcwd (Depends-on): Likewise.
801         * modules/getcwd-lgpl (Depends-on): Likewise.
802         * modules/getdelim (Depends-on): Likewise.
803         * modules/getdomainname (Depends-on): Likewise.
804         * modules/getgroups (Depends-on): Likewise.
805         * modules/gethostname (Depends-on): Likewise.
806         * modules/getline (Depends-on): Likewise.
807         * modules/getlogin_r (Depends-on): Likewise.
808         * modules/getopt-posix (Depends-on): Likewise.
809         * modules/getpeername (Depends-on): Likewise.
810         * modules/getsockname (Depends-on): Likewise.
811         * modules/getsockopt (Depends-on): Likewise.
812         * modules/getsubopt (Depends-on): Likewise.
813         * modules/getusershell (Depends-on): Likewise.
814         * modules/glob (Depends-on): Likewise.
815         * modules/grantpt (Depends-on): Likewise.
816         * modules/iconv_open (Depends-on): Likewise.
817         * modules/iconv_open-utf (Depends-on): Likewise.
818         * modules/inet_ntop (Depends-on): Likewise.
819         * modules/inet_pton (Depends-on): Likewise.
820         * modules/ioctl (Depends-on): Likewise.
821         * modules/isapipe (Depends-on): Likewise.
822         * modules/isfinite (Depends-on): Likewise.
823         * modules/isinf (Depends-on): Likewise.
824         * modules/lchown (Depends-on): Likewise.
825         * modules/ldexpl (Depends-on): Likewise.
826         * modules/link (Depends-on): Likewise.
827         * modules/linkat (Depends-on): Likewise.
828         * modules/listen (Depends-on): Likewise.
829         * modules/logl (Depends-on): Likewise.
830         * modules/lstat (Depends-on): Likewise.
831         * modules/mbrlen (Depends-on): Likewise.
832         * modules/mbrtowc (Depends-on): Likewise.
833         * modules/mbsinit (Depends-on): Likewise.
834         * modules/mbsnrtowcs (Depends-on): Likewise.
835         * modules/mbsrtowcs (Depends-on): Likewise.
836         * modules/mbtowc (Depends-on): Likewise.
837         * modules/memcmp (Depends-on): Likewise.
838         * modules/mkdir (Depends-on): Likewise.
839         * modules/mkdtemp (Depends-on): Likewise.
840         * modules/mkfifo (Depends-on): Likewise.
841         * modules/mkfifoat (Depends-on): Likewise.
842         * modules/mknod (Depends-on): Likewise.
843         * modules/mkostemp (Depends-on): Likewise.
844         * modules/mkostemps (Depends-on): Likewise.
845         * modules/mkstemp (Depends-on): Likewise.
846         * modules/mkstemps (Depends-on): Likewise.
847         * modules/mktime (Depends-on): Likewise.
848         * modules/nanosleep (Depends-on): Likewise.
849         * modules/open (Depends-on): Likewise.
850         * modules/openat (Depends-on): Likewise.
851         * modules/perror (Depends-on): Likewise.
852         * modules/poll (Depends-on): Likewise.
853         * modules/popen (Depends-on): Likewise.
854         * modules/posix_spawn (Depends-on): Likewise.
855         * modules/posix_spawn_file_actions_addclose (Depends-on): Likewise.
856         * modules/posix_spawn_file_actions_adddup2 (Depends-on): Likewise.
857         * modules/posix_spawn_file_actions_addopen (Depends-on): Likewise.
858         * modules/posix_spawnp (Depends-on): Likewise.
859         * modules/pread (Depends-on): Likewise.
860         * modules/printf-posix (Depends-on): Likewise.
861         * modules/ptsname (Depends-on): Likewise.
862         * modules/putenv (Depends-on): Likewise.
863         * modules/pwrite (Depends-on): Likewise.
864         * modules/readline (Depends-on): Likewise.
865         * modules/readlink (Depends-on): Likewise.
866         * modules/readlinkat (Depends-on): Likewise.
867         * modules/recv (Depends-on): Likewise.
868         * modules/recvfrom (Depends-on): Likewise.
869         * modules/regex (Depends-on): Likewise.
870         * modules/remove (Depends-on): Likewise.
871         * modules/rename (Depends-on): Likewise.
872         * modules/renameat (Depends-on): Likewise.
873         * modules/rmdir (Depends-on): Likewise.
874         * modules/round (Depends-on): Likewise.
875         * modules/roundf (Depends-on): Likewise.
876         * modules/roundl (Depends-on): Likewise.
877         * modules/rpmatch (Depends-on): Likewise.
878         * modules/select (Depends-on): Likewise.
879         * modules/send (Depends-on): Likewise.
880         * modules/sendto (Depends-on): Likewise.
881         * modules/setenv (Depends-on): Likewise.
882         * modules/setlocale (Depends-on): Likewise.
883         * modules/setsockopt (Depends-on): Likewise.
884         * modules/shutdown (Depends-on): Likewise.
885         * modules/sigaction (Depends-on): Likewise.
886         * modules/signbit (Depends-on): Likewise.
887         * modules/sigprocmask (Depends-on): Likewise.
888         * modules/sinl (Depends-on): Likewise.
889         * modules/sleep (Depends-on): Likewise.
890         * modules/snprintf (Depends-on): Likewise.
891         * modules/snprintf-posix (Depends-on): Likewise.
892         * modules/socket (Depends-on): Likewise.
893         * modules/sprintf-posix (Depends-on): Likewise.
894         * modules/sqrtl (Depends-on): Likewise.
895         * modules/stat (Depends-on): Likewise.
896         * modules/strchrnul (Depends-on): Likewise.
897         * modules/strdup-posix (Depends-on): Likewise.
898         * modules/strerror (Depends-on): Likewise.
899         * modules/strerror_r-posix (Depends-on): Likewise.
900         * modules/strndup (Depends-on): Likewise.
901         * modules/strnlen (Depends-on): Likewise.
902         * modules/strptime (Depends-on): Likewise.
903         * modules/strsep (Depends-on): Likewise.
904         * modules/strsignal (Depends-on): Likewise.
905         * modules/strstr-simple (Depends-on): Likewise.
906         * modules/strtod (Depends-on): Likewise.
907         * modules/strtoimax (Depends-on): Likewise.
908         * modules/strtok_r (Depends-on): Likewise.
909         * modules/strtoumax (Depends-on): Likewise.
910         * modules/symlink (Depends-on): Likewise.
911         * modules/symlinkat (Depends-on): Likewise.
912         * modules/tanl (Depends-on): Likewise.
913         * modules/tcgetsid (Depends-on): Likewise.
914         * modules/tmpfile (Depends-on): Likewise.
915         * modules/trunc (Depends-on): Likewise.
916         * modules/truncf (Depends-on): Likewise.
917         * modules/truncl (Depends-on): Likewise.
918         * modules/uname (Depends-on): Likewise.
919         * modules/unlink (Depends-on): Likewise.
920         * modules/unlockpt (Depends-on): Likewise.
921         * modules/unsetenv (Depends-on): Likewise.
922         * modules/usleep (Depends-on): Likewise.
923         * modules/utimensat (Depends-on): Likewise.
924         * modules/vasprintf (Depends-on): Likewise.
925         * modules/vdprintf (Depends-on): Likewise.
926         * modules/vdprintf-posix (Depends-on): Likewise.
927         * modules/vfprintf-posix (Depends-on): Likewise.
928         * modules/vprintf-posix (Depends-on): Likewise.
929         * modules/vsnprintf (Depends-on): Likewise.
930         * modules/vsnprintf-posix (Depends-on): Likewise.
931         * modules/vsprintf-posix (Depends-on): Likewise.
932         * modules/wcrtomb (Depends-on): Likewise.
933         * modules/wcscasecmp (Depends-on): Likewise.
934         * modules/wcscspn (Depends-on): Likewise.
935         * modules/wcsdup (Depends-on): Likewise.
936         * modules/wcsncasecmp (Depends-on): Likewise.
937         * modules/wcsnrtombs (Depends-on): Likewise.
938         * modules/wcspbrk (Depends-on): Likewise.
939         * modules/wcsrtombs (Depends-on): Likewise.
940         * modules/wcsspn (Depends-on): Likewise.
941         * modules/wcsstr (Depends-on): Likewise.
942         * modules/wcstok (Depends-on): Likewise.
943         * modules/wcswidth (Depends-on): Likewise.
944         * modules/wctob (Depends-on): Likewise.
945         * modules/wctomb (Depends-on): Likewise.
946         * modules/wctype (Depends-on): Likewise.
947         * modules/wcwidth (Depends-on): Likewise.
948         * modules/write (Depends-on): Likewise.
949
950 2011-05-03  Bruno Haible  <bruno@clisp.org>
951
952         Support for conditional dependencies.
953         * doc/gnulib.texi (Module description): Document the syntax of
954         conditional dependencies.
955         * gnulib-tool: New option --conditional-dependencies.
956         (func_usage): Document it.
957         (cond_dependencies): New variable.
958         (func_get_automake_snippet_conditional,
959         func_get_automake_snippet_unconditional): New functions, extracted from
960         func_get_automake_snippet.
961         (func_get_automake_snippet): Use them.
962         (sed_first_32_chars): New variable.
963         (func_module_shellfunc_name): New function.
964         (func_module_shellvar_name): New function.
965         (func_module_conditional_name): New function.
966         (func_uncond_add_module, func_conddep_add_module, func_cond_module_p,
967         func_cond_module_condition): New functions.
968         (func_modules_transitive_closure): Add support for conditional
969         dependencies.
970         (func_emit_lib_Makefile_am): For a conditional module, enclose the
971         conditional automake snippet in an automake conditional.
972         (func_emit_autoconf_snippets): Emit shell functions that contain the
973         code for conditional modules.
974         (func_import, func_create_testdir): Update specification.
975
976 2011-05-03  Eric Blake  <eblake@redhat.com>
977
978         test-getaddrinfo: report error information
979         * tests/test-getaddrinfo.c (simple): Use err outside of dbprintf.
980
981 2011-05-03  Jim Meyering  <meyering@redhat.com>
982
983         bootstrap: avoid build failure when $GZIP is set
984         * build-aux/bootstrap (check_versions): Do not treat $GZIP as a
985         program name.  If defined at all, it is supposed to list gzip options.
986         Reported by Alan Curry in http://debbugs.gnu.org/8609
987
988 2011-05-03  Reuben Thomas  <rrt@sc3d.org>
989
990         readme-release: new module with release instructions
991         * modules/readme-release: New module.
992         * top/README-release: New file, from coreutils, grep, diffutils.
993         * MODULES.html.sh (Support for maintaining and releasing): Add it.
994
995 2011-05-02  Eric Blake  <eblake@redhat.com>
996
997         fflush: also replace fclose when fixing fflush
998         * modules/fflush (Depends-on): Add fclose.
999         * m4/fflush.m4 (gl_FUNC_FFLUSH): Also replace fclose.
1000         * lib/fclose.c (rpl_fclose): Don't cause spurious failures on
1001         memstreams with no backing fd.
1002         * doc/posix-functions/fclose.texi (fclose): Document the use of
1003         fflush module to fix the bug.
1004         * tests/test-fclose.c (main): Relax test when fclose is used in
1005         isolation.
1006
1007         fclose: add some tests
1008         * modules/fclose-tests: New test module.
1009         * tests/test-fclose.c: New file.
1010         * doc/posix-functions/fclose.texi (fclose): Document the bug.
1011
1012         fclose: reduced dependencies
1013         * modules/fclose (Depends-on): Switch from fflush/fseeko to
1014         simpler lseek.
1015         * lib/fclose.c (rpl_fclose): Likewise.
1016         Reported by Simon Josefsson.
1017
1018         exit: drop remaining clients
1019         * modules/argmatch (Depends-on): Replace exit with stdlib.
1020         * modules/copy-file (Depends-on): Likewise.
1021         * modules/execute (Depends-on): Likewise.
1022         * modules/exitfail (Depends-on): Likewise.
1023         * modules/obstack (Depends-on): Likewise.
1024         * modules/pagealign_alloc (Depends-on): Likewise.
1025         * modules/pipe-filter-gi (Depends-on): Likewise.
1026         * modules/pipe-filter-ii (Depends-on): Likewise.
1027         * modules/savewd (Depends-on): Likewise.
1028         * modules/spawn-pipe (Depends-on): Likewise.
1029         * modules/wait-process (Depends-on): Likewise.
1030         * modules/xsetenv (Depends-on): Likewise.
1031         * modules/chdir-long (Depends-on): Add stdlib, for EXIT_FAILURE.
1032         * modules/git-merge-changelog (Depends-on): Likewise.
1033         * modules/long-options (Depends-on): Likewise.
1034         * modules/pt_chown (Depends-on): Likewise.
1035         * modules/sysexits (Depends-on): Likewise.
1036
1037         freading: relax license from LGPLv3+ to LGPLv2+
1038         * modules/freading (License): Relax LGPL version.
1039
1040 2011-05-02  Bruno Haible  <bruno@clisp.org>
1041
1042         fchdir: Remove unused dependencies.
1043         * modules/fchdir (Depends-on): Remove include_next.
1044
1045 2011-05-02  Bruno Haible  <bruno@clisp.org>
1046
1047         gnulib-tool: Refactor.
1048         * gnulib-tool (func_emit_autoconf_snippet): New function, extracted
1049         from func_emit_autoconf_snippets.
1050         (func_emit_autoconf_snippets): Use it.
1051
1052 2011-05-02  Simon Josefsson  <simon@josefsson.org>
1053
1054         * NEWS: Document removal of 'exit'.
1055         * modules/exit: Remove file.
1056
1057 2011-05-01  Bruno Haible  <bruno@clisp.org>
1058
1059         Update DEPENDENCIES.
1060         * DEPENDENCIES (gettext): Recommend the newest release.
1061         Reported by Simon Josefsson.
1062
1063 2011-05-01  Bruno Haible  <bruno@clisp.org>
1064
1065         gnulib-tool: Reduce code duplication.
1066         * gnulib-tool (func_emit_autoconf_snippets): New function.
1067         (func_import, func_create_testdir): Use it.
1068
1069 2011-04-30  Eric Blake  <eblake@redhat.com>
1070
1071         fclose: don't fail on non-seekable input stream
1072         * modules/fclose (Depends-on): Add freading, fflush, fseeko.
1073         * lib/fclose.c (rpl_fclose): Skip fflush for non-seekable input,
1074         since fflush is allowed to fail in that case.
1075
1076 2011-04-30  Bruno Haible  <bruno@clisp.org>
1077
1078         dup3: cleanup
1079         * lib/dup3.c: Remove old code, leftover from 2009-12-16.
1080
1081 2011-04-30  Bruno Haible  <bruno@clisp.org>
1082
1083         netdb: Make it work in C++ mode.
1084         * lib/netdb.in.h (struct addrinfo): In C++, define as a C struct.
1085         (getaddrinfo, freeaddrinfo, getnameinfo): Use macros from c++defs
1086         module.
1087         * m4/netdb_h.m4 (gl_NETDB_MODULE_INDICATOR): Invoke
1088         gl_MODULE_INDICATOR_FOR_TESTS.
1089         * modules/netdb-tests (Depends-on): Add netdb-c++-tests.
1090         * modules/netdb-c++-tests: New file.
1091         * tests/test-netdb-c++.cc: New file.
1092
1093 2011-04-30  Bruno Haible  <bruno@clisp.org>
1094
1095         New modules 'vfscanf', 'vscanf'.
1096         * modules/vfscanf: New file.
1097         * modules/vscanf: New file.
1098         * m4/stdio_h.m4 (gl_STDIO_H): Don't set GNULIB_VFSCANF, GNULIB_VSCANF
1099         here.
1100         * doc/posix-functions/vfscanf.texi: Mention module 'vfscanf'.
1101         * doc/posix-functions/vscanf.texi: Mention module 'vscanf'.
1102
1103 2011-04-30  Bruno Haible  <bruno@clisp.org>
1104
1105         passfd: Add comments.
1106         * lib/passfd.c: Add comments about platforms.
1107
1108 2011-04-30  Bruno Haible  <bruno@clisp.org>
1109
1110         sys_uio: Make <sys/uio.h> self-contained.
1111         * lib/sys_uio.in.h: Include <sys/types.h> before <sys/uio.h>.
1112         * doc/posix-headers/sys_uio.texi: Mention the OpenBSD problem.
1113
1114 2011-04-30  Bruno Haible  <bruno@clisp.org>
1115
1116         sys_socket: Ensure 'struct iovec' definition.
1117         * lib/sys_socket.in.h: Include <sys/uio.h> also on platforms that have
1118         <sys/socket.h>.
1119         * doc/posix-headers/sys_socket.texi: Mention the OpenBSD problem.
1120
1121 2011-04-30  Bruno Haible  <bruno@clisp.org>
1122
1123         sys_uio: Protect definition of 'struct iovec'.
1124         * lib/sys_uio.in.h (struct iovec): Avoid redefinition. In C++, define
1125         it as a C struct.
1126
1127 2011-04-30  Bruno Haible  <bruno@clisp.org>
1128
1129         manywarnings: fix indentation
1130         * m4/manywarnings.m4: Indent by 2 spaces consistently.
1131
1132 2011-04-30  Pádraig Brady <P@draigBrady.com>
1133
1134         manywarnings: add -Wno-missing-field-initializers if needed.
1135         * m4/manywarnings.m4 (gl_MANYWARN_ALL_GCC): Add the above
1136         option if it's needed to allow initialization with { 0, }
1137
1138 2011-04-29  Reuben Thomas  <rrt@sc3d.org>
1139
1140         announce-gen: cosmetic improvement
1141         * build-aux/announce-gen: Strip any leading ./ from the NEWS file name.
1142
1143 2011-04-29  Jim Meyering  <meyering@redhat.com>
1144
1145         vc-list-files: indent with spaces, not TABs
1146         * build-aux/vc-list-files: Convert leading TABs to spaces,
1147         to match the style of most other files in gnulib.
1148
1149         announce-gen: indent with spaces, not TABs
1150         * build-aux/announce-gen: Convert all TABs to spaces, to match
1151         the style of most other files in gnulib.
1152
1153 2011-04-29  Eric Blake  <eblake@redhat.com>
1154
1155         quotearg: avoid uninitialized variable use
1156         * lib/quotearg.c (quoting_options_from_style): Initialize
1157         remaining fields, and ensure that custom styles are only used via
1158         quoting_options rather than quoting_style.
1159
1160 2011-04-29  Jim Meyering  <meyering@redhat.com>
1161
1162         maint.mk: remove unused VC-tag variable
1163         * top/maint.mk (VC-tag): Remove unused variable.
1164
1165 2011-04-29  Bruno Haible  <bruno@clisp.org>
1166
1167         netdb: fix gai_strerror replacements
1168         * lib/netdb.in.h: Add _GL_FUNCDECL_RPL definitions.
1169         * modules/netdb: Substitute it.
1170
1171 2011-04-29  Jim Meyering  <meyering@redhat.com>
1172
1173         test-getcwd.c: avoid new set-but-not-used warning
1174         * tests/test-getcwd.c (test_abort_bug): Exit nonzero for any problem,
1175         not just the glibc/abort one that getcwd-abort-bug.m4 detects.
1176         * m4/getcwd-abort-bug.m4: Update this now-duplicated code to match,
1177         and adjust the code that sets gl_cv_func_getcwd_abort_bug accordingly.
1178
1179         test-hash.c: avoid a new shadowing warning
1180         * tests/test-hash.c (main): Don't shadow "dup".
1181
1182 2011-04-28  Eric Blake  <eblake@redhat.com>
1183
1184         getaddrinfo: fix gai_strerror signature
1185         * m4/getaddrinfo.m4 (gl_GETADDRINFO): Detect broken signatures,
1186         and work around mingw with UNICODE defined.
1187         (gl_PREREQ_GETADDRINFO): Drop redundant decl check.
1188         * m4/netdb_h.m4 (gl_NETDB_H_DEFAULTS): Add witness.
1189         * modules/netdb (Makefile.am): Substitute it.
1190         * lib/netdb.in.h (gai_strerror): Declare replacement.
1191         * lib/gai_strerror.c (rpl_gai_strerror): Fix signature.
1192         * doc/posix-functions/gai_strerror.texi (gai_strerror): Document
1193         the fix.
1194
1195         getsockopt: avoid compiler warning
1196         * lib/getsockopt.c (rpl_getsockopt): Add a cast for mingw.
1197         Reported by Matthias Bolte.
1198
1199         tests: drop unused link dependency
1200         * modules/areadlinkat-tests (Makefile.am): Drop stale LDADD.
1201         * modules/dirent-safer-tests (Makefile.am): Likewise.
1202         * modules/fdopendir-tests (Makefile.am): Likewise.
1203         * modules/mkfifoat-tests (Makefile.am): Likewise.
1204         * modules/openat-safer-tests (Makefile.am): Likewise.
1205         * modules/openat-tests (Makefile.am): Likewise.
1206         * modules/readlinkat-tests (Makefile.am): Likewise.
1207         * modules/symlinkat-tests (Makefile.am): Likewise.
1208         * modules/linkat-tests (Makefile.am): Likewise.
1209         (Depends-on): Switch to filenamecat-lgpl.
1210         * modules/fdutimensat-tests (test_fdutimensat_LDADD): Drop unused
1211         LIBINTL.
1212         * modules/utimensat-tests (test_utimensat_LDADD): Likewise.
1213         * tests/test-linkat.c (main): Don't require xalloc.
1214
1215         hash, mgetgroups: drop xalloc dependency
1216         * lib/hash.c (includes): Adjust includes.
1217         * lib/mgetgroups.c (includes): Likewise.
1218         (xgetgroups): Move...
1219         * lib/xgetgroups.c: ...to new file.
1220         * lib/mgetgroups.h (xgetgroups): Make declaration conditional.
1221         * modules/xgetgroups: New file, split from...
1222         * modules/mgetgroups: ...here.
1223         (Depends-on): Add xalloc-oversized.
1224         * modules/hash (Depends-on): Likewise.
1225         * modules/hash-tests (Depends-on): Drop xalloc.
1226         (test_hash_LDADD): Drop unused library.
1227         * tests/test-hash.c (main): Break xalloc dependency.
1228         (includes): Drop unused include.
1229
1230         xalloc-oversized: new module
1231         * modules/xalloc-oversized: New module.
1232         * modules/xalloc (Depends-on): Add it.
1233         * lib/xalloc.h (xalloc_oversized): Move...
1234         * lib/xalloc-oversized.h: ...into new file.
1235
1236         utimecmp: drop dependency on xmalloc
1237         * lib/utimecmp.c (utimecmp): Work even if hash table cache fails
1238         due to memory pressure.
1239         * modules/utimecmp (Depends-on): Drop xalloc.
1240
1241 2011-04-27  Eric Blake  <eblake@redhat.com>
1242
1243         getcwd: fix mingw bugs
1244         * m4/getcwd.m4 (gl_FUNC_GETCWD_NULL): Detect one mingw bug.
1245         * doc/posix-functions/getcwd.texi (getcwd): Document the problems.
1246         * lib/getcwd-lgpl.c (rpl_getcwd): Fix return type.
1247
1248 2011-04-27  Bruno Haible  <bruno@clisp.org>
1249
1250         mkstemps: Ensure declaration on MacOS X 10.5.
1251         * lib/stdlib.in.h: Include <unistd.h> when mkstemps is requested.
1252         * doc/glibc-functions/mkstemps.texi: Document header file problem on
1253         MacOS X.
1254
1255 2011-04-27  Bruno Haible  <bruno@clisp.org>
1256
1257         mkstemp: More documentation.
1258         * doc/posix-functions/mkstemp.texi: Document header file problem on
1259         MacOS X.
1260
1261 2011-04-27  Bruno Haible  <bruno@clisp.org>
1262
1263         mkstemp: Tweak configure message when cross-compiling.
1264         * m4/mkstemp.m4 (gl_FUNC_MKSTEMP): When cross-compiling, qualify the
1265         result as a guess.
1266
1267 2011-04-27  Bruno Haible  <bruno@clisp.org>
1268
1269         clean-temp: Clarify what it does.
1270         * lib/clean-temp.h: Add more comments.
1271         * doc/posix-functions/mkstemp.texi: Tweak reference to 'clean-temp'
1272         module.
1273         * doc/glibc-functions/mkostemp.texi: Mention 'clean-temp' here too.
1274         * doc/glibc-functions/mkstemps.texi: Likewise.
1275         * doc/glibc-functions/mkostemps.texi: Likewise.
1276
1277 2011-04-27  Eric Blake  <eblake@redhat.com>
1278
1279         fchdir: avoid extra chdir and fix test
1280         * modules/fchdir (Depends-on): Add dosname, filenamecat-lgpl,
1281         getcwd-lgpl.
1282         * lib/fchdir.c (get_name): Any absolute name will do; it does not
1283         have to be canonical.
1284         (canonicalize_file_name): Drop unused macro.
1285         * m4/dup2.m4 (gl_REPLACE_DUP2): Ensure dup2 is replaced.
1286
1287         filenamecat-lgpl: fix licence
1288         * modules/filenamecat-lgpl (License): Mark as LGPLv2+, as intended
1289         when it was first created.
1290
1291         linkat, renameat: add missing dependency
1292         * modules/linkat (Depends-on): Require getcwd-lgpl.
1293         * modules/renameat (Depends-on): Likewise.
1294
1295         tests: reduce dependencies
1296         * tests/test-linkat.c (main): Use lighter-weight getcwd.
1297         * tests/test-renameat.c (main): Likewise.
1298         * modules/linkat-tests (Depends-on): Relax dependency.
1299         * modules/renameat-tests (Depends-on): Likewise.
1300         * modules/fchdir-tests (Depends-on): Likewise.  Also make cloexec
1301         dependency explicit.
1302
1303         save-cwd: reduce default dependency
1304         * modules/save-cwd (Depends-on): Use getcwd-lgpl.
1305         * lib/save-cwd.c: Update comments.
1306         * NEWS: Document the semantic change.
1307
1308         getcwd: enhance tests
1309         * tests/test-getcwd-lgpl.c: New file, taken from...
1310         * tests/test-getcwd.c: ...old contents.  Rewrite this file to
1311         repeat long path stress tests from m4 probe.
1312         * modules/getcwd-lgpl-tests: New module.
1313         * modules/getcwd-tests (Depends-on): Depend on lgpl tests.
1314         * m4/getcwd-abort-bug.m4: Update comment.
1315         * m4/getcwd-path-max.m4: Likewise.
1316
1317         getcwd-lgpl: new module
1318         * modules/getcwd-lgpl: New module.
1319         * lib/getcwd-lgpl.c: New file.
1320         * doc/posix-functions/getcwd.texi (getcwd): Document it.
1321         * MODULES.html.sh (lacking POSIX:2008): Likewise.
1322         * modules/getcwd (configure.ac): Set C witness.
1323         * m4/getcwd.m4 (gl_FUNC_GETCWD_LGPL): New macro.
1324
1325         getcwd: tweak comments
1326         * m4/getcwd-abort-bug.m4: Fix comments.
1327         * m4/getcwd-path-max.m4: Likewise.
1328         * m4/getcwd.m4: Likewise.
1329
1330 2011-04-27  Reuben Thomas  <rrt@sc3d.org>
1331         and Eric Blake  <eblake@redhat.com>
1332
1333         mkstemp: replace if system version uses wrong permissions
1334         * m4/mkstemp.m4 (gl_FUNC_MKSTEMP): Add test for non-owner
1335         read/write mode bits set in file created by mkstemp.
1336         * doc/posix-functions/mkstemp.texi (mkstemp): Document the fix.
1337
1338 2011-04-27  Eric Blake  <eblake@redhat.com>
1339
1340         passfd: avoid compiler warning
1341         * lib/passfd.c (sendfd, recvfd): Avoid shadowing names.
1342         Reported by Laine Stump.
1343
1344 2011-04-27  J.T. Conklin  <jtc@acorntoolworks.com>  (tiny change)
1345
1346         * gnulib-tool: change "join -a 2" to "join -a2", the latter is
1347         required by the NetBSD (and perhaps other 4.4BSD derived) join.
1348
1349 2011-04-27  Reuben Thomas  <rrt@sc3d.org>
1350         and Eric Blake  <eblake@redhat.com>
1351
1352         mkstemp: mention clean-temp module
1353         * lib/mkstemp.c: Add comment.
1354         * doc/posix-functions/mkstemp.texi (mkstemp): Likewise.
1355
1356 2011-04-26  Paul Eggert  <eggert@cs.ucla.edu>
1357
1358         inttypes: also provide default values for 32-bit tests
1359         * m4/inttypes.m4 (gl_INTTYPES_H_DEFAULTS): Also provide default values
1360         for INT32_MAX_LT_INTMAX_MAX and for UINT32_MAX_LT_UINTMAX_MAX.
1361
1362 2011-04-25  Paul Eggert  <eggert@cs.ucla.edu>
1363
1364         strtoumax: remove dependency on strtoimax
1365         This is like the strtoull change of yesterday.
1366         * modules/strtoumax (Files): Add lib/strtoimax.c.
1367         (Depends-on): Remove strtoimax and add verify.
1368
1369         inttypes-incomplete: new module
1370         * m4/inttypes.m4 (gl_INTTYPES_INCOMPLETE): New macro, containing
1371         all but the PRI* and SCN* parts of gl_INTTYPES_H.
1372         (gl_INTTYPES_PRI_SCN): New macro, containing the PRI* and SCN* parts
1373         of gl_INTTYPES_H.
1374         (gl_INTTYPES_H): Rewrite in terms of these new macros.
1375         (gl_INTTYPES_H_DEFAULTS): Provide defaults for the PRI* and SCN*
1376         parts, in case gl_INTTYPE_PRI_SCN is not invoked.
1377         * modules/imaxabs, modules/imaxdiv, modules/strtoimax (Depends-on):
1378         * modules/strtoumax, modules/xstrtol (Depends-on):
1379         Depend on inttypes-incomplete, not inttypes.
1380         * modules/inttypes-incomplete: New module, containing the contents
1381         of the old modules/inttypes module, except that the Files: section
1382         omits m4/inttypes-pri.m4, and the configure.ac section invokes
1383         gl_INTTYPES_INCOMPLETE rather than gl_INTTYPES_H.
1384         * modules/inttypes (Files): Remove lib/inttypes.in.h, m4/inttypes.m4.
1385         (Depends-on): Depend only on inttypes-incomplete.
1386         (Makefile.am): Remove everything; this is now in inttypes-incomplete.
1387
1388         inttypes: omit now-redundant strtoimax and strtoumax work
1389         * m4/inttypes.m4 (gl_INTTYPES_H): Do not check for strtoimax and
1390         strtoumax decls; gl_FUNC_STRTOIMAX and gl_FUNC_STRTOUMAX now do this.
1391
1392         strtoimax, strtoumax: simplify, port to HP-UX 11.00 64-bit
1393         This supports apps that need pointers to strtoimax and strtoumax,
1394         and ports to HP-UX 11.00 64.bit, which has macros that expand to
1395         nonexistent functions.  See
1396         <http://lists.gnu.org/archive/html/bug-gnulib/2011-04/msg00241.html>
1397         et seq.
1398         * lib/inttypes.in.h (strtoimax, strtoumax): #undef before declaring.
1399         * m4/strtoimax.m4 (gl_FUNC_STRTOIMAX): Don't check whether it's
1400         a macro.
1401         * m4/strtoumax.m4 (gl_FUNC_STRTOUMAX): Likewise.
1402
1403 2011-04-25  Simon Josefsson  <simon@josefsson.org>
1404
1405         * modules/gnumakefile (configure.ac): Replace TAB with SPCs.
1406
1407 2011-04-25  Bruno Haible  <bruno@clisp.org>
1408
1409         strtol, strtoul: Mark modules as obsolete.
1410         * modules/strtol (Status, Notice): New sections.
1411         * modules/strtoul (Status, Notice): New sections.
1412
1413 2011-04-25  Bruno Haible  <bruno@clisp.org>
1414
1415         strtod: Remove check for strtod, unless supporting old platforms.
1416         * modules/strtod-obsolete: New file.
1417         * m4/strtod-obsolete.m4: New file.
1418         * m4/strtod.m4 (gl_FUNC_STRTOD): Don't check whether strtod is declared
1419         if gl_FUNC_STRTOD_OBSOLETE is not also defined.
1420         * modules/strtod (Depends-on): Add strtod-obsolete.
1421         * doc/posix-functions/strtod.texi: Mention module strtod-obsolete.
1422
1423 2011-04-25  Bruno Haible  <bruno@clisp.org>
1424
1425         strcase: Make module obsolete.
1426         * modules/strcase (Status, Notice): New sections.
1427
1428 2011-04-25  Bruno Haible  <bruno@clisp.org>
1429
1430         dup2: Remove check for dup2, unless supporting old obsolete platforms.
1431         * modules/dup2-obsolete: New file.
1432         * m4/dup2-obsolete.m4: New file.
1433         * m4/dup2.m4 (gl_FUNC_DUP2): Don't check whether dup2 exists if
1434         gl_FUNC_DUP2_OBSOLETE is not also defined.
1435         * modules/dup2 (Depends-on): Add dup2-obsolete.
1436         * doc/posix-functions/dup2.texi: Mention module dup2-obsolete.
1437
1438 2011-04-25  Bruno Haible  <bruno@clisp.org>
1439
1440         strnlen: Avoid memchr related link error on old obsolete platforms.
1441         * modules/memchr-obsolete: New file.
1442         * m4/memchr-obsolete.m4: New file.
1443         * m4/memchr.m4 (gl_FUNC_MEMCHR): Don't check whether memchr exists if
1444         gl_FUNC_MEMCHR_OBSOLETE is not also defined.
1445         * modules/memchr (Depends-on): Add memchr-obsolete.
1446         * modules/strnlen (Depends-on): Likewise.
1447         * doc/posix-functions/memchr.texi: Mention module memchr-obsolete.
1448
1449 2011-04-25  Jim Meyering  <meyering@redhat.com>
1450
1451         maint.mk: makefile_at_at_check extend and clean up
1452         * top/maint.mk (sc_makefile_at_at_check): Check *.mk files
1453         in addition to */Makefile.am.
1454         Exempt legitimate uses of @VAR@ notation, e.g.,
1455         MAKEINFO = env LANG= LC_MESSAGES= LC_ALL= LANGUAGE= @MAKEINFO@
1456         Remove obsolete coreutils-specific comment.
1457         Prompted by discussion here:
1458         http://thread.gmane.org/gmane.comp.lib.gnulib.bugs/26074
1459
1460 2011-04-24  Paul Eggert  <eggert@cs.ucla.edu>
1461
1462         strtoul: remove dependency on strtol
1463         This is so that 'configure' need not check for strtol merely because
1464         the application needs strtoul.
1465         * modules/strtoul (Files): Add lib/strtol.c.
1466         (Depends-on): Remove strtol.
1467
1468         strtoull: remove dependency on strtoul
1469         This is like the strtoll change.
1470         * modules/strtoull (Files): Add lib/strtol.c, lib/strtoul.c.
1471         (Depends-on): Remove strtoul.
1472
1473         strtoll: remove dependency on strtol
1474         This is so that 'configure' need not check for strtol merely because
1475         the application needs strtoll.
1476         * modules/strtoll (Files): Add lib/strtol.c.
1477         (Depends-on): Remove strtol.
1478
1479 2011-04-22  Paul Eggert  <eggert@cs.ucla.edu>
1480
1481         inttypes: Move some configure check to module 'imaxdiv'.
1482         * m4/imaxdiv.m4 (gl_FUNC_IMAXDIV): Require gl_INTTYPES_H_DEFAULTS
1483         instead of gl_INTTYPES_H.  Check for imaxdiv decl here.
1484         * m4/inttypes.m4 (gl_INTTYPES_H): Don't check for imaxdiv decl here.
1485
1486 2011-04-22  Paul Eggert  <eggert@cs.ucla.edu>
1487
1488         inttypes: Move some configure check to module 'imaxabs'.
1489         * m4/imaxabs.m4 (gl_FUNC_IMAXABS): Require gl_INTTYPES_H_DEFAULTS
1490         instead of gl_INTTYPES_H.  Check for imaxabs decl here.
1491         * m4/inttypes.m4 (gl_INTTYPES_H): Don't check for imaxabs decl here.
1492
1493 2011-04-22  Paul Eggert  <eggert@cs.ucla.edu>
1494
1495         inttypes: Remove configure tests that are not needed since 2009-12-31.
1496         * m4/inttypes.m4 (gl_INTTYPES_H): Remove determination of
1497         gl_cv_header_working_inttypes_h.
1498
1499 2011-04-22  Paul Eggert  <eggert@cs.ucla.edu>
1500
1501         * modules/strnlen (Depends-on): Remove memchr.
1502         The strnlen implementation doesn't need the memchr module's fixes; see
1503         <http://lists.gnu.org/archive/html/bug-gnulib/2011-04/msg00237.html>.
1504
1505         strtol: remove dependency on wchar
1506         * lib/strtol.c: Include <wchar.h> only if USE_WIDE_CHAR is defined.
1507         * modules/strtol (Depends-on): Remove wchar.
1508
1509 2011-04-21  Eric Blake  <eblake@redhat.com>
1510
1511         passfd: fix test regression on Linux
1512         * modules/passfd-tests (configure.ac): Correct socketpair check.
1513
1514         passfd: speed up configure and drop unused code
1515         * m4/afunix.m4 (gl_SOCKET_AFUNIX): Rename...
1516         * m4/passfd.m4 (gl_PASSFD): ...to something more fitting of
1517         its use.  Drop test for setting unused HAVE_UNIXSOCKET_SCM_RIGHTS.
1518         Instead of probing at configure for unix_scm_rights_bsd44_way,
1519         instead probe for CMSG_FIRSTHDR at compile time.  Simplify BSD 4.3
1520         check to a struct member probe.
1521         * lib/passfd.c (includes): Nothing here requires <sys/un.h>.
1522         (sendfd, recvfd): Update preprocessor checks.
1523         * modules/passfd (Files): Reflect rename, and drop unused file.
1524         (Depends-on): Drop unused dependency.
1525
1526         passfd: allow compilation on mingw
1527         * modules/sys_socket (Depends-on): Add sys_uio.
1528         * lib/sys_socket.in.h [!@HAVE_SYS_SOCKET_H@]: Use it for struct
1529         iovec and a minimal struct msghdr.
1530         * m4/afunix.m4 (gl_SOCKET_AFUNIX): Detect recvmsg/sendmsg.
1531         * tests/test-sys_socket.c (main): Enhance test.
1532         * lib/passfd.c (include): Drop <sys/uio.h>; <sys/sockets.h> is
1533         guaranteed to provide what we need.
1534         (sendmsg, recvmsg): Declare fallbacks if we lack sendmsg.
1535         * modules/passfd-tests (Depends-on): Add sys_wait.
1536         * tests/test-passfd.c (main): Skip test on mingw, for now.
1537         * doc/posix-headers/sys_socket.texi (sys/socket.h): Document the
1538         partial 'struct msghdr' implementation.
1539
1540         sys_uio: new module
1541         * modules/sys_uio: New module.
1542         * modules/sys_uio-tests: Likewise.
1543         * lib/sys_uio.in.h: New file.
1544         * m4/sys_uio_h.m4: Likewise.
1545         * tests/test-sys_uio.c: Likewise.
1546         * doc/posix-headers/sys_uio.texi (sys/uio.h): Document it.
1547         * MODULES.html.sh (systems lacking POSIX:2008): Likewise.
1548
1549 2011-04-20  Jim Meyering  <meyering@redhat.com>
1550
1551         useless-if-before-free: avoid false-positive
1552         * build-aux/useless-if-before-free: Adjust regexp for the non-brace
1553         disjunct so that it too requires a terminating ";".  Without that,
1554         this script would identify as useless one statement from gcc that
1555         was not:
1556           if (aligned_ptr)
1557             free (((void **) aligned_ptr) [-1]);
1558
1559 2011-04-20  Giuseppe Scrivano  <gscrivano@gnu.org>
1560
1561         doc: update users.txt.
1562         * users.txt: Add barcode.
1563
1564 2011-04-19  Bruno Haible  <bruno@clisp.org>
1565
1566         ioctl: Remove link dependency on native Windows.
1567         * lib/fd-hook.h: Renamed from lib/close-hook.h.
1568         (gl_close_fn, gl_ioctl_fn): New types.
1569         (struct fd_hook): Renamed from struct close_hook. Change type of
1570         private_close_fn field. Add private_ioctl_fn field.
1571         (close_hook_fn): Add parameter for primary close method.
1572         (execute_close_hooks, execute_all_close_hooks): Likewise.
1573         (ioctl_hook_fn): New type.
1574         (execute_ioctl_hooks, execute_all_ioctl_hooks): New declarations.
1575         (register_fd_hook): Renamed from register_close_hook. Add ioctl_hook
1576         argument.
1577         (unregister_fd_hook): Renamed from unregister_close_hook.
1578         * lib/fd-hook.c: Renamed from lib/close-hook.c.
1579         Don't include <unistd.h>.
1580         (close): Remove undef.
1581         (anchor): Update.
1582         (execute_close_hooks): Add argument for primary close method.
1583         (execute_all_close_hooks): Likewise.
1584         (execute_ioctl_hooks, execute_all_ioctl_hooks): New functions.
1585         (register_fd_hook): Renamed from register_close_hook. Add ioctl_hook
1586         argument. Allow each argument to be NULL.
1587         (unregister_fd_hook): Renamed from unregister_close_hook.
1588         * lib/close.c (rpl_close): Pass 'close' function pointer to
1589         execute_all_close_hooks.
1590         * lib/ioctl.c: Include <errno.h>, fd-hook.h.
1591         (primary_ioctl): New function.
1592         (ioctl): Don't call ioctlsocket here. Instead, call
1593         execute_all_ioctl_hooks.
1594         * lib/sockets.c (close_fd_maybe_socket): Add argument for primary
1595         close method.
1596         (ioctl_fd_maybe_socket): New function, with code from lib/ioctl.c.
1597         (fd_sockets_hook): Renamed from close_sockets_hook.
1598         (gl_sockets_startup, gl_sockets_cleanup): Update.
1599         * modules/fd-hook: Renamed from modules/close-hook. Update.
1600         * modules/close (Depends-on): Add fd-hook, remove close-hook.
1601         * modules/sockets (Depends-on): Likewise.
1602         * modules/ioctl (Depends-on): Add fd-hook.
1603         * tests/test-nonblocking.c (main): Use GNULIB_TEST_SOCKET, not
1604         GNULIB_SOCKET.
1605
1606 2011-04-19  Bruno Haible  <bruno@clisp.org>
1607
1608         Move the support of O_NONBLOCK in open() to the 'open' module.
1609         * modules/nonblocking (Depends-on): Remove 'open'.
1610         * m4/nonblocking.m4 (gl_NONBLOCKING_IO_BODY): Set
1611         gl_cv_have_open_O_NONBLOCK.
1612         * m4/open.m4 (gl_FUNC_OPEN): Replace open() also when required for
1613         O_NONBLOCK support.
1614         * doc/posix-functions/open.texi: Document support for O_NONBLOCK.
1615
1616 2011-04-17  Bruno Haible  <bruno@clisp.org>
1617
1618         pipe2: Simplify code.
1619         * lib/pipe2.c (pipe2): Reduce code duplication.
1620
1621 2011-04-17  Bruno Haible  <bruno@clisp.org>
1622
1623         nonblocking: Add comment.
1624         * lib/fcntl.in.h (O_NONBLOCK): Add comment.
1625
1626 2011-04-17  Bruno Haible  <bruno@clisp.org>
1627
1628         nonblocking: Add tests for sockets.
1629         * tests/test-nonblocking-socket.sh: New file.
1630         * tests/test-nonblocking-socket-main.c: New file.
1631         * tests/test-nonblocking-socket-child.c: New file.
1632         * tests/test-nonblocking-socket.h: New file.
1633         * tests/socket-server.h: New file.
1634         * tests/socket-client.h: New file.
1635         * modules/nonblocking-socket-tests: New file.
1636         * modules/nonblocking-tests (Depends-on): Add nonblocking-socket-tests.
1637
1638 2011-04-17  Bruno Haible  <bruno@clisp.org>
1639
1640         nonblocking: Add tests for pipes.
1641         * tests/test-nonblocking-pipe.sh: New file.
1642         * tests/test-nonblocking-pipe-main.c: New file.
1643         * tests/test-nonblocking-pipe-child.c: New file.
1644         * tests/test-nonblocking-pipe.h: New file.
1645         * tests/test-nonblocking-writer.h: New file.
1646         * tests/test-nonblocking-reader.h: New file.
1647         * tests/test-nonblocking-misc.h: New file.
1648         * modules/nonblocking-pipe-tests: New file.
1649         * modules/nonblocking-tests (Depends-on): Add nonblocking-pipe-tests.
1650
1651 2011-04-16  Bruno Haible  <bruno@clisp.org>
1652
1653         gettext: Clarify the needed programmer actions.
1654         * modules/gettext (Notice): New field.
1655         Suggested by Ben Pfaff <blp@cs.stanford.edu>.
1656
1657 2011-04-16  Bruno Haible  <bruno@clisp.org>
1658
1659         strchrnul: Tweak last commit.
1660         * doc/glibc-functions/strchrnul.texi: Add more details about Cygwin
1661         bug.
1662         * lib/string.in.h (strchrnul): Use same arguments in _GL_FUNCDECL_RPL
1663         as in _GL_FUNCDECL_SYS.
1664         * m4/strchrnul.m4 (gl_FUNC_STRCHRNUL): Invoke gl_PREREQ_STRCHRNUL after
1665         AC_LIBOBJ. When cross-compiling, say "guessing yes" not "yes".
1666
1667 2011-04-15  Eric Blake  <eblake@redhat.com>
1668
1669         strchrnul: work around cygwin bug
1670         * doc/glibc-functions/strchrnul.texi (strchrnul): Document bug.
1671         * m4/strchrnul.m4 (gl_FUNC_STRCHRNUL): Detect it.
1672         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): New witness.
1673         * modules/string (Makefile.am): Substitute it.
1674         * lib/string.in.h (strchrnul): Use it.
1675
1676 2011-04-15  Bruno Haible  <bruno@clisp.org>
1677
1678         Don't require lib/stdio-write.c when only module 'stdio' is used.
1679         * m4/stdio_h.m4 (gl_STDIO_H): Move the AC_LIBOBJ back into the m4_ifdef
1680         invocation.
1681         Reported by Rob Vermaas <rob.vermaas@gmail.com>.
1682
1683 2011-04-14  Bruno Haible  <bruno@clisp.org>
1684
1685         Support non-blocking pipe I/O in read() on native Windows.
1686         * lib/unistd.in.h: Include <sys/types.h> also for 'read'.
1687         (read): New declaration.
1688         * lib/read.c: New file.
1689         * lib/stdio.in.h (_GL_ATTRIBUTE_FORMAT_SCANF,
1690         _GL_ATTRIBUTE_FORMAT_SCANF_SYSTEM): New macros.
1691         (fgetc, fgets, fread, fscanf, getc, getchar, gets, scanf, vfscanf,
1692         vscanf): New declarations.
1693         * lib/stdio-read.c: New file.
1694         * m4/read.m4: New file.
1695         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize GNULIB_READ,
1696         REPLACE_READ.
1697         * m4/stdio_h.m4 (gl_STDIO_H): Set GNULIB_FGETC, GNULIB_FGETS,
1698         GNULIB_FREAD, GNULIB_FSCANF, GNULIB_GETC, GNULIB_GETCHAR, GNULIB_GETS,
1699         GNULIB_SCANF, GNULIB_VFSCANF, GNULIB_VSCANF. In non-blocking I/O is
1700         desired and needs workarounds, set REPLACE_STDIO_READ_FUNCS.
1701         (gl_STDIO_H_DEFAULTS): Initialize GNULIB_FGETC, GNULIB_FGETS,
1702         GNULIB_FREAD, GNULIB_FSCANF, GNULIB_GETC, GNULIB_GETCHAR, GNULIB_GETS,
1703         GNULIB_SCANF, GNULIB_VFSCANF, GNULIB_VSCANF, REPLACE_STDIO_READ_FUNCS.
1704         * modules/read: New file.
1705         * modules/nonblocking (Files): Add lib/stdio-read.c.
1706         * modules/unistd (Makefile.am): Substitute GNULIB_READ, REPLACE_READ.
1707         * modules/stdio (Makefile.am): Substitute GNULIB_FGETC, GNULIB_FGETS,
1708         GNULIB_FREAD, GNULIB_FSCANF, GNULIB_GETC, GNULIB_GETCHAR, GNULIB_GETS,
1709         GNULIB_SCANF, GNULIB_VFSCANF, GNULIB_VSCANF, REPLACE_STDIO_READ_FUNCS.
1710         * modules/pread (Depends-on): Add read.
1711         * modules/safe-read (Depends-on): Likewise.
1712         * tests/test-stdio-c++.cc (fgetc, fgets, fread, fscanf, getc, getchar,
1713         gets, scanf, vfscanf, vscanf): Verify signatures.
1714         * doc/posix-functions/read.texi: Mention 'nonblocking' module and
1715         problem with non-blocking pipes.
1716         * doc/posix-functions/fgetc.texi: Likewise.
1717         * doc/posix-functions/fgets.texi: Likewise.
1718         * doc/posix-functions/fread.texi: Likewise.
1719         * doc/posix-functions/fscanf.texi: Likewise.
1720         * doc/posix-functions/getc.texi: Likewise.
1721         * doc/posix-functions/getchar.texi: Likewise.
1722         * doc/posix-functions/gets.texi: Likewise.
1723         * doc/posix-functions/scanf.texi: Likewise.
1724         * doc/posix-functions/vfscanf.texi: Likewise.
1725         * doc/posix-functions/vscanf.texi: Likewise.
1726
1727 2011-04-14  Bruno Haible  <bruno@clisp.org>
1728
1729         Support non-blocking pipe I/O in write() on native Windows.
1730         * lib/write.c (rpl_write): Split a write request that failed merely
1731         because the byte count was larger than the pipe buffer's size.
1732         * doc/posix-functions/write.texi: Mention the problem with large byte
1733         counts.
1734
1735 2011-04-14  Bruno Haible  <bruno@clisp.org>
1736
1737         wchar: Ensure that wchar_t gets defined on uClibc.
1738         * lib/wchar.in.h: On uClibc, include <stddef.h>.
1739         Reported by Giuseppe Scrivano <gscrivano@gnu.org>.
1740
1741 2011-04-13  Bruno Haible  <bruno@clisp.org>
1742
1743         safe-write, full-read: Avoid unnecessary compilation units.
1744         * modules/safe-write (Files): Add lib/safe-read.c, m4/safe-read.m4.
1745         (Depends-on): Remove safe-read. Add ssize_t.
1746         * modules/full-read (Files): Add lib/full-write.c.
1747         (Depends-on): Add full-write.
1748
1749 2011-04-13  Bruno Haible  <bruno@clisp.org>
1750
1751         Support non-blocking pipe I/O and SIGPIPE in pwrite().
1752         * modules/pwrite (Depends-on): Add 'write'.
1753
1754 2011-04-13  Bruno Haible  <bruno@clisp.org>
1755
1756         Support non-blocking pipe I/O in write() on native Windows.
1757         * lib/unistd.in.h (write): Enable replacement also if
1758         GNULIB_UNISTD_H_NONBLOCKING is 1.
1759         * lib/write.c: Enable replacement also if GNULIB_NONBLOCKING.
1760         (rpl_write): When failing to write on a non-blocking pipe, change
1761         errno from ENOSPC to EAGAIN.
1762         * lib/stdio.in.h (fprintf, fputc, fputs, fwrite, printf, putc,
1763         putchar, puts, vfprintf, vprintf): Enable replacement also if
1764         GNULIB_STDIO_H_NONBLOCKING is 1.
1765         * lib/stdio-write.c: Enable replacements also if GNULIB_NONBLOCKING.
1766         (CLEAR_ERRNO, HANDLE_ENOSPC): New macros.
1767         (CLEAR_LastError, HANDLE_ERROR_NO_DATA): New macros, extracted from
1768         CALL_WITH_SIGPIPE_EMULATION.
1769         (CALL_WITH_SIGPIPE_EMULATION): Use them.
1770         * m4/nonblocking.m4: New file.
1771         * m4/write.m4 (gl_FUNC_WRITE): Enable REPLACE_WRITE also if required
1772         for non-blocking I/O support.
1773         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize
1774         GNULIB_UNISTD_H_NONBLOCKING.
1775         * m4/stdio_h.m4 (gl_STDIO_H): Enable REPLACE_STDIO_WRITE_FUNCS also if
1776         required for non-blocking I/O support.
1777         (gl_STDIO_H_DEFAULTS): Initialize GNULIB_STDIO_H_NONBLOCKING.
1778         * modules/nonblocking (Files): Add m4/nonblocking.m4,
1779         lib/stdio-write.c, m4/asm-underscore.m4.
1780         (Depends-on): Add stdio, unistd.
1781         (configure.ac): Invoke gl_NONBLOCKING_IO. Define GNULIB_NONBLOCKING.
1782         Set GNULIB_STDIO_H_NONBLOCKING, GNULIB_UNISTD_H_NONBLOCKING.
1783         * modules/unistd (Makefile.am): Substitute GNULIB_UNISTD_H_NONBLOCKING.
1784         * modules/stdio (Makefile.am): Substitute GNULIB_STDIO_H_NONBLOCKING.
1785         * doc/posix-functions/fprintf.texi: Mention 'nonblocking' module and
1786         problem with non-blocking pipes.
1787         * doc/posix-functions/fputc.texi: Likewise.
1788         * doc/posix-functions/fputs.texi: Likewise.
1789         * doc/posix-functions/fwrite.texi: Likewise.
1790         * doc/posix-functions/printf.texi: Likewise.
1791         * doc/posix-functions/putc.texi: Likewise.
1792         * doc/posix-functions/putchar.texi: Likewise.
1793         * doc/posix-functions/puts.texi: Likewise.
1794         * doc/posix-functions/vfprintf.texi: Likewise.
1795         * doc/posix-functions/vprintf.texi: Likewise.
1796         * doc/posix-functions/write.texi: Likewise.
1797
1798 2011-04-10  Jim Meyering  <meyering@redhat.com>
1799
1800         maint.mk: prohibit doubled words
1801         Detect them also when they're separated by a newline.
1802         There are 3 ways to customize it:
1803           - disable the test on a per file basis, as usual with rules using
1804             $(VC_LIST_EXCEPT)
1805           - replace the default doubled-word-selecting regexp (affects all files)
1806           - ignore a particular file-vs-doubled-word match
1807         I nearly used that last one to ignore the "is is" match in
1808         coreutils' NEWS file, since the text was "ls -is is ..."
1809         To do that, I would have added this line to cfg.mk:
1810           ignore_doubled_word_match_RE_ = ^NEWS:[0-9]+:is[ ]is$
1811         but it would have ignored any "is is" match in NEWS.
1812         Low probability, but still...
1813         Instead, I changed the text, slightly:
1814           -  ls -is is now consistent with ls -lis in ignoring values returned
1815           +  "ls -is" is now consistent with ls -lis in ignoring values returned
1816         * top/maint.mk (prohibit_double_word_RE_): Provide default.
1817         (prohibit_doubled_word_): Define.
1818         (sc_prohibit_doubled_word): New rule.
1819         (sc_prohibit_the_the): Remove.  Subsumed by the above.
1820
1821 2011-04-10  Jim Meyering  <meyering@redhat.com>
1822
1823         maint: fix doubled-word typo in comment
1824         * m4/gethostname.m4: s/is is/it is/
1825         * m4/getdomainname.m4: Likewise.
1826
1827 2011-04-10  Jim Meyering  <meyering@redhat.com>
1828
1829         maint: remove doubled word: s/it it/it/
1830         * lib/stat-time.h (get_stat_birthtime): s/it it/it/
1831
1832 2011-04-10  Jim Meyering  <meyering@redhat.com>
1833
1834         maint.mk: remove useless semicolon and backslash
1835         * top/maint.mk (sc_prohibit_empty_lines_at_EOF): Remove stray
1836         semicolon and backslash.
1837
1838 2011-04-10  Bruno Haible  <bruno@clisp.org>
1839
1840         stdint test: Fix compilation failure on OSF/1 with DTK compiler.
1841         * modules/stdint-tests (Depends-on): Add wchar.
1842
1843 2011-04-10  Jim Meyering  <meyering@redhat.com>
1844
1845         maint: remove doubled words in comments, e.g., s/a a/a/
1846         * lib/strptime.c (day_of_the_week): s/the the/the/
1847         * tests/test-chown.h (test_chown): s/a a/a/
1848
1849         test-chown.h: correct a cast
1850         * tests/test-chown.h (test_chown): Cast -1 to gid_t (not uid_t)
1851         when the destination is a stat.st_gid.
1852
1853 2011-04-09  Mats Erik Andersson  <mats.andersson@gisladisker.se>  (tiny change)
1854
1855         getaddrinfo: Fix test for sa_len member.
1856         * m4/getaddrinfo.m4 (gl_PREREQ_GETADDRINFO): When testing for sa_len,
1857         include <sys/types.h> before <sys/socket.h>.
1858
1859 2011-04-09  Paul Eggert  <eggert@cs.ucla.edu>
1860
1861         maint: change "can not" to "cannot"
1862         * doc/posix-functions/iconv.texi (iconv): This one crossed line
1863         boundaries.
1864
1865 2011-04-09  Jim Meyering  <meyering@redhat.com>
1866
1867         maint: change "a a" to "a"
1868         * tests/test-lchown.h (test_lchown): s/a a/a/
1869
1870         maint.mk: prohibit \<the the\>
1871         * top/maint.mk (sc_prohibit_the_the): New rule.
1872
1873         maint: fix "the the" in comment
1874         * lib/count-one-bits.h: s/the the/the/
1875
1876         maint: change "can not" to "cannot"
1877         But do not change the occurrences in maintain.texi or in
1878         build-aux/po/Makefile.in.in, which I presume comes from gettext.
1879         * doc/gnulib-tool.texi: s/can not/cannot/
1880         * doc/posix-functions/accept.texi (accept): Likewise.
1881         * doc/posix-functions/socket.texi (socket): Likewise.
1882         * lib/mbrtowc.c: Likewise.
1883
1884         maint.mk: prohibit use of "can not"
1885         * top/maint.mk (sc_prohibit_can_not): New rule.
1886         Writing "can not" (rather than "cannot") is too common.  Prohibit it.
1887
1888 2011-04-09  Bruno Haible  <bruno@clisp.org>
1889
1890         careadlinkat: Guard against misuse of careadlinkatcwd.
1891         * lib/careadlinkat.c: Include <stdlib.h>.
1892         (careadlinkatcwd): Check that the fd argument is as expected.
1893
1894 2011-04-09  Bruno Haible  <bruno@clisp.org>
1895
1896         careadlinkat: Use common coding style.
1897         * lib/careadlinkat.c: Move gnulib includes after system includes.
1898
1899 2011-04-09  Bruno Haible  <bruno@clisp.org>
1900
1901         careadlinkat: Clarify specification.
1902         * lib/careadlinkat.h (careadlinkat): Clarify preadlinkat argument.
1903         (careadlinkatcwd): Add comment.
1904         * lib/careadlinkat.c (careadlinkat): Clarify preadlinkat argument.
1905
1906 2011-04-09  Bruno Haible  <bruno@clisp.org>
1907
1908         areadlinkat: Avoid link error on many platforms.
1909         * modules/areadlinkat (Depends-on): Add areadlink.
1910
1911 2011-04-09  Bruno Haible  <bruno@clisp.org>
1912
1913         allocator, careadlinkat: Fix double-inclusion guard.
1914         * lib/allocator.h: Fix double-inclusion guard.
1915         * lib/careadlinkat.h: Likewise.
1916
1917 2011-04-09  Bruno Haible  <bruno@clisp.org>
1918
1919         relocatable-prog-wrapper: Update after module 'areadlink' changed.
1920         * lib/relocwrapper.c: Update dependencies hierarchy.
1921         * build-aux/install-reloc: Update list of files to be compiled.
1922         * modules/relocatable-prog-wrapper (Files): Add lib/careadlinkat.[hc],
1923         lib/allocator.[hc].
1924
1925 2011-04-08  Eric Blake  <eblake@redhat.com>
1926
1927         strftime: silence gnulib-tool warning
1928         * modules/strftime-tests (Depends-on): Drop automatic dependency.
1929
1930 2011-04-08  Bruno Haible  <bruno@clisp.org>
1931
1932         verify: Fix syntax error with GCC 4.6 in C++ mode.
1933         * lib/verify.h (HAVE__STATIC_ASSERT): Don't define in C++ mode.
1934         (HAVE_STATIC_ASSERT): New macro.
1935         (verify_true, verify): Use 'static_assert' if it is supported and
1936         '_Static_assert' is not supported.
1937
1938 2011-04-08  Paul Eggert  <eggert@cs.ucla.edu>
1939
1940         allocator: New module.
1941         * modules/allocator, lib/allocator.c: New files.
1942         * lib/allocator.h (stdlib_allocator): New decl.
1943         * lib/careadlinkat.c (_GL_USE_STDLIB_ALLOC, standard_allocator):
1944         Remove.  Do not include <stdlib.h>.
1945         (careadlinkat): Use stdlib_allocator instead of rolling our own.
1946         * modules/careadlinkat (Files): Remove lib/allocator.h.
1947         (Depends-on): Add allocator.
1948
1949         stdlib: let modules use system malloc, realloc
1950         * lib/stdlib.in.h (malloc, realloc): Don't #define or add warnings
1951         if !_GL_USE_STDLIB_ALLOC.
1952         (malloc, realloc): Limit this change to a smaller scope.
1953
1954         * lib/careadlinkat.c (_GL_USE_STDLIB_ALLOC): Define.
1955         (malloc, realloc): Don't #undef; no longer needed.
1956         * lib/malloca.c (_GL_USE_STDLIB_ALLOC, malloc): Likewise.
1957         * lib/progreloc.c (_GL_USE_STDLIB_ALLOC, malloc): Likewise.
1958         * lib/setenv.c (_GL_USE_STDLIB_ALLOC, malloc, realloc): Likewise.
1959         * lib/canonicalize-lgpl.c (_GL_USE_STDLIB_ALLOC, malloc): Likewise.
1960         * lib/relocatable.c (_GL_USE_STDLIB_ALLOC, malloc): Likewise.
1961         * lib/relocwrapper.c (_GL_USE_STDLIB_ALLOC, malloc): Likewise.
1962         * lib/malloc.c (_GL_USE_STDLIB_ALLOC, malloc): Likewise.
1963         * lib/realloc.c (_GL_USE_STDLIB_ALLOC, malloc, realloc): Likewise.
1964
1965         careadlinkat: rename members to avoid problem
1966         * lib/allocator.h (struct allocator): Rename members from
1967         malloc/realloc to allocate/reallocate, to avoid problems if malloc
1968         and realloc are #define'd.  Reported by Eric Blake in
1969         <http://lists.gnu.org/archive/html/bug-gnulib/2011-04/msg00091.html>.
1970         * lib/careadlinkat.c (careadlinkat): Adjust to renaming.
1971
1972 2011-04-08  Eric Blake  <eblake@redhat.com>
1973
1974         nonblocking: reduce dependency
1975         * tests/test-nonblocking.c: Only test sockets when in use.
1976         * modules/nonblocking-tests (Depends-on): Drop socket.
1977         (Makefile.am): Link even if sockets are not present.
1978         * modules/pipe2-tests (Makefile.am): Likewise.
1979         * lib/ioctl.c (ioctl) [WIN32]: Fail if sockets are not also in use.
1980
1981         pipe2: fix O_NONBLOCK support on mingw
1982         * modules/pipe2 (Depends-on): Add nonblocking.
1983         * lib/pipe2.c (pipe2) [WIN32]: Add O_NONBLOCK support.
1984         * tests/test-pipe2.c (is_nonblocking): Adjust test accordingly.
1985         * tests/test-nonblocking.c (main): Likewise.
1986         * modules/pipe2-tests (Makefile.am): Avoid link failure.
1987
1988         fcntl-h: fix O_ACCMODE on cygwin
1989         * doc/posix-headers/fcntl.texi (fcntl.h): Document the bug.
1990         * lib/fcntl.in.h (O_ACCMODE): Fix it.
1991
1992         pipe-filter: drop O_NONBLOCK workarounds
1993         * modules/pipe-filter-gi (Depends-on): Add fcntl-h.
1994         * modules/pipe-filter-ii (Depends-on): Likewise.
1995         * lib/pipe-filter-aux.h (O_NONBLOCK): Delete workaround.
1996
1997         nonblocking: provide O_NONBLOCK for mingw
1998         * modules/nonblocking (Depends-on): Add open.
1999         (configure.ac): Set new witness macro.
2000         * m4/fcntl_h.m4 (gl_FCNTL_H_DEFAULTS): Provide default for it.
2001         * modules/fcntl-h (Makefile.am): Substitute it.
2002         * lib/fcntl.in.h (O_NONBLOCK): Guarantee non-zero definition when
2003         nonblocking module is in use.
2004         * lib/nonblocking.c: Adjust portability test.
2005         * lib/open.c (open): Don't let native open see gnulib flag.
2006         * tests/test-fcntl-h.c (main): Enhance test.
2007         * tests/test-open.h (test_open): Likewise.
2008         * doc/posix-headers/fcntl.texi (fcntl.h): Document the replacement.
2009
2010         careadlinkat: fix compilation error on mingw
2011         * lib/careadlinkat.c (standard_allocator): Avoid renaming fields
2012         within struct allocator.
2013
2014 2011-04-06  Eric Blake  <eblake@redhat.com>
2015
2016         binary-io: relicense under LGPLv2+
2017         * modules/binary-io (License): Relax to LGPLv2+.
2018         Requested for libvirt, and required by pipe2.
2019
2020 2011-04-06  Paul Eggert  <eggert@cs.ucla.edu>
2021
2022         verify: use _Static_assert if available
2023         * lib/verify.h (HAVE__STATIC_ASSERT): New macro.
2024         (verify_true, verify): Use it if available.  This generates better
2025         diagnostics with GCC 4.6.0 and later.
2026
2027 2011-04-05  Bruno Haible  <bruno@clisp.org>
2028
2029         Remove leftover generated .h files after config.status changed.
2030
2031         * m4/alloca.m4 (gl_FUNC_ALLOCA): New automake conditional
2032         GL_GENERATE_ALLOCA_H.
2033         * modules/alloca-opt (Makefile.am): Remove alloca.h if
2034         GL_GENERATE_ALLOCA_H evaluates to false.
2035
2036         * m4/argz.m4 (gl_FUNC_ARGZ): New automake conditional
2037         GL_GENERATE_ARGZ_H.
2038         * modules/argz (Makefile.am): Remove argz.h if GL_GENERATE_ARGZ_H
2039         evaluates to false.
2040
2041         * m4/byteswap.m4 (gl_BYTESWAP): New automake conditional
2042         GL_GENERATE_BYTESWAP_H.
2043         * modules/byteswap (Makefile.am): Remove byteswap.h if
2044         GL_GENERATE_BYTESWAP_H evaluates to false.
2045
2046         * m4/errno_h.m4 (gl_HEADER_ERRNO_H): New automake conditional
2047         GL_GENERATE_ERRNO_H.
2048         * modules/errno (Makefile.am): Remove errno.h if GL_GENERATE_ERRNO_H
2049         evaluates to false.
2050
2051         * m4/float_h.m4 (gl_FLOAT_H): New automake conditional
2052         GL_GENERATE_FLOAT_H.
2053         * modules/float (Makefile.am): Remove float.h if GL_GENERATE_FLOAT_H
2054         evaluates to false.
2055
2056         * m4/fnmatch.m4 (gl_FUNC_FNMATCH_POSIX): New automake conditional
2057         GL_GENERATE_FNMATCH_H.
2058         * modules/fnmatch (Makefile.am): Remove fnmatch.h if
2059         GL_GENERATE_FNMATCH_H evaluates to false.
2060
2061         * m4/glob.m4 (gl_GLOB_SUBSTITUTE, gl_GLOB): New automake conditional
2062         GL_GENERATE_GLOB_H.
2063         * modules/glob (Makefile.am): Remove glob.h if GL_GENERATE_GLOB_H
2064         evaluates to false.
2065
2066         * m4/iconv_h.m4 (gl_REPLACE_ICONV_H, gl_ICONV_H_DEFAULTS): New
2067         automake conditional GL_GENERATE_ICONV_H.
2068         * modules/iconv-h (Makefile.am): Remove iconv.h if GL_GENERATE_ICONV_H
2069         evaluates to false.
2070
2071         * m4/netinet_in_h.m4 (gl_HEADER_NETINET_IN): New automake conditional
2072         GL_GENERATE_NETINET_IN_H.
2073         * modules/netinet_in (Makefile.am): Remove netinet/in.h if
2074         GL_GENERATE_NETINET_IN_H evaluates to false.
2075
2076         * m4/pthread.m4 (gl_PTHREAD_CHECK): Set PTHREAD_H here. New automake
2077         conditional GL_GENERATE_PTHREAD_H.
2078         (gl_PTHREAD_DEFAULTS): Don't set PTHREAD_H here.
2079         * modules/pthread (Makefile.am): Remove pthread.h if
2080         GL_GENERATE_PTHREAD_H evaluates to false.
2081
2082         * m4/sched_h.m4 (gl_SCHED_H): New automake conditional
2083         GL_GENERATE_SCHED_H.
2084         * modules/sched (Makefile.am): Remove sched.h if GL_GENERATE_SCHED_H
2085         evaluates to false.
2086
2087         * m4/selinux-context-h.m4 (gl_HEADERS_SELINUX_CONTEXT_H): New automake
2088         conditional GL_GENERATE_SELINUX_CONTEXT_H.
2089         * modules/selinux-h (Makefile.am): Remove selinux/context.h if
2090         GL_GENERATE_SELINUX_CONTEXT_H evaluates to false.
2091
2092         * m4/stdarg.m4 (gl_STDARG_H): New automake conditional
2093         GL_GENERATE_STDARG_H.
2094         * modules/stdarg (Makefile.am): Remove stdarg.h if
2095         GL_GENERATE_STDARG_H evaluates to false.
2096
2097         * m4/stdbool.m4 (AM_STDBOOL_H): New automake conditional
2098         GL_GENERATE_STDBOOL_H.
2099         * modules/stdbool (Makefile.am): Remove stdbool.h if
2100         GL_GENERATE_STDBOOL_H evaluates to false.
2101
2102         * m4/stddef_h.m4 (gl_STDDEF_H): Set STDDEF_H here. New automake
2103         conditional GL_GENERATE_STDDEF_H.
2104         (gl_STDDEF_H_DEFAULTS): Don't set STDDEF_H here.
2105         * modules/stddef (Makefile.am): Remove stddef.h if
2106         GL_GENERATE_STDDEF_H evaluates to false.
2107
2108         * m4/stdint.m4 (gl_STDINT_H): New automake conditional
2109         GL_GENERATE_STDINT_H.
2110         * modules/stdint (Makefile.am): Remove stdint.h if
2111         GL_GENERATE_STDINT_H evaluates to false.
2112
2113         * m4/sysexits.m4 (gl_SYSEXITS): New automake conditional
2114         GL_GENERATE_SYSEXITS_H.
2115         * modules/sysexits (Makefile.am): Remove sysexits.h if
2116         GL_GENERATE_SYSEXITS_H evaluates to false.
2117
2118         Reported by Karl Berry and Ralf Wildenhues.
2119
2120 2011-04-05  Bruno Haible  <bruno@clisp.org>
2121
2122         Ensure to rebuild generated .h files when config.status has changed.
2123         * modules/arpa_inet (Makefile.am): Add dependency from .h file to
2124         config.status.
2125         * modules/ctype (Makefile.am): Likewise.
2126         * modules/dirent (Makefile.am): Likewise.
2127         * modules/errno (Makefile.am): Likewise.
2128         * modules/fcntl-h (Makefile.am): Likewise.
2129         * modules/float (Makefile.am): Likewise.
2130         * modules/getopt-posix (Makefile.am): Likewise.
2131         * modules/glob (Makefile.am): Likewise.
2132         * modules/iconv-h (Makefile.am): Likewise.
2133         * modules/inttypes (Makefile.am): Likewise.
2134         * modules/langinfo (Makefile.am): Likewise.
2135         * modules/locale (Makefile.am): Likewise.
2136         * modules/math (Makefile.am): Likewise.
2137         * modules/netdb (Makefile.am): Likewise.
2138         * modules/netinet_in (Makefile.am): Likewise.
2139         * modules/poll-h (Makefile.am): Likewise.
2140         * modules/pthread (Makefile.am): Likewise.
2141         * modules/pty (Makefile.am): Likewise.
2142         * modules/sched (Makefile.am): Likewise.
2143         * modules/search (Makefile.am): Likewise.
2144         * modules/selinux-h (Makefile.am): Likewise.
2145         * modules/signal (Makefile.am): Likewise.
2146         * modules/spawn (Makefile.am): Likewise.
2147         * modules/stdarg (Makefile.am): Likewise.
2148         * modules/stdbool (Makefile.am): Likewise.
2149         * modules/stddef (Makefile.am): Likewise.
2150         * modules/stdint (Makefile.am): Likewise.
2151         * modules/stdio (Makefile.am): Likewise.
2152         * modules/stdlib (Makefile.am): Likewise.
2153         * modules/string (Makefile.am): Likewise.
2154         * modules/strings (Makefile.am): Likewise.
2155         * modules/sys_file (Makefile.am): Likewise.
2156         * modules/sys_ioctl (Makefile.am): Likewise.
2157         * modules/sys_select (Makefile.am): Likewise.
2158         * modules/sys_socket (Makefile.am): Likewise.
2159         * modules/sys_stat (Makefile.am): Likewise.
2160         * modules/sys_time (Makefile.am): Likewise.
2161         * modules/sys_times (Makefile.am): Likewise.
2162         * modules/sys_utsname (Makefile.am): Likewise.
2163         * modules/sys_wait (Makefile.am): Likewise.
2164         * modules/sysexits (Makefile.am): Likewise.
2165         * modules/termios (Makefile.am): Likewise.
2166         * modules/time (Makefile.am): Likewise.
2167         * modules/unistd (Makefile.am): Likewise.
2168         * modules/wchar (Makefile.am): Likewise.
2169         * modules/wctype-h (Makefile.am): Likewise.
2170         Reported by Karl Berry, Eric Blake, and Ralf Wildenhues.
2171
2172 2011-04-05  Bruno Haible  <bruno@clisp.org>
2173
2174         pipe2: Relicense under LGPLv2+.
2175         * modules/pipe2 (License): Change to LGPLv2+.
2176         Requested by Eric Blake, for libvirt.
2177
2178 2011-04-05  Bruce Korb  <bkorb@gnu.org>
2179
2180         bootstrap: compute gnulib_extra_files after updating build_aux
2181         * build-aux/bootstrap (gnulib_extra_files): bootstrap.conf may
2182         change build_aux or also supply gnulib_extra_files.  Handle correctly.
2183
2184 2011-04-05  Eric Blake  <eblake@redhat.com>
2185
2186         bootstrap: preserve git whitelist item sorting
2187         * build-aux/bootstrap (sort_patterns): New function.
2188         (insert_sorted_if_absent): Use it to sink ! lines to the bottom.
2189
2190 2011-04-05  Simon Josefsson  <simon@josefsson.org>
2191
2192         * top/maint.mk (sc_prohibit_empty_lines_at_EOF): Don't trigger
2193         sc_space_tab check.
2194
2195 2011-04-05  Paul Eggert  <eggert@cs.ucla.edu>
2196
2197         areadlink, areadlinkat: rewrite in terms of careadlinkat
2198         * lib/areadlink.c, lib/areadlinkat.c: Include careadlinkat.h
2199         instead of errno.h, limits.h, stdint.h, stdlib.h, string.h, unistd.h.
2200         (SSIZE_MAX, INITIAL_BUF_SIZE): Remove.
2201         (malloc, realloc): Remove #undefs.
2202         (areadlink, areadlinkat): Rewrite in terms of careadlinkat.
2203         * modules/areadlink (Depends-on): Add careadlinkat.  Remove
2204         readlink, ssize_t, stdint, unistd.
2205         * modules/areadlinkat (Depends-on): Add careadlinkat.  Remove
2206         areadlink, stdint.
2207
2208         careadlinkat: new module
2209         * lib/allocator.h, lib/careadlinkat.h, lib/careadlinkat.c:
2210         * modules/careadlinkat: New files, written by me with
2211         a review and feedback from Ben Pfaff in
2212         <http://lists.gnu.org/archive/html/bug-gnulib/2011-04/msg00008.html>.
2213
2214 2011-04-01  Bruno Haible  <bruno@clisp.org>
2215
2216         wmemchr, wcschr, wcsrchr, wcspbrk, wcsstr: Avoid errors in C++ mode.
2217         * lib/wchar.in.h (wmemchr, wcschr, wcsrchr, wcspbrk, wcsstr): Use
2218         _GL_CXXALIAS_SYS_CAST2 instead of _GL_CXXALIAS_SYS. On glibc >= 2.10
2219         systems, use _GL_CXXALIASWARN1 instead of _GL_CXXALIASWARN.
2220         Reported by Bruce Korb <bruce.korb@gmail.com>.
2221
2222 2011-04-01  Bruno Haible  <bruno@clisp.org>
2223
2224         wcpcpy, wcpncpy: Ensure declaration on glibc >= 2.13 systems.
2225         * m4/wcpcpy.m4 (gl_FUNC_WCPCPY): Require AC_USE_SYSTEM_EXTENSIONS.
2226         * m4/wcpncpy.m4 (gl_FUNC_WCPNCPY): Likewise.
2227         * modules/wcpcpy (Depends-on): Add extensions.
2228         * modules/wcpncpy (Depends-on): Likewise.
2229         * doc/posix-functions/wcpcpy.texi: Mention missing declaration on glibc
2230         systems.
2231         * doc/posix-functions/wcpncpy.texi: Likewise.
2232         * doc/posix-functions/wcwidth.texi: Likewise.
2233
2234 2011-03-31  Eric Blake  <eblake@redhat.com>
2235
2236         nonblocking: fix mingw test failures
2237         * lib/nonblocking.c (set_nonblocking_flag): Succeed when clearing
2238         non-blocking flag on regular file.
2239         (get_nonblocking_flag): Set errno on invalid fd.
2240         * tests/test-nonblocking.c (main): Avoid test failure on
2241         directories if fchdir is not active.
2242         * modules/nonblocking-tests (Depends-on): Drop unused dependency.
2243
2244 2011-03-31  Bruno Haible  <bruno@clisp.org>
2245
2246         Fix bug with gl_WARN_ON_USE_PREPARE, introduced on 2011-01-23.
2247         * m4/gnulib-common.m4 (gl_ASSERT_NO_GNULIB_POSIXCHECK): Hide the
2248         gl_WARN_ON_USE_PREPARE definition from 'aclocal'.
2249         Reported by Simon Josefsson <simon@josefsson.org>.
2250
2251 2011-03-31  Bruno Haible  <bruno@clisp.org>
2252         and Eric Blake  <eblake@redhat.com>
2253
2254         nonblocking: new module
2255         * modules/nonblocking: New module.
2256         * modules/nonblocking-tests: Likewise.
2257         * lib/nonblocking.h: New file.
2258         * lib/nonblocking.c: Likewise.
2259         * tests/test-nonblocking.c: New test.
2260         * lib/ioctl.c (ioctl) [mingw]: Update comment.
2261
2262 2011-03-30  Bruno Haible  <bruno@clisp.org>
2263
2264         stdio: Avoid GCC >= 4.4 warnings when using %lld and similar on mingw.
2265         * lib/stdio.in.h (_GL_ATTRIBUTE_FORMAT_PRINTF): Use 'gnu_printf' format
2266         instead of 'printf' format for GCC >= 4.4.
2267         (_GL_ATTRIBUTE_FORMAT_PRINTF_SYSTEM): New macro.
2268         (fprintf, printf, vfprintf, vprintf): Declare with
2269         _GL_ATTRIBUTE_FORMAT_PRINTF_SYSTEM when the function ends up calling
2270         the system's vfprintf() function.
2271         Reported by Daniel P. Berrange <berrange@redhat.com> via Eric Blake.
2272
2273 2011-03-30  Eric Blake  <eblake@redhat.com>
2274
2275         passfd: fix scoping bug
2276         * lib/passfd.c (sendfd, recvfd): Don't let buf go out of scope
2277         before sendmsg/recvmsg.
2278
2279         passfd: standardize coding conventions
2280         * m4/afunix.m4 (gl_SOCKET_AFUNIX): Drop check for something that
2281         can be learned at compile time.
2282         * lib/passfd.c (MSG_CMSG_CLOEXEC): Reduce number of in-function
2283         ifdefs.
2284         (sendfd, recvfd): Follow gnulib code conventions.
2285
2286         passfd: fix incorrect sendmsg arguments
2287         * lib/passfd.c (sendfd): Avoid uninitialized msg_flags field, and
2288         incorrect msg_controllen value.
2289         * modules/passfd-tests (Depends-on): Check for alarm.
2290         * tests/test-passfd.c (main) [HAVE_DECL_ALARM]: Avoid hanging test.
2291         Reported by Bastien ROUCARIES.
2292
2293 2011-03-30  Bruno Haible  <bruno@clisp.org>
2294
2295         c-strcasestr: Relicense under LGPLv2+.
2296         * modules/c-strcasestr (License): Change to LGPLv2+.
2297         Requested by Eric Blake, for libvirt.
2298
2299 2011-03-30  Simon Josefsson  <simon@josefsson.org>
2300
2301         * users.txt: Add libidn2.  Fix libtasn1 link.
2302
2303 2011-03-30  Jim Meyering  <meyering@redhat.com>
2304
2305         tests: readlink* ("",... fails with EINVAL on newer kernels
2306         readlink and readlinkat have typically failed with ENOENT for
2307         the invalid, empty file name,  "".  However, with the advent
2308         of linux-2.6.39, they fail with EINVAL.
2309         * tests/test-areadlink.h (test_areadlink): Also accept EINVAL
2310         when operating on the empty file name.
2311         * tests/test-readlink.h (test_readlink): Likewise.
2312
2313 2011-03-29  Bruno Haible  <bruno@clisp.org>
2314
2315         Relicense some modules under LGPLv2+, for libidn2.
2316         * modules/array-mergesort (License): Change to LGPLv2+.
2317         * modules/c-strcaseeq (License): Likewise.
2318         * modules/striconveh (License): Likewise.
2319         * modules/striconveha (License): Likewise.
2320         * modules/uniconv/base (License): Likewise.
2321         * modules/uniconv/u8-conv-from-enc (License): Likewise.
2322         * modules/uniconv/u8-strconv-from-enc (License): Likewise.
2323         * modules/uniconv/u8-strconv-from-locale (License): Likewise.
2324         * modules/unictype/base (License): Likewise.
2325         * modules/unictype/bidiclass-of (License): Likewise.
2326         * modules/unictype/category-M (License): Likewise.
2327         * modules/unictype/category-none (License): Likewise.
2328         * modules/unictype/category-of (License): Likewise.
2329         * modules/unictype/category-test (License): Likewise.
2330         * modules/unictype/category-test-withtable (License): Likewise.
2331         * modules/unictype/combining-class (License): Likewise.
2332         * modules/unictype/joiningtype-of (License): Likewise.
2333         * modules/unictype/scripts (License): Likewise.
2334         * modules/uninorm/base (License): Likewise.
2335         * modules/uninorm/canonical-decomposition (License): Likewise.
2336         * modules/uninorm/composition (License): Likewise.
2337         * modules/uninorm/decompose-internal (License): Likewise.
2338         * modules/uninorm/decomposition-table (License): Likewise.
2339         * modules/uninorm/nfc (License): Likewise.
2340         * modules/uninorm/nfd (License): Likewise.
2341         * modules/uninorm/u32-normalize (License): Likewise.
2342         * modules/unistr/base (License): Likewise.
2343         * modules/unistr/u32-cpy (License): Likewise.
2344         * modules/unistr/u32-mbtouc-unsafe (License): Likewise.
2345         * modules/unistr/u32-to-u8 (License): Likewise.
2346         * modules/unistr/u32-uctomb (License): Likewise.
2347         * modules/unistr/u8-check (License): Likewise.
2348         * modules/unistr/u8-mblen (License): Likewise.
2349         * modules/unistr/u8-mbtouc (License): Likewise.
2350         * modules/unistr/u8-mbtouc-unsafe (License): Likewise.
2351         * modules/unistr/u8-mbtoucr (License): Likewise.
2352         * modules/unistr/u8-prev (License): Likewise.
2353         * modules/unistr/u8-strlen (License): Likewise.
2354         * modules/unistr/u8-to-u32 (License): Likewise.
2355         * modules/unistr/u8-uctomb (License): Likewise.
2356         * modules/unitypes (License): Likewise.
2357         Requested by Simon Josefsson.
2358
2359 2011-03-29  Simon Josefsson  <simon@josefsson.org>
2360
2361         lib-symbol-visibility: Add a notice.
2362         * modules/lib-symbol-visibility (Notice): New field.
2363
2364 2011-03-29  Bruno Haible  <bruno@clisp.org>
2365
2366         getaddrinfo: Doc fix.
2367         * doc/posix-functions/getaddrinfo.texi: Mention Windows problem in the
2368         section "fixed in Gnulib".
2369
2370 2011-03-28  Simon Josefsson  <simon@josefsson.org>
2371
2372         * doc/posix-functions/getaddrinfo.texi: Drop netdb.h discussion.
2373         Reported by Bastien ROUCARIES <roucaries.bastien@gmail.com>.
2374
2375 2011-03-26  Bruno Haible  <bruno@clisp.org>
2376
2377         unictype/property-byname: Reduce the number of load-time relocations.
2378         * lib/unictype/pr_byname.c: Include <stdlib.h>.
2379         (UC_PROPERTY_INDEX_*): New enumeration values.
2380         (uc_property_byname): Convert an index from the lookup table to an
2381         uc_property_t.
2382         * lib/unictype/pr_byname.gperf: Store indices instead of uc_property_t
2383         values.
2384
2385 2011-03-26  Bruno Haible  <bruno@clisp.org>
2386
2387         unictype/property-byname: Allow omitted word separators and aliases.
2388         * lib/unictype/pr_byname.gperf: Add property names without word
2389         separators. Add aliases from Unicode 6.0 PropertyAliases.txt, except
2390         for 'space'.
2391
2392 2011-03-26  Bruno Haible  <bruno@clisp.org>
2393
2394         unictype/joininggroup-byname: Allow hyphens, omitted word separators.
2395         * lib/unictype/joininggroup_byname.c (uc_joining_group_byname): Convert
2396         also hyphens to space.
2397         * lib/unictype/joininggroup_byname.gperf: Recognize the names also
2398         without spaces.
2399         * tests/unictype/test-joininggroup_byname.c (main): Add more tests.
2400
2401 2011-03-26  Bruno Haible  <bruno@clisp.org>
2402
2403         unictype/joiningtype-byname: Recognize long names as well.
2404         * lib/unictype.in.h (uc_joiningtype_class_byname): Allow argument to be
2405         a long name.
2406         * lib/unictype/joiningtype_byname.c: Include <string.h>,
2407         unictype/joiningtype_byname.h.
2408         (uc_joiningtype_class_byname): Use uc_joining_type_lookup.
2409         * lib/unictype/joiningtype_byname.gperf: New file.
2410         * modules/unictype/joiningtype-byname (Files): Add
2411         lib/unictype/joiningtype_byname.gperf.
2412         (Depends-on): Add gperf.
2413         (Makefile.am): Add rule for generating unictype/joiningtype_byname.h.
2414         * tests/unictype/test-joiningtype_byname.c (main): Test the recognition of
2415         long names.
2416
2417         Tests for module 'unictype/joiningtype-longname'.
2418         * modules/unictype/joiningtype-longname-tests: New file.
2419         * tests/unictype/test-joiningtype_longname.c: New file.
2420
2421         New module 'unictype/joiningtype-longname'.
2422         * lib/unictype.in.h (uc_joiningtype_class_long_name): New declaration.
2423         * lib/unictype/joiningtype_longname.c: New file.
2424         * modules/unictype/joiningtype-longname: New file.
2425         * modules/unictype/joiningtype-all (Depends-on): Add
2426         unictype/joiningtype-longname.
2427
2428 2011-03-26  Bruno Haible  <bruno@clisp.org>
2429
2430         unictype/bidiclass-byname: Recognize long names as well.
2431         * lib/unictype.in.h (uc_bidi_class_byname): Allow argument to be a long
2432         name.
2433         * lib/unictype/bidi_byname.c: Include <string.h>,
2434         unictype/bidi_byname.h.
2435         (uc_bidi_class_byname): Use uc_bidi_class_lookup.
2436         * lib/unictype/bidi_byname.gperf: New file.
2437         * modules/unictype/bidiclass-byname (Files): Add
2438         lib/unictype/bidi_byname.gperf.
2439         (Depends-on): Add gperf.
2440         (Makefile.am): Add rule for generating unictype/bidi_byname.h.
2441         * tests/unictype/test-bidi_byname.c (main): Test the recognition of
2442         long names.
2443
2444         Tests for module 'unictype/bidiclass-longname'.
2445         * modules/unictype/bidiclass-longname-tests: New file.
2446         * tests/unictype/test-bidi_longname.c: New file.
2447
2448         New module 'unictype/bidiclass-longname'.
2449         * lib/unictype.in.h (uc_bidi_class_long_name): New declaration.
2450         * lib/unictype/bidi_longname.c: New file.
2451         * modules/unictype/bidiclass-longname: New file.
2452         * modules/unictype/bidiclass-all (Depends-on): Add
2453         unictype/bidiclass-longname.
2454
2455 2011-03-26  Bruno Haible  <bruno@clisp.org>
2456
2457         unictype/bidi*: Rename modules.
2458         * modules/unictype/bidiclass-all: Renamed from
2459         modules/unictype/bidicategory-all.
2460         * modules/unictype/bidiclass-name: Renamed from
2461         modules/unictype/bidiclass-name.
2462         (Description): Update.
2463         * modules/unictype/bidiclass-name-tests: Renamed from
2464         modules/unictype/bidicategory-name-tests.
2465         * modules/unictype/bidiclass-byname: Renamed from
2466         modules/unictype/bidicategory-byname.
2467         (Description): Update.
2468         * modules/unictype/bidiclass-byname-tests: Renamed from
2469         modules/unictype/bidicategory-byname-tests.
2470         * modules/unictype/bidiclass-of: Renamed from
2471         modules/unictype/bidicategory-of.
2472         (Description): Update.
2473         * modules/unictype/bidiclass-of-tests: Renamed from
2474         modules/unictype/bidicategory-of-tests.
2475         * modules/unictype/bidiclass-test: Renamed from
2476         modules/unictype/bidicategory-test.
2477         (Description): Update.
2478         * modules/unictype/bidiclass-test-tests: Renamed from
2479         modules/unictype/bidicategory-test-tests.
2480         * modules/unictype/bidicategory-all: New file, a simple redirection.
2481         * modules/unictype/bidicategory-name: Likewise.
2482         * modules/unictype/bidicategory-byname: Likewise.
2483         * modules/unictype/bidicategory-of: Likewise.
2484         * modules/unictype/bidicategory-test: Likewise.
2485         * modules/unictype/property-bidi-* (Dependencies): Update.
2486         * lib/unictype/bidi_*.c: Update comment.
2487
2488 2011-03-26  Bruno Haible  <bruno@clisp.org>
2489
2490         unictype/bidi*: Rename functions, part 2.
2491         * modules/unictype/bidicategory-name (configure.ac): Update required
2492         libunistring version.
2493         * modules/unictype/bidicategory-byname (configure.ac): Likewise.
2494
2495 2011-03-25  Bruno Haible  <bruno@clisp.org>
2496
2497         New module 'unictype/combining-class-all'.
2498         * modules/unictype/combining-class-all: New file.
2499
2500         Tests for module 'unictype/combining-class-byname'.
2501         * modules/unictype/combining-class-byname-tests: New file.
2502         * tests/unictype/test-combiningclass_byname.c: New file.
2503
2504         New module 'unictype/combining-class-byname'.
2505         * lib/unictype.in.h (uc_combining_class_byname): New declaration.
2506         * lib/unictype/combiningclass_byname.c: New file.
2507         * lib/unictype/combiningclass_byname.gperf: New file.
2508         * modules/unictype/combining-class-byname: New file.
2509
2510         Tests for module 'unictype/combining-class-longname'.
2511         * modules/unictype/combining-class-longname-tests: New file.
2512         * tests/unictype/test-combiningclass_longname.c: New file.
2513
2514         New module 'unictype/combining-class-longname'.
2515         * lib/unictype.in.h (uc_combining_class_long_name): New declaration.
2516         * lib/unictype/combiningclass_longname.c: New file.
2517         * modules/unictype/combining-class-longname: New file.
2518
2519         Tests for module 'unictype/combining-class-name'.
2520         * modules/unictype/combining-class-name-tests: New file.
2521         * tests/unictype/test-combiningclass_name.c: New file.
2522
2523         New module 'unictype/combining-class-name'.
2524         * lib/unictype.in.h (uc_combining_class_name): New declaration.
2525         * lib/unictype/combiningclass_name.c: New file.
2526         * modules/unictype/combining-class-name: New file.
2527
2528 2011-03-25  Bruno Haible  <bruno@clisp.org>
2529
2530         unictype/combining-class: Rename source files.
2531         * lib/gen-uni-tables.c (main): Emit unictype/combiningclass.h instead
2532         of unictype/combining.h.
2533         * lib/unictype/combiningclass.c: Renamed from lib/unictype/combining.c.
2534         Update.
2535         * lib/unictype/combiningclass.h: Renamed from lib/unictype/combining.h.
2536         * modules/unictype/combining-class (Description): Fix.
2537         (Files, Makefile.am): Update.
2538         * tests/unictype/test-combiningclass.c: Renamed from
2539         tests/unictype/test-combining.c.
2540         * modules/unictype/combining-class-tests (Files, Makefile.am): Update.
2541
2542 2011-03-25  Bruno Haible  <bruno@clisp.org>
2543
2544         unictype: Update list of canonical combining classes.
2545         * lib/unictype.in.h (UC_CCC_ATA): New enumeration value.
2546
2547 2011-03-25  Bruno Haible  <bruno@clisp.org>
2548
2549         unictype/category-byname: Recognize long names as well.
2550         * lib/unictype.in.h (uc_general_category_byname): Allow argument to be
2551         a long name.
2552         * lib/unictype/categ_byname.c: Include <stdlib.h>, <string.h>,
2553         unictype/categ_byname.h.
2554         (UC_CATEGORY_INDEX_*): New enumeration values.
2555         (uc_general_category_byname): Use uc_general_category_lookup and
2556         convert from index to value.
2557         * lib/unictype/categ_byname.gperf: New file.
2558         * modules/unictype/category-byname (Files): Add
2559         lib/unictype/categ_byname.gperf.
2560         (Depends-on): Add gperf.
2561         (Makefile.am): Add rule for generating unictype/categ_byname.h.
2562         * tests/unictype/test-categ_byname.c (main): Test the recognition of
2563         long names.
2564
2565         Tests for module 'unictype/category-longname'.
2566         * modules/unictype/category-longname-tests: New file.
2567         * tests/unictype/test-categ_longname.c: New file.
2568
2569         New module 'unictype/category-longname'.
2570         * lib/unictype.in.h (uc_general_category_long_name): New declaration.
2571         * lib/unictype/categ_longname.c: New file.
2572         * modules/unictype/category-longname: New file.
2573         * modules/unictype/category-all (Depends-on): Add it.
2574
2575 2011-03-25  Bruno Haible  <bruno@clisp.org>
2576
2577         Tests for module 'unictype/category-LC'.
2578         * modules/unictype/category-LC-tests: New file.
2579         * tests/unictype/test-categ_LC.c: New file, automatically generated.
2580
2581         New module 'unictype/category-LC'.
2582         * lib/unictype.in.h (UC_CATEGORY_MASK_LC): New enumeration value.
2583         (UC_CATEGORY_LC): New declaration.
2584         (UC_CASED_LETTER): New macro.
2585         * lib/gen-uni-tables.c (is_category_LC): New function.
2586         (output_categories): Also handle category LC.
2587         (UC_CATEGORY_MASK_LC): New enumeration value.
2588         (general_category_byname): Also handle category LC.
2589         * lib/unictype/categ_LC.c: New file.
2590         * lib/unictype/categ_LC.h: New file, automatically generated.
2591         * lib/unictype/categ_name.c (uc_general_category_name): Also handle
2592         category LC.
2593         * lib/unictype/categ_byname.c (uc_general_category_byname): Likewise.
2594         * modules/unictype/category-LC: New file.
2595         * modules/unictype/category-byname (Depends-on): Add
2596         unictype/category-LC.
2597         * modules/unictype/category-all (Depends-on): Likewise.
2598
2599 2011-03-25  Eric Blake  <eblake@redhat.com>
2600
2601         xmalloc: revert yesterday's regression
2602         * lib/xmalloc.c (xrealloc): Once again forward xrealloc(NULL,0) to
2603         realloc's underlying behavior (allowing allocation of zero-size
2604         objects, especially if malloc-gnu is also in use).
2605
2606 2011-03-25  Reuben Thomas  <rrt@sc3d.org>
2607
2608         maint.mk: add missing version to VC-tag
2609         * top/maint.mk: git tag was missing actual tag name; add it.
2610
2611         valgrind: do leak checking, and exit with code 1 on error (not 0)
2612         * m4/valgrind-tests.m4: Add `--error-exitcode=1 --leak-check=full'
2613         to VALGRIND.
2614
2615 2010-11-30  Reuben Thomas  <rrt@sc3d.org>
2616
2617         posix-modules: say what it does.
2618         * posix-modules: Add a line to the --help output saying what it does.
2619
2620 2011-03-24  Paul Eggert  <eggert@cs.ucla.edu>
2621
2622         xmalloc: Do not leak if underlying realloc is C99 compatible.
2623         * lib/xmalloc.c (xrealloc): If N is zero, call 'free' directly.
2624         This avoids a leak on C99-based systems.  See
2625         <http://lists.gnu.org/archive/html/bug-gnulib/2011-03/msg00243.html>.
2626
2627 2011-03-24  Eric Blake  <eblake@redhat.com>
2628
2629         realloc: document portability problem
2630         * doc/posix-functions/realloc.texi (realloc): Mention pitfalls of
2631         passing 0 size to realloc.
2632
2633 2011-03-23  Ben Walton  <bwalton@artsci.utoronto.ca>
2634
2635         doc: update users.txt
2636         * users.txt: Add cvsps, tmpwatch
2637
2638 2011-03-23  Matt Rice  <ratmice@gmail.com>
2639
2640         doc: update users.txt
2641         * users.txt: Add gdb.
2642
2643 2011-03-23  Jim Meyering  <meyering@redhat.com>
2644
2645         doc: update users.txt
2646         Looking through matches up to the following URL (there are still
2647         several more pages), I found several projects that use gnulib:
2648         http://codesearch.google.com/codesearch?start=50&q=gnulib-cache\.m4
2649         * users.txt: Add nagios plugins (nagiosplug), acct, gengetopt,
2650         gmediaserver, gtkreindeer, jugtail, libunistring, mini-httpd, reindeer.
2651
2652 2011-03-22  Bruno Haible  <bruno@clisp.org>
2653
2654         unictype/bidi*: Rename functions.
2655         * lib/unictype.in.h (uc_bidi_class_name, uc_bidi_class_byname,
2656         uc_bidi_class, uc_is_bidi_class): New declarations.
2657         * lib/unictype/bidi_byname.c (uc_bidi_class_byname): Renamed from
2658         uc_bidi_category_byname.
2659         (uc_bidi_category_byname): New function.
2660         * lib/unictype/bidi_name.c (u_bidi_class_name): Renamed from
2661         u_bidi_category_name.
2662         (uc_bidi_class_name): Renamed from uc_bidi_category_name.
2663         (uc_bidi_category_name): New function.
2664         * lib/unictype/bidi_of.c (uc_bidi_class): Renamed from
2665         uc_bidi_category.
2666         (uc_bidi_category): New function.
2667         * lib/unictype/bidi_test.c (uc_is_bidi_class): Renamed from
2668         uc_is_bidi_category. Invoke uc_bidi_class.
2669         (uc_is_bidi_category): New function.
2670         * tests/unictype/test-bidi_byname.c (main): Test uc_bidi_class_byname
2671         instead of uc_bidi_category_byname.
2672         * tests/unictype/test-bidi_name.c (main): Test uc_bidi_class_name
2673         instead of uc_bidi_category_name.
2674         * tests/unictype/test-bidi_of.c (main): Test uc_bidi_class instead of
2675         uc_bidi_category.
2676         * tests/unictype/test-bidi_test.c (main): Test uc_is_bidi_class
2677         instead of uc_is_bidi_category.
2678
2679 2011-03-21  Bruno Haible  <bruno@clisp.org>
2680
2681         New module 'unictype/joininggroup-all'.
2682         * modules/unictype/joininggroup-all: New file.
2683
2684         Tests for module 'unictype/joininggroup-of'.
2685         * modules/unictype/joininggroup-of-tests: New file.
2686         * tests/unictype/test-joininggroup_of.c: New file.
2687         * tests/unictype/test-joininggroup_of.h: New file, automatically
2688         generated by gen-uni-tables.
2689
2690         New module 'unictype/joininggroup-of'.
2691         * modules/unictype/joininggroup-of: New file.
2692         * lib/unictype/joininggroup_of.c: New file.
2693         * lib/unictype/joininggroup_of.h: New file, automatically generated by
2694         gen-uni-tables.
2695
2696         Tests for module 'unictype/joininggroup-byname'.
2697         * modules/unictype/joininggroup-byname-tests: New file.
2698         * tests/unictype/test-joininggroup_byname.c: New file.
2699
2700         New module 'unictype/joininggroup-byname'.
2701         * modules/unictype/joininggroup-byname: New file.
2702         * lib/unictype/joininggroup_byname.c: New file.
2703         * lib/unictype/joininggroup_byname.gperf: New file.
2704
2705         Tests for module 'unictype/joininggroup-name'.
2706         * modules/unictype/joininggroup-name-tests: New file.
2707         * tests/unictype/test-joininggroup_name.c: New file.
2708
2709         New module 'unictype/joininggroup-name'.
2710         * modules/unictype/joininggroup-name: New file.
2711         * lib/unictype/joininggroup_name.c: New file.
2712         * lib/unictype/joininggroup_name.h: New file.
2713
2714         New module 'unictype/joiningtype-all'.
2715         * modules/unictype/joiningtype-all: New file.
2716
2717         Tests for module 'unictype/joiningtype-of'.
2718         * modules/unictype/joiningtype-of-tests: New file.
2719         * tests/unictype/test-joiningtype_of.c: New file.
2720         * tests/unictype/test-joiningtype_of.h: New file, automatically
2721         generated by gen-uni-tables.
2722
2723         New module 'unictype/joiningtype-of'.
2724         * modules/unictype/joiningtype-of: New file.
2725         * lib/unictype/joiningtype_of.c: New file.
2726         * lib/unictype/joiningtype_of.h: New file, automatically generated by
2727         gen-uni-tables.
2728
2729         Tests for module 'unictype/joiningtype-byname'.
2730         * modules/unictype/joiningtype-byname-tests: New file.
2731         * tests/unictype/test-joiningtype_byname.c: New file.
2732
2733         New module 'unictype/joiningtype-byname'.
2734         * modules/unictype/joiningtype-byname: New file.
2735         * lib/unictype/joiningtype_byname.c: New file.
2736
2737         Tests for module 'unictype/joiningtype-name'.
2738         * modules/unictype/joiningtype-name-tests: New file.
2739         * tests/unictype/test-joiningtype_name.c: New file.
2740
2741         New module 'unictype/joiningtype-name'.
2742         * modules/unictype/joiningtype-name: New file.
2743         * lib/unictype/joiningtype_name.c: New file.
2744
2745         unictype: Add support for Arabic shaping properties.
2746         * lib/unictype.in.h (UC_JOINING_TYPE_*): New enumeration values.
2747         (uc_joining_type_name, uc_joining_type_byname, uc_joining_type): New
2748         declarations.
2749         (UC_JOINING_GROUP_*): New enumeration values.
2750         (uc_joining_group_name, uc_joining_group_byname, uc_joining_group): New
2751         declarations.
2752         * lib/gen-uni-tables.c (UC_JOINING_TYPE_*): New enumeration values.
2753         (unicode_joining_type): New variable.
2754         (UC_JOINING_GROUP_*): New enumeration values.
2755         (unicode_joining_group): New variable.
2756         (fill_arabicshaping, joining_type_as_c_identifier,
2757         output_joining_type_test, output_joining_type,
2758         joining_group_as_c_identifier, output_joining_group_test,
2759         output_joining_group): New functions.
2760         (main); Add an argument denoting the ArabicShaping.txt file. Invoke
2761         fill_arabicshaping and output_joining_type_test, output_joining_type,
2762         output_joining_group_test, output_joining_group.
2763         Reported by Simon Josefsson.
2764
2765 2011-03-21  Jim Meyering  <meyering@redhat.com>
2766
2767         strftime: fix a bug in yesterday's change
2768         * lib/strftime.c (add): Accommodate width's initial value of -1.
2769         Otherwise, nstrftime would copy uninitialized data into
2770         the result buffer.
2771
2772 2011-03-21  Jim Meyering  <meyering@redhat.com>
2773
2774         tests: add strftime-tests module
2775         * tests/test-strftime.c: New file.
2776         * modules/strftime-tests: New module.
2777
2778 2011-03-20  Paul Eggert  <eggert@cs.ucla.edu>
2779
2780         strftime: don't assume a byte count fits in 'int'
2781         * lib/strftime.c (add): Don't assume first arg fits in 'int'.  I
2782         found this problem by static analysis, using gcc -Wstrict-overflow
2783         (GCC 4.5.2, x86-64).  This reported an optimization that depended
2784         on an integer overflow having undefined behavior, but it turns out
2785         that the argument is a size, which might not fit in 'int' anyway,
2786
2787 2011-03-20  Paul Eggert  <eggert@cs.ucla.edu>
2788
2789         stdio: don't require ignore_value around fwrite
2790
2791         This patch works around libc bug 11959
2792         <http://sources.redhat.com/bugzilla/show_bug.cgi?id=11959>.
2793         Without this patch, applications must often write
2794         ignore_value (fwrite (...)) even though the ignore_value is
2795         not helpful here.  It's common to write many objects, using
2796         fwrite/printf/etc., and then use ferror to detect output error.
2797
2798         I considered making this patch optional, but decided against it,
2799         because libc is obviously being inconsistent here: there is no
2800         reason libc should insist that user code must inspect fwrite
2801         return's value without also insisting that it inspect printf's,
2802         putchar's, etc.  If user code wants to have a strict style where
2803         all these functions' values are checked (so that ferror need not
2804         be checked), we could add support for that style in a new gnulib
2805         module, but in the meantime it's better to be consistent and to
2806         support common usage.
2807
2808         * lib/stdio.in.h (rpl_fwrite): Define this wrapper around fwrite,
2809         to work around libc bug 11959, if __USE_FORTIFY_LEVEL indicates
2810         that we are compiling in checking mode, and if not C++, and
2811         if not already wrapping fwrite for some other reason.
2812         (fwrite): #define to rpl_fwrite if the latter is defined.
2813
2814 2011-03-20  Bruno Haible  <bruno@clisp.org>
2815
2816         verror: Fix compilation error introduced on 2011-02-13.
2817         * lib/verror.h (verror, verror_at_line): Use _GL_ATTRIBUTE_FORMAT macro
2818         instead of __attribute__.
2819         Reported by Tom G. Christensen <tgc@jupiterrise.com>.
2820
2821 2011-03-20  Paul Eggert  <eggert@cs.ucla.edu>
2822             Bruno Haible  <bruno@clisp.org>
2823
2824         socklen: do not depend on sys_socket
2825         While trying to modify Emacs to use gnulib's socklen module,
2826         I discovered a circular dependency: socklen depends on sys_socket
2827         and vice versa.  Emacs can use socklen, but it does not need
2828         sys_socket because it has its own substitute for sys/socket.h.
2829         * m4/socklen.m4 (gl_SOCKET_HEADERS): New macro, extracted from
2830         gl_TYPE_SOCKLEN_T.
2831         (gl_CHECK_SOCKET_HEADERS): New macro, taken from parts of
2832         gl_PREREQ_SYS_H_SOCKET.
2833         (gl_TYPE_SOCKLEN_T): Require it instead of requiring
2834         gl_PREREQ_SYS_H_SOCKET.
2835         * m4/sys_socket_h.m4 (gl_PREREQ_SYS_H_SOCKET): Require
2836         gl_CHECK_SOCKET_HEADERS instead of doing its work ourselves.
2837         * modules/socklen (Depends-on): Do not depend on sys_socket.
2838         (Include): Adjust to match the code used in gl_SOCKET_HEADERS.
2839
2840 2011-03-20  Jim Meyering  <meyering@redhat.com>
2841
2842         maint.mk: sort file names *after* new transformation
2843         * top/maint.mk (sc_po_check): Sorting before removing the $(srcdir)/
2844         prefix would have led to an unwarranted failure in GNU parted.
2845         Sort after that transformation.
2846
2847 2011-03-19  Jim Meyering  <meyering@redhat.com>
2848
2849         maint.mk: fix po-file syntax-check rule
2850         * top/maint.mk (sc_po_check): Fix fatal typo in yesterday's change.
2851         Patch by Bruno Haible.
2852
2853 2011-03-19  Bruno Haible  <bruno@clisp.org>
2854
2855         socklen: Update comment.
2856         * m4/socklen.m4: Update comment about platforms.
2857
2858 2011-03-19  Paul Eggert  <eggert@cs.ucla.edu>
2859             Bruno Haible  <bruno@clisp.org>
2860
2861         inet_ntop, inet_pton: Simplify.
2862         * modules/inet_ntop (Depends-on): Remove socklen, since sys_socket is
2863         documented to provide socklen_t and we already depend on sys_socket.
2864         * modules/inet_pton (Depends-on): Likewise.
2865         * lib/arpa_inet.in.h: Adjust comment.
2866
2867 2011-03-19  Paul Eggert  <eggert@cs.ucla.edu>
2868             Bruno Haible  <bruno@clisp.org>
2869
2870         netdb: Simplify.
2871         * modules/netdb (Depends-on): Remove socklen, since sys_socket is
2872         documented to provide socklen_t and we already depend on sys_socket.
2873         * lib/netdb.in.h: Adjust comment.
2874
2875 2011-03-19  Bruno Haible  <bruno@clisp.org>
2876
2877         sys_socket, netdb: Document problem with socklen_t.
2878         * doc/posix-headers/sys_socket.texi: Mention lack of socklen_t on some
2879         platforms.
2880         * doc/posix-headers/netdb.texi: Likewise.
2881
2882 2011-03-18  Eric Blake  <eblake@redhat.com>
2883
2884         maint.mk: let po check work in VPATH build
2885         * top/maint.mk (po_file): Allow cfg.mk override.
2886         (sc_po_check): Allow VPATH use.
2887         Reported by Jiri Denemark.
2888
2889 2011-03-16  Jim Meyering  <meyering@redhat.com>
2890
2891         maint.mk: allow fine-grained syntax-check exclusion via Make variables
2892         Before, you would have had to create one .x-sc_ file per rule in order
2893         to exempt offending files.  Now, you may instead use a Make variable --
2894         usually defined in cfg.mk -- whose name identifies the affected rule.
2895         * top/maint.mk (_sc_excl): Define.
2896         (VC_LIST_EXCEPT): Use it to exclude names on a per-rule basis.
2897         (_sc_search_regexp): When not using VC_LIST_EXCEPT, exclude here, too.
2898
2899 2011-03-13  Bruno Haible  <bruno@clisp.org>
2900
2901         ignore-value tests: Avoid warnings.
2902         * tests/test-ignore-value.c (_GL_ATTRIBUTE_RETURN_CHECK): Define to
2903         empty for gcc < 3.4.
2904
2905 2011-03-13  Bruno Haible  <bruno@clisp.org>
2906
2907         passfd: Fix link error on Solaris.
2908         * modules/passfd (Description): Correct.
2909         (Depends-on): Add socketlib.
2910         (Link): New section.
2911         * modules/passfd-tests (Makefile.am): Link test-passfd with LIBSOCKET.
2912
2913 2011-03-13  Bruno Haible  <bruno@clisp.org>
2914
2915         passfd: Fix link error on AIX 5.2.
2916         * m4/afunix.m4 (gl_SOCKET_AFUNIX): Define _LINUX_SOURCE_COMPAT.
2917
2918 2011-03-13  Bruno Haible  <bruno@clisp.org>
2919
2920         passfd: Work around bug with CMSG_FIRSTHDR on FreeBSD 6.4.
2921         * lib/sys_socket.in.h: Include <stddef.h>.
2922         * m4/afunix.m4 (gl_SOCKET_AFUNIX): Include <stddef.h> before using
2923         CMSG_FIRSTHDR. Remove unused variable.
2924
2925 2011-03-13  Bruno Haible  <bruno@clisp.org>
2926
2927         passfd: Fix compilation error on OpenBSD.
2928         * lib/passfd.c: Include <sys/uio.h>.
2929
2930 2011-03-13  Bruno Haible  <bruno@clisp.org>
2931
2932         passfd test: Fix warnings.
2933         * tests/test-passfd.c: Include <sys/wait.h>.
2934         (main): Fix typo.
2935
2936 2011-03-13  Bruno Haible  <bruno@clisp.org>
2937
2938         passfd module, part 4, tweaks.
2939         * tests/test-passfd.c: Reorder includes.
2940         (main): Fix perror and printf calls.
2941
2942 2011-03-07  Bastien Roucariès  <roucaries.bastien@gmail.com>
2943
2944         passfd module, part 4.
2945         * modules/passfd-tests: New file.
2946         * tests/test-passfd.c: New file.
2947
2948 2011-03-13  Jim Meyering  <meyering@redhat.com>
2949
2950         Makefile: rely on GNU make; derive syntax-check rule names
2951         Rather than requiring that each sc_ rule be listed as a dependent
2952         of "check", use features of GNU make to derive the list.
2953         * Makefile (syntax-check-rules): Define.
2954         (check): Depend on the new variable, not the hard-coded list.
2955
2956 2011-03-13  Bastien Roucariès  <roucaries.bastien@gmail.com>
2957             Bruno Haible  <bruno@clisp.org>
2958
2959         passfd module, part 3.
2960         * lib/passfd.h (recvfd): Add a flags argument.
2961         * lib/passfd.c: Include <fcntl.h>, cloexec.h.
2962         (recvfd): Add a flags argument.
2963         * m4/afunix.m4 (gl_SOCKET_AFUNIX): Test whether MSG_CMSG_CLOEXEC
2964         exists.
2965         * modules/passfd (Depends-on): Add cloexec.
2966         Suggested by Eric Blake.
2967
2968 2011-03-13  Bruno Haible  <bruno@clisp.org>
2969
2970         passfd module, part 2, tweaks.
2971         * modules/passfd (Files): Reorder.
2972         (Depends-on): Remove errno.
2973         (Include): Remove <sys/socket.h>, <sys/un.h>.
2974         * lib/passfd.h: Use a GPLv3+ header. Make C++ safe.
2975         * lib/passfd.c: Untabify. Use a GPLv3+ header. Really include the
2976         specification header. Include <sys/socket.h> always. Don't include
2977         <winsock2.h>. Use "#if HAVE_..." instead of "#ifdef HAVE_...".
2978         (sendfd): Clarify that it sets errno when it fails.
2979         (recvfd): Fix specification.
2980
2981 2011-03-07  Bastien Roucariès  <roucaries.bastien@gmail.com>
2982
2983         passfd module, part 2.
2984         * modules/passfd: New file.
2985         * lib/passfd.h: New file.
2986         * lib/passfd.c: New file.
2987
2988 2011-03-12  Bruno Haible  <bruno@clisp.org>
2989
2990         wcswidth, mbswidth: Avoid integer overflow.
2991         * lib/wcswidth.c: Include <limits.h>.
2992         * lib/wcswidth-impl.h (wcswidth): Avoid 'int' overflow.
2993         * lib/mbswidth.c: Include <limits.h>.
2994         (mbsnwidth): Avoid 'int' overflow.
2995         Reported by Jim Meyering.
2996
2997 2011-03-12  Bruno Haible  <bruno@clisp.org>
2998
2999         futimens, utimensat: Avoid endless recursion on Solaris 10.
3000         * lib/sys_stat.in.h (futimens, utimensat): Define with rpl_ prefix on
3001         Solaris.
3002         Reported by Ben Walton <bwalton@artsci.utoronto.ca> via Eric Blake
3003         in <http://debbugs.gnu.org/cgi/bugreport.cgi?bug=8230>.
3004
3005 2011-03-11  Jim Meyering  <meyering@redhat.com>
3006
3007         maint.mk: relax a regexp to accommodate other formatting styles
3008         * top/maint.mk (sc_unmarked_diagnostics): Allow 0 or 1 space
3009         between "ngettext" and the following "(".
3010
3011 2011-03-11  Pádraig Brady <P@draigBrady.com>
3012
3013         maint.mk: suppress a false positive warning
3014         * top/maint.mk ((sc_unmarked_diagnostics): Don't warn when
3015         diagnostics are marked with ngettext.
3016
3017 2011-03-10  Eric Blake  <eblake@redhat.com>
3018
3019         wchar: add explicit dependencies, for Tru64
3020         * modules/mbmemcasecoll (Depends-on): Add wchar.
3021         * modules/mbtowc (Depends-on): Likewise.
3022         * modules/vasnprintf (Depends-on): Likewise.
3023         * modules/unistdio/u-printf-args (Depends-on): Likewise.
3024         * modules/wctomb (Depends-on): Likewise.
3025         Reported by Peter O'Gorman.
3026
3027 2011-03-08  Bruno Haible  <bruno@clisp.org>
3028
3029         passfd module, part 1, tweaks.
3030         * m4/afunix.m4 (gl_SOCKET_AFUNIX): Update AC_REQUIRE invocation.
3031         Improve indentation. Improve AC_MSG_CHECKING messages.
3032         * m4/sockpfaf.m4 (gl_SOCKET_FAMILY_UNIX): New macro, extracted from
3033         gl_SOCKET_FAMILIES.
3034
3035 2011-03-07  Bastien Roucariès  <roucaries.bastien@gmail.com>
3036
3037         passfd module, part 1.
3038         * m4/afunix.m4: New file.
3039         * m4/sockpfaf.m4 (gl_SOCKET_FAMILIES): Also test for UNIX domain
3040         sockets.
3041
3042 2011-03-08  Bruno Haible  <bruno@clisp.org>
3043
3044         regex-quote: New API.
3045         * lib/regex-quote.h: Include <stdbool.h>.
3046         (struct regex_quote_spec): New type.
3047         (regex_quote_spec_posix, regex_quote_spec_gnu, regex_quote_spec_pcre):
3048         New declarations.
3049         (regex_quote_length, regex_quote_copy, regex_quote): Take a
3050         'const struct regex_quote_spec *' argument.
3051         * lib/regex-quote.c (RE_*, PCRE_*): New macros.
3052         (pcre_special): New constant.
3053         (regex_quote_spec_posix, regex_quote_spec_gnu, regex_quote_spec_pcre):
3054         New functions.
3055         (regex_quote_length, regex_quote_copy, regex_quote): Take a
3056         'const struct regex_quote_spec *' argument.
3057         * modules/regex-quote (Depends-on): Add stdbool.
3058         * tests/test-regex-quote.c (check): Update for new API. Add test for
3059         anchored results.
3060         * NEWS: Mention the API change.
3061         Reported by Reuben Thomas and Eric Blake.
3062
3063 2011-03-06  Bruno Haible  <bruno@clisp.org>
3064
3065         regex-quote: Fix creation of POSIX extended regular expressions.
3066         * lib/regex-quote.c (ere_special): Add grouping and alternation
3067         operators.
3068
3069 2011-03-05  Bruno Haible  <bruno@clisp.org>
3070
3071         doc: Improve doc regarding autopoint vs. gnulib.
3072         * doc/gnulib-tool.texi (gettextize and autopoint): Recommend to
3073         disable autopoint while running autoreconf.
3074         Suggested by Ralf Wildenhues.
3075
3076 2011-03-05  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
3077
3078         Update AC_OPENMP macro for Lahey compiler on GNU/Linux.
3079         * m4/openmp.m4 (AC_OPENMP): Sync from Autoconf.
3080
3081 2011-03-03  Bruce Korb  <bkorb@gnu.org>
3082
3083         parse-duration: remove xalloc.h dependency
3084         * lib/parse-duration.c (parse_period): handle NULL return from
3085         strdup instead of calling xstrdup().
3086         * modules/parse-duration: remove "xalloc" dependency
3087
3088 2011-03-03  Matthew Booth  <mbooth@redhat.com>
3089
3090         bootstrap: honor m4_base when running aclocal
3091         * build-aux/bootstrap: Fix hard-coded use of m4 directory name.
3092
3093 2011-03-02  Jim Meyering  <meyering@redhat.com>
3094
3095         getopt-gnu: relax license from LGPLv3+ to LGPLv2+
3096         * modules/getopt-gnu (License): Relax to LGPLv2+, for augeas,
3097         on request from Matt Booth.
3098
3099 2011-03-01  Eric Blake  <eblake@redhat.com>
3100
3101         test-link: work on Hurd
3102         * tests/test-link.h (test_link): Hurd rejects linking directories
3103         with EISDIR instead of the POSIX-mandated EPERM.
3104
3105 2011-02-28  Paul Eggert  <eggert@cs.ucla.edu>
3106
3107         stdio: simplify by moving files to printf-posix, sigpipe
3108         * m4/stdio_h.m4 (gl_STDIO_H): Do not require gl_ASM_SYMBOL_PREFIX,
3109         since this symbol is needed only if printf is replaced.
3110         * m4/printf-posix-rpl.m4 (gl_REPLACE_PRINTF):
3111         Require gl_ASM_SYMBOL_PREFIX.
3112         * modules/printf-posix (Files): Add m4/asm-underscore.m4.
3113         * modules/sigpipe (Files): Likewise.  Also, add m4/stdio-write.c.
3114         (Depends-on): Add 'raise'.
3115         (configure.ac): Require gl_ASM_SYMBOL_PREFIX.
3116         * modules/stdio (Files): Remove lib/stdio-write.c,
3117         m4/asm-underscore.m4.
3118         (Depends-on): Remove 'raise'.
3119
3120         stdio: simplify by moving gl_STDIN_LARGE_OFFSET to fseeko, ftello
3121         * m4/fseeko.m4 (gl_STDIN_LARGE_OFFSET): Moved here, from ...
3122         * m4/stdio_h.m4 (gl_STDIN_LARGE_OFFSET): ... here, because
3123         * modules/ftello (Files): Add m4/fseeko.m4, for gl_STDIN_LARGE_OFFSET.
3124
3125 2011-02-28  Bruno Haible  <bruno@clisp.org>
3126
3127         localcharset: Assume ANSI C behaviour of free().
3128         * lib/localcharset.c (get_charset_aliases): Remove NULL test before
3129         calling free().
3130         Suggested by Simon Josefsson <simon@josefsson.org>.
3131
3132 2011-02-28  Corinna Vinschen  <vinschen@redhat.com>  (tiny change)
3133             Charles Wilson  <cygwin@cwilson.fastmail.fm>  (tiny change)
3134             Bruno Haible  <bruno@clisp.org>  (tiny change)
3135
3136         On Cygwin, use /proc file system instead of win32 API.
3137         * lib/relocatable.c: On Cygwin, use file names from /proc, rather than
3138         Win32 file names.
3139         (DllMain): Simplify by removing Cygwin specific code.
3140         (find_shared_library_fullname): Use Linux specific implementation also
3141         for Cygwin.
3142         (get_shared_library_fullname): Update accordingly.
3143         * lib/progreloc.c: On Cygwin, use file names from /proc, rather than
3144         Win32 file names.
3145         (find_executable): On Cygwin, use /proc, like on Linux. Remove previous
3146         Cygwin specific code.
3147
3148 2011-02-28  Christian Rössel  <christian.roessel@gmx.de>  (tiny change)
3149             Markus Geimer  <m.geimer@fz-juelich.de>  (tiny change)
3150
3151         Fix OpenMP flag detection for various Fortran compilers.
3152         * m4/openmp.m4 (_AC_LANG_OPENMP(Fortran 77)): Use '!$'
3153         OpenMP-conditional compilation construct, to force compile
3154         failure with missing OpenMP flag.
3155         (AC_OPENMP): Add flags for Cray CCE and NEC SX compilers.
3156
3157 2011-02-25  Eric Blake  <eblake@redhat.com>
3158
3159         strstr: expand test coverage
3160         * tests/test-strstr.c (main): Add much shorter trigger.  Fix C89
3161         compilation.
3162         * tests/test-memmem.c (main): Duplicate tests.
3163         * tests/test-strcasestr.c (main): Likewise.
3164         * tests/test-c-strcasestr.c (main): Likewise.
3165
3166 2011-02-25  Jim Meyering  <meyering@redhat.com>
3167
3168         maint.mk: detect missing-NL-at-EOF, too
3169         * top/maint.mk (sc_prohibit_empty_lines_at_EOF): Adjust so that
3170         it also detects when a file lacks a newline at EOF.
3171         (require_exactly_one_NL_at_EOF_): Renamed from
3172         detect_empty_lines_at_EOF_.  I opted not to rename the rule,
3173         since people may well have .x-sc_... file names tied to the
3174         existing name.  Suggested by Eric Blake.
3175
3176 2011-02-25  Paul Eggert  <eggert@cs.ucla.edu>
3177
3178         dirname: move m4/dos.m4 functionality into lib/dosname.h
3179
3180         m4/dos.m4 needs to go.  It laboriously invokes the C compiler, and
3181         extracts symbols from it, puts them into config.h; but it's much
3182         easier to use the symbols directly.  filename.h already does this,
3183         but it disagrees with dos.m4 in some respects.  This patch
3184         introduces a different include file dosname.h that packages up
3185         dos.m4, and then later we can work on merging filename.h and
3186         dosname.h.  Applications that need only the easy-to-configure
3187         symbols should consider including dosname.h rather than dirname.h.
3188         * NEWS: Mention incompatible changes.
3189         * m4/dos.m4: Remove.
3190         * lib/dosname.h, modules/dosname: New files.
3191         * lib/dirname.h (ISSLASH, FILE_SYSTEM_PREFIX_LEN):
3192         (FILE_SYSTEM_DRIVE_PREFIX_CAN_BE_RELATIVE):
3193         (IS_ABSOLUTE_FILE_NAME, IS_RELATIVE_FILE_NAME): Move to lib/dosname.h.
3194         * lib/at-func.c, lib/at-func2.c, lib/openat.c, lib/savewd.c:
3195         Include dosname.h, not dirname.h.
3196         * lib/rmdir.c, lib/stat.c, lib/unlink.c, lib/unlinkat.c:
3197         Include dosname.h, for definitions of symbols like ISSLASH
3198         that used to be in config.h.
3199         * m4/dirname.m4 (gl_DIRNAME_LGPL): Do not require gl_AC_DOS.
3200         * m4/rmdir.m4 (gl_FUNC_RMDIR): Likewise.
3201         * m4/stat.m4 (gl_FUNC_STAT): Likewise.
3202         * m4/unlink.m4 (gl_FUNC_UNLINK): Likewise.
3203         * modules/dirname-lgpl (Files): Omit m4/dos.m4.
3204         * modules/rmdir (Files): Likewise.
3205         * modules/stat (Files): Likewise.
3206         * modules/unlink (Files): Likewise.
3207         * modules/dirname-lgpl (Depends-on): Add dosname.
3208         * modules/lstat (Depends-on): Likewise.
3209         * modules/openat (Depends-on): Likewise.
3210         * modules/rmdir (Depends-on): Likewise.
3211         * modules/savewd (Depends-on): Likewise.
3212         * modules/stat (Depends-on): Likewise.
3213         * modules/unlink (Depends-on): Likewise.
3214         * modules/openat (Depends-on): Remove dirname-lgpl.
3215         * modules/savewd (Depends-on): Likewise.
3216         * tests/test-dirname.c: Do not use removed symbols like
3217         FILE_SYSTEM_BACKSLASH_IS_FILE_NAME_SEPARATOR.  Instead, use
3218         the remaining symbols, e.g., ISSLASH ('\\').
3219
3220 2011-02-25  Eric Blake  <eblake@redhat.com>
3221
3222         strstr: revert patches that introduced bug and pessimization
3223         * lib/str-two-way.h: Add another reference.
3224         (two_way_short_needle, two_way_long_needle): Revert changes from
3225         2011-02-24; they pessimize search speed.
3226         (critical_factorization): Partially revert changes from
3227         2010-06-22; they violate the requirement that the left half of the
3228         needle be smaller than the period of the needle.
3229
3230 2011-02-24  Paul Eggert  <eggert@cs.ucla.edu>
3231
3232         filenamecat: remove unnecessary dependency on dirname-lgpl
3233         * modules/filenamecat (Depends-on): Remove dirname-lgpl, as there
3234         is no direct dependency, just an indirect one via filenamecat-lgpl.
3235
3236         remove: remove unnecessary use of m4/dos.m4
3237         * m4/remove.m4 (gl_FUNC_REMOVE): Don't require gl_AC_DOS; not needed.
3238         * modules/remove (FILES): Remove m4/dos.m4.
3239
3240         * lib/openat-proc.c: Don't include dirname.h; not needed.
3241
3242         backupfile: remove unnecessary use of m4/dos.m4
3243         * m4/backupfile.m4 (gl_BACKUPFILE): Don't require gl_AC_DOS; none
3244         of its symbols are used by the backupfile code.  backupfile.c does
3245         use a symbol HAVE_DOS_FILE_NAMES, but that symbol is meant only
3246         for the rare case of programs that want all their backup file
3247         names to live within 8+3 limits, and dos.m4 doesn't address that.
3248         * modules/backupfile (Files): Remove m4/dos.m4.
3249
3250 2011-02-24  Jim Meyering  <meyering@redhat.com>
3251
3252         strstr: fix a bug whereby strstr would mistakenly return NULL
3253         * lib/str-two-way.h (two_way_short_needle): Correct off-by-one error
3254         in period calculation.
3255         (two_way_long_needle): Likewise.
3256         The original problem was reported by Mike Stump in
3257         http://thread.gmane.org/gmane.comp.sysutils.autoconf.bugs/7834
3258         Ralf Wildenhues provided the short needle and haystack.
3259         * tests/test-strstr.c: Add Ralf's test case to trigger the bug.
3260         Add a more involved test to trigger the bug in two_way_long_needle.
3261
3262 2011-02-24  Stefano Lattarini  <stefano.lattarini@gmail.com>  (tiny change)
3263
3264         gnulib-tool: remove use of bold display in help screen
3265         * gnulib-tool (func_usage): Do not use bold display anymore in the
3266         help screen.  That was just meant to be a temporary emphasis for a
3267         backward-incompatible change.
3268
3269 2011-02-23  Bruno Haible  <bruno@clisp.org>
3270
3271         Fix misindentation of preprocessor directives.
3272         * lib/argp-namefrob.h: Reindent preprocessor directives.
3273         * lib/getopt_int.h (struct _getopt_data): Likewise.
3274         * lib/progreloc.c (maybe_executable, find_executable): Likewise.
3275         * lib/vasnprintf.c (decode_long_double): Likewise.
3276         * tests/test-argmatch.c: Insert blank lines, for clarity.
3277         * tests/test-exclude.c: Likewise.
3278
3279 2011-02-22  Bruno Haible  <bruno@clisp.org>
3280
3281         ioctl: Fix for MacOS X in 64-bit mode.
3282         * lib/ioctl.c (rpl_ioctl): Zero-extend, not sign-extend, the request
3283         value.
3284         Suggested by Eric Blake.
3285         Reported by Markus Gothe <nietzsche@lysator.liu.se>.
3286
3287 2011-02-22  Jim Meyering  <meyering@redhat.com>
3288
3289         maint: sc_cpp_indent_check: remove the "only in lib/" restriction
3290         * Makefile (sc_cpp_indent_check): Don't limit the check to files
3291         in lib/.
3292
3293 2011-02-22  Eric Blake  <eblake@redhat.com>
3294
3295         maint: avoid any CDPATH issue
3296         * Makefile (sc_cpp_indent_check): Anchor cd argument.
3297
3298         maint: adjust cpp indentation for my modules, as well
3299         * Makefile (sc_cpp_indent_check): Add my name.
3300         * lib/fbufmode.c: Filter through cppi.
3301         * lib/fpurge.c: Likewise.
3302         * lib/freadable.c: Likewise.
3303         * lib/freading.c: Likewise.
3304         * lib/fwritable.c: Likewise.
3305         * lib/fwriting.c: Likewise.
3306         * lib/sigaction.c: Likewise.
3307
3308 2011-02-22  Jim Meyering  <meyering@redhat.com>
3309
3310         maint: adjust cpp indentation to reflect nesting depth
3311         I.e., in a block of code that begins with an unnested "#if",
3312         put one space between the "#" in column 1 and following token.
3313         For example,
3314         -#include <sys/vfs.h>
3315         +# include <sys/vfs.h>
3316         Do this only in .c files that are part of a module I maintain.
3317         * lib/linkat.c: Filter through cppi.
3318         * lib/nanosleep.c: Likewise.
3319         * lib/openat.c: Likewise.
3320         * lib/openat-die.c: Likewise.
3321         * lib/dup3.c: Likewise.
3322         * lib/fchownat.c: Likewise.
3323         * lib/flock.c: Likewise.
3324         * lib/fsync.c: Likewise.
3325         * lib/fts.c: Likewise.
3326         * lib/getpass.c: Likewise.
3327         * lib/gettimeofday.c: Likewise.
3328         * lib/userspec.c: Likewise.
3329         * Makefile (sc_cpp_indent_check): New rule, to check this.
3330
3331 2011-02-22  Bruno Haible  <bruno@clisp.org>
3332
3333         New module 'wctomb'.
3334         * lib/stdlib.in.h (wctomb): New declaration.
3335         * lib/wctomb.c: New file.
3336         * lib/wctomb-impl.h: New file.
3337         * m4/wctomb.m4: New file.
3338         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize GNULIB_WCTOMB,
3339         REPLACE_WCTOMB.
3340         * modules/stdlib (Makefile.am): Substitute GNULIB_WCTOMB,
3341         REPLACE_WCTOMB.
3342         * modules/wctomb: New file.
3343         * tests/test-stdlib-c++.cc: Test signature of wctomb.
3344         * doc/posix-functions/wctomb.texi: Mention the new module.
3345         * modules/wctob (Depends-on): Add wctomb.
3346
3347 2011-02-22  Bruno Haible  <bruno@clisp.org>
3348
3349         New module 'mbtowc'.
3350         * lib/stdlib.in.h (mbtowc): New declaration.
3351         * lib/mbtowc.c: New file.
3352         * lib/mbtowc-impl.h: New file, from libutf8 with modifications.
3353         * m4/mbtowc.m4: New file.
3354         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize GNULIB_MBTOWC,
3355         REPLACE_MBTOWC.
3356         * modules/stdlib (Makefile.am): Substitute GNULIB_MBTOWC,
3357         REPLACE_MBTOWC.
3358         * modules/mbtowc: New file.
3359         * tests/test-stdlib-c++.cc: Test signature of mbtowc.
3360         * doc/posix-functions/mbtowc.texi: Mention the new module.
3361         * modules/btowc (Depends-on): Add mbtowc.
3362
3363 2011-02-22  Bruno Haible  <bruno@clisp.org>
3364
3365         wcrtomb: Add more tests for native Windows platforms.
3366         * tests/test-wcrtomb-w32-1.sh: New file.
3367         * tests/test-wcrtomb-w32-2.sh: New file.
3368         * tests/test-wcrtomb-w32-3.sh: New file.
3369         * tests/test-wcrtomb-w32-4.sh: New file.
3370         * tests/test-wcrtomb-w32-5.sh: New file.
3371         * tests/test-wcrtomb-w32.c: New file.
3372         * modules/wcrtomb-tests (Files): Add them.
3373         (Makefile.am): Arrange to run these tests.
3374         * tests/test-wcrtomb-w32-6.sh: New file, currently unused.
3375         * tests/test-wcrtomb-w32-7.sh: New file, currently unused.
3376
3377 2011-02-20  Bruno Haible  <bruno@clisp.org>
3378
3379         wcrtomb: Enhance test.
3380         * tests/test-wcrtomb.c (main): Add test against bug with NULL argument.
3381
3382 2011-02-20  Bruno Haible  <bruno@clisp.org>
3383
3384         mbrtowc: Tiny optimization.
3385         * lib/mbrtowc.c (mbrtowc): Delay pstate assignment until it is needed.
3386
3387 2011-02-20  Jim Meyering  <meyering@redhat.com>
3388
3389         test-exclude.c: remove unmatched #endif
3390         * tests/test-exclude.c: Remove stray #endif, left over from
3391         the change of a week ago.
3392
3393 2011-02-19  Jim Meyering  <meyering@redhat.com>
3394
3395         git-version-gen: skip "-dirty" check when appropriate
3396         * build-aux/git-version-gen: Don't run any git commands when the
3397         version string comes from .tarball-version.  Prior to this, we
3398         would run git update-index --refresh even from a just-unpacked
3399         tarball directory, and that could affect a .git/ directory in a
3400         parent of the build directory.  Reported by Mike Frysinger.
3401
3402 2011-02-19  Bruno Haible  <bruno@clisp.org>
3403
3404         unictype/property-byname: Reduce the size of the 'data' segment.
3405         * lib/unictype/pr_byname.gperf: Add gperf option '%pic'.
3406
3407 2011-02-19  Bruno Haible  <bruno@clisp.org>
3408
3409         unictype/scripts: Reduce the size of the 'data' segment.
3410         * lib/gen-uni-tables.c (output_scripts_byname): Emit gperf option
3411         '%pic'.
3412         * lib/unictype/scripts_byname.gperf: Regenerated.
3413
3414 2011-02-19  Bruno Haible  <bruno@clisp.org>
3415
3416         stdint: Update documentation.
3417         * doc/posix-headers/stdint.texi: Mention WCHAR_MIN, WCHAR_MAX problem.
3418
3419 2011-02-18  Paul Eggert  <eggert@cs.ucla.edu>
3420
3421         stdint: omit redundant check for wchar.h
3422         * m4/stdint.m4 (gl_STDINT_H): The earlier part of this macro now
3423         always tests whether wchar.h exists, so remove the now-redundant test.
3424
3425 2011-02-18  Bruno Haible  <bruno@clisp.org>
3426
3427         stdint: Cut dependency to module 'wchar'.
3428         * lib/stdint.in.h: Include wchar.h only when HAVE_WCHAR_H is 1. Also
3429         include the necessary prerequisites.
3430         * m4/stdint.m4 (gl_STDINT_H): Test whether wchar.h exists.
3431         * modules/stdint (Depends-on): Remove wchar.
3432         (Makefile.am): Substitute HAVE_WCHAR_H.
3433         This reverts part of a 2007-01-06 commit. Reported by Paul Eggert.
3434
3435 2011-02-18  Eric Blake  <eblake@redhat.com>
3436
3437         longlong: skip, rather than fail, on cross-compilation
3438         * m4/longlong.m4 (AC_TYPE_LONG_LONG_INT): Avoid aborting configure
3439         when cross-compiling; regression from 2011-02-16.
3440
3441 2011-02-17  Paul Eggert  <eggert@cs.ucla.edu>
3442
3443         * NEWS: Mention 2011-02-08 change to stdlib.
3444
3445 2011-02-17  Bruno Haible  <bruno@clisp.org>
3446
3447         getloadavg: Add comments about platforms.
3448         * m4/getloadavg.m4: Add comment.
3449         * lib/getloadavg.c: Likewise.
3450
3451 2011-02-17  Bruno Haible  <bruno@clisp.org>
3452
3453         getloadavg: Fix link error on Solaris 2.6.
3454         * modules/getloadavg (Link): New section.
3455         * modules/getloadavg-tests (Makefile.am): Use GETLOADAVG_LIBS for
3456         linking test-getloadavg.
3457         * doc/glibc-functions/getloadavg.texi: Mention that Solaris 2.6 lacks
3458         getloadavg.
3459
3460 2011-02-17  Paul Eggert  <eggert@cs.ucla.edu>
3461
3462         * lib/getloadavg.c (getloadavg) [sgi]: Make ldav_off of type ptrdiff_t.
3463         It was 'int', but this doesn't match the IRIX 6.5 manual.
3464         Suggested by Bruno Haible in
3465         <http://lists.gnu.org/archive/html/bug-gnulib/2011-02/msg00207.html>.
3466
3467 2011-02-17  Bruno Haible  <bruno@clisp.org>
3468
3469         havelib: Fix comments.
3470         * m4/lib-link.m4 (AC_LIB_RPATH): Update comments after 2007-01-02
3471         change.
3472
3473 2011-02-17  Bruno Haible  <bruno@clisp.org>
3474
3475         havelib: Update config.rpath.
3476         * build-aux/config.rpath: Update to match libtool.m4 from libtool-2.4.
3477
3478 2011-02-17  Bruno Haible  <bruno@clisp.org>
3479
3480         getloadavg test: Add some plausibility checks.
3481         * tests/test-getloadavg.c (check_avg): Print a warning when the value
3482         is improbable.
3483
3484 2011-02-16  Eric Blake  <eblake@redhat.com>
3485
3486         maintainer-makefile: make syntax-check a no-op from tarballs
3487         * top/maint.mk (no-vc-detected): New rule.
3488         (local-checks-available): Use it to avoid hanging if someone tries
3489         'make syntax-check' from a tarball.  Also append to any non-syntax
3490         checks already defined in cfg.mk.
3491
3492 2011-02-16  Paul Eggert  <eggert@cs.ucla.edu>
3493
3494         longlong: tune, particularly for common case of c99
3495
3496         * m4/longlong.m4 (AC_TYPE_LONG_LONG_INT): Don't bother compiling
3497         or running anything if c99, or if unsigned long long int does not
3498         work.  In either case, we know the answer without further tests.
3499         Do not compile _AC_TYPE_LONG_LONG_SNIPPET twice.  Instead, compile
3500         it at most once, and use its results for both long long int and
3501         unsigned long long int.  This is more likely to be efficient in
3502         the common case where the program wants to check for both long
3503         long int and unsigned long long int.
3504         (AC_TYPE_UNSIGNED_LONG_LONG_INT): Don't bother compiling if c99,
3505         since the answer is already known.
3506
3507 2011-02-15  Paul Eggert  <eggert@cs.ucla.edu>
3508
3509         getloadavg: set errno
3510         * lib/getloadavg.c: Set errno when returning -1.  If no other
3511         error number looks appropriate, set it to ENOSYS if the getloadavg
3512         looks like it can't possibly ever work, ENOTSUP otherwise.
3513         Suggested by Bruno Haible in
3514         <http://lists.gnu.org/archive/html/bug-gnulib/2011-02/msg00187.html>.
3515
3516         getloadavg: trim unused parts and speed up 'configure'
3517         * NEWS: Document this.
3518         * lib/getloadavg.c: Ignore HAVE_GETLOADAVG; this file is now
3519         always compiled if getloadavg is absent.
3520         Move test code to ...
3521         * tests/test-getloadavg.c: New file, containing previous
3522         contents of test from lib/getloadavg.c.  It also contains
3523         suggestions by Bruno Haible in
3524         <http://lists.gnu.org/archive/html/bug-gnulib/2011-02/msg00186.html>.
3525         * modules/getloadavg-tests: New file.
3526         * m4/getloadavg.m4 (gl_GETLOADAVG): Do not check for getloadavg twice.
3527         Do tests in the same order as they're needed for getloadavg.c.
3528         Omit setgid-related tests that generate symbols KMEM_GROUP,
3529         NEET_SETGID, GETLOADAVG_PRIVILEGED; nobody seems to use those any more.
3530         Do only the tests that are needed to see whether the system has
3531         getloadavg, moving the other tests into ...
3532         (gl_PREREQ_GETLOADAVG): ... here.  Do not define obsolete symbol
3533         NLIST_NAME_UNION; nobody should be using it.  Do not define
3534         symbols C_GETLOADAVG and HAVE_GETLOADAVG; they're no longer
3535         relevant, as the user of this module shouldn't care how getloadavg
3536         is implemented.
3537
3538         getloadavg: omit unused var
3539         * lib/getloadavg.c (getloadavg): Omit unused local variable.
3540
3541 2011-02-15  Jim Meyering  <meyering@redhat.com>
3542
3543         doc: update users.txt
3544         * users.txt: Update iwhd's URL.
3545
3546 2011-02-13  Bruno Haible  <bruno@clisp.org>
3547
3548         Consistent macro naming for macros that use GCC __attribute__.
3549         * lib/di-set.h (_GL_ATTRIBUTE_NONNULL): Renamed from
3550         _ATTRIBUTE_NONNULL_.
3551         * lib/ino-map.h (_GL_ATTRIBUTE_NONNULL): Likewise.
3552         * lib/hash.h (_GL_ATTRIBUTE_WUR): Renamed from ATTRIBUTE_WUR.
3553         * lib/ignore-value.h (_GL_ATTRIBUTE_DEPRECATED): Renamed from
3554         ATTRIBUTE_DEPRECATED.
3555         * lib/openat.h (_GL_ATTRIBUTE_NORETURN): Renamed from
3556         ATTRIBUTE_NORETURN.
3557         * lib/sigpipe-die.h (_GL_ATTRIBUTE_NORETURN): Likewise.
3558         * lib/xmemdup0.h (_GL_ATTRIBUTE_NORETURN): Likewise.
3559         * lib/xstrtol.h (_GL_ATTRIBUTE_NORETURN): Likewise.
3560         * lib/xalloc.h (_GL_ATTRIBUTE_NORETURN): Likewise.
3561         (_GL_ATTRIBUTE_MALLOC): Renamed from ATTRIBUTE_MALLOC.
3562         (_GL_ATTRIBUTE_ALLOC_SIZE): Renamed from ATTRIBUTE_ALLOC_SIZE.
3563         * lib/version-etc.h (_GL_ATTRIBUTE_SENTINEL): Renamed from
3564         ATTRIBUTE_SENTINEL.
3565         * lib/safe-alloc.h (_GL_ATTRIBUTE_RETURN_CHECK): Renamed from
3566         ATTRIBUTE_RETURN_CHECK.
3567         * tests/test-ignore-value.c (_GL_ATTRIBUTE_RETURN_CHECK): Likewise.
3568         * tests/test-argmatch.c (_GL_ATTRIBUTE_NORETURN): Renamed from
3569         ATTRIBUTE_NORETURN.
3570         * tests/test-exclude.c (_GL_ATTRIBUTE_NORETURN): Likewise.
3571         Reported by Paul Eggert.
3572
3573 2011-02-13  Bruno Haible  <bruno@clisp.org>
3574
3575         Don't interfere with a program's definition of __attribute__.
3576         * lib/argp.h (__attribute__): Remove definition.
3577         (_GL_ATTRIBUTE_FORMAT): New macro.
3578         (argp_error, __argp_error, argp_failure, __argp_failure): Use it.
3579         * lib/argp-fmtstream.h (__attribute__): Remove definition.
3580         (_GL_ATTRIBUTE_FORMAT): New macro.
3581         (__argp_fmtstream_printf, argp_fmtstream_printf): Use it.
3582         * lib/argp-help.c (hol_entry_long_iterate): Use __attribute__ only for
3583         GCC 3 or newer.
3584         * lib/error.h (__attribute__): Remove definition.
3585         (_GL_ATTRIBUTE_FORMAT): New macro.
3586         (error, error_at_line): Use it.
3587         * lib/hash.h (__attribute__): Remove definition.
3588         (ATTRIBUTE_WUR): Update definition. Define always.
3589         * lib/openat.h (__attribute__): Remove definition.
3590         (ATTRIBUTE_NORETURN): Update definition. Define always.
3591         * lib/sigpipe-die.h (__attribute__): Remove definition.
3592         (ATTRIBUTE_NORETURN): Update definition. Define always.
3593         * lib/vasnprintf.h (__attribute__): Remove definition.
3594         (_GL_ATTRIBUTE_FORMAT): New macro.
3595         (asnprintf, vasnprintf): Use it.
3596         * lib/xalloc.h (__attribute__): Remove definition.
3597         (ATTRIBUTE_NORETURN): Update definition. Define always.
3598         (ATTRIBUTE_MALLOC, ATTRIBUTE_ALLOC_SIZE): Define always.
3599         * lib/xmemdup0.h (__attribute__): Remove definition.
3600         (ATTRIBUTE_NORETURN): Update definition. Define always.
3601         * lib/xprintf.h (__attribute__): Remove definition.
3602         (_GL_ATTRIBUTE_FORMAT): New macro.
3603         (xprintf, xvprintf, xfprintf, xvfprintf): Use it.
3604         * lib/xstrtol.h (__attribute__): Remove definition.
3605         (ATTRIBUTE_NORETURN): Update definition. Define always.
3606         * lib/xvasprintf.h (__attribute__): Remove definition.
3607         (_GL_ATTRIBUTE_FORMAT): New macro.
3608         (xasprintf, xvasprintf): Use it.
3609         * tests/test-argmatch.c (__attribute__): Remove definition.
3610         (ATTRIBUTE_NORETURN): Update definition. Define always.
3611         * tests/test-exclude.c (__attribute__): Remove definition.
3612         (ATTRIBUTE_NORETURN): Update definition. Define always.
3613         Reported by Paul Eggert.
3614
3615 2011-02-13  Bruno Haible  <bruno@clisp.org>
3616
3617         mbrtowc: Add more tests for native Windows platforms.
3618         * tests/test-mbrtowc-w32-1.sh: New file.
3619         * tests/test-mbrtowc-w32-2.sh: New file.
3620         * tests/test-mbrtowc-w32-3.sh: New file.
3621         * tests/test-mbrtowc-w32-4.sh: New file.
3622         * tests/test-mbrtowc-w32-5.sh: New file.
3623         * tests/test-mbrtowc-w32.c: New file.
3624         * modules/mbrtowc-tests (Files): Add them.
3625         (Makefile.am): Arrange to run these tests.
3626         * tests/test-mbrtowc-w32-6.sh: New file, currently unused.
3627         * tests/test-mbrtowc-w32-7.sh: New file, currently unused.
3628
3629 2011-02-13  Bruno Haible  <bruno@clisp.org>
3630
3631         mbrtowc: Work around native Windows bug.
3632         * m4/mbrtowc.m4 (gl_MBRTOWC_RETVAL): Detect native Windows bug. Use the
3633         guess when no suitable locale for testing was found.
3634         * doc/posix-functions/mbrtowc.texi: Mention the native Windows bug.
3635
3636 2011-02-13  Bruno Haible  <bruno@clisp.org>
3637
3638         mbsinit: Work around mingw bug.
3639         * m4/mbsinit.m4 (gl_FUNC_MBSINIT): Replace mbsinit also on mingw.
3640         * lib/mbsinit.c (mbsinit): Provide an alternate definition for native
3641         Windows.
3642         * doc/posix-functions/mbsinit.texi: Mention the mingw bug.
3643
3644 2011-02-13  Bruno Haible  <bruno@clisp.org>
3645
3646         mbsinit: Don't crash for a NULL argument.
3647         * lib/mbsinit.c (mbsinit): When the argument is NULL, return 1.
3648         * tests/test-mbsinit.c (mbsinit): Check this behaviour.
3649
3650 2011-02-13  Bruno Haible  <bruno@clisp.org>
3651
3652         Don't interfere with a program's definition of __attribute__.
3653         * lib/stdio.in.h (__attribute__): Remove definition.
3654         (_GL_ATTRIBUTE_FORMAT, _GL_ATTRIBUTE_FORMAT_PRINTF): New macros.
3655         (dprintf, fprintf, obstack_printf, obstack_printf, obstack_vprintf,
3656         printf, snprintf, sprintf, asprintf, vasprintf, vdprintf, vfprintf,
3657         vsnprintf, vsprintf): Use _GL_ATTRIBUTE_FORMAT_PRINTF.
3658         * lib/string.in.h (__attribute__): Remove definition.
3659         Reported by Paul Eggert.
3660
3661 2011-02-12  Paul Eggert  <eggert@cs.ucla.edu>
3662
3663         stdlib: don't get in the way of non-GCC __attribute__
3664         See thread starting at
3665         <http://lists.gnu.org/archive/html/bug-gnulib/2011-02/msg00161.html>.
3666         Revert previous stdlib change, installing the following instead:
3667         * lib/stdlib.in.h (__attribute__): Remove.  We do not want
3668         to get in the way of a non-GCC compiler that supports __attribute__.
3669         (_GL_ATTRIBUTE_RETURN): New macro.
3670         (_Exit): Use it instead of __attribute__.
3671
3672 2011-02-12  Bruno Haible  <bruno@clisp.org>
3673
3674         quotearg test: Avoid test failure on mingw.
3675         * tests/test-quotearg.sh: Convert the locale identifier from native
3676         Windows syntax to Unix syntax.
3677
3678 2011-02-12  Bruno Haible  <bruno@clisp.org>
3679
3680         setlocale: Prefer gnulib's override over libintl's override.
3681         * lib/locale.in.h (GNULIB_defined_setlocale): New macro.
3682         * lib/gettext.h (setlocale): Redefine to rpl_setlocale if
3683         GNULIB_defined_setlocale is set.
3684
3685 2011-02-12  Paul Eggert  <eggert@cs.ucla.edu>
3686
3687         stdlib: support non-GCC __attribute__
3688
3689         Fix a serious and tricky problem encountered when attempting to
3690         add the getloadavg module to Emacs.  Emacs worked fine on RHEL
3691         5.5, but it crashed due to memory corruption on Solaris 10 with
3692         Sun C 5.11.  Emacs normally ORs 3-bit tags into their low-order
3693         bits that are otherwise zero.  This tagging is optional inside
3694         Emacs but is preferred and is used when __attribute__ ((__aligned
3695         (8))) works, as it does with both recent-enough GCC and with Sun C
3696         5.11.  However, Sun C 5.11 is not GCC and does not #define
3697         __GNUC__ and __GNUC_MINOR__.
3698
3699         When I added the getloadavg module to Emacs, it brought in
3700         stdlib.in.h, which contained this fragment:
3701
3702            #ifndef __attribute__
3703            # if __GNUC__ < 2 || (__GNUC__ == 2 && __GNUC_MINOR__ < 8)
3704            #  define __attribute__(Spec)   /* empty */
3705            # endif
3706            #endif
3707
3708         When files that include <stdlib.h> were compiled with Sun C 5.11,
3709         the above code disabled __attribute__ ((__aligned (8))), which
3710         caused variables to not be properly aligned, which eventually led
3711         to the pointer corruption mentioned above.  (This was a bit hard
3712         to diagnose, unfortunately.)
3713
3714         Several "#define __attribute__(X) /* empty */" code snippets need
3715         to be eradicated from Gnulib to work with non-GCC compilers that
3716         support __attribute__.  The Autoconf way to do this is to test for
3717         each kind of attribute that we want support for, and selectively
3718         enable that in source code.
3719
3720         Fix this problem just for stdlib.h, by adding a test for the
3721         __noreturn__ attribute, and change stdlib.in.h to use that test
3722         when needed.  This technique can be easily generalized to the
3723         other *.in.h files and attributes, and a similar technique can be
3724         used for *.h and *.c files.  This patch is enough to solve the
3725         problem for Emacs + getloadavg, and I thought I'd publish it for
3726         feedback before undertaking further, similar fixes in other
3727         modules.
3728
3729         This patch does not arrange to #define HAVE_ATTRIBUTE_NORETURN
3730         because it's not needed for stdlib.h.  It merely substitutes the
3731         value directly into stdlib.h.  We may well need to #define it, or
3732         similar symbols, for other modules, but it's nice to also have an
3733         option to not #define it for applications like Emacs that do not
3734         need it.
3735
3736         * lib/stdlib.in.h (__attribute__): Do not #define.
3737         (_GL_ATTRIBUTE_NORETURN): New macro, which in stdlib.h needs to
3738         be defined only if the _Exit module is also used.
3739         * m4/_Exit.m4 (gl_FUNC__EXIT): Require gl_ATTRIBUTE_NORETURN.
3740         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Subst
3741         HAVE_ATTRIBUTE_NORETURN and default it to 1, its value on GNU
3742         platforms.
3743         * modules/_Exit (Files): Add m4/attribute.m4.
3744         * modules/stdlib (Makefile.am): Substitute HAVE_ATTRIBUTE_NORETURN.
3745         * m4/attribute.m4: New file.
3746
3747 2011-02-12  Bruno Haible  <bruno@clisp.org>
3748
3749         wcsrtombs: Work around bug on native Windows.
3750         * m4/wcsrtombs.m4 (gl_WCSRTOMBS_NULL): Test against mingw bug.
3751         * lib/wcsrtombs.c (rpl_wcsrtombs): When dest is NULL, pass SIZE_MAX
3752         instead of len.
3753         * doc/posix-functions/wcsrtombs.texi: Document mingw bug.
3754
3755 2011-02-12  Bruno Haible  <bruno@clisp.org>
3756
3757         mbsrtowcs: Work around bug on native Windows.
3758         * m4/mbsrtowcs.m4 (gl_MBSRTOWCS_WORKS): Require gt_LOCALE_FR. Test
3759         against mingw bug.
3760         * doc/posix-functions/mbsrtowcs.texi: Document mingw bug.
3761
3762 2011-02-12  Bruno Haible  <bruno@clisp.org>
3763
3764         Avoid setlocale bugs in tests.
3765         * modules/btowc (Dependencies): Add setlocale.
3766         * modules/c-strcase (Dependencies): Likewise.
3767         * modules/mbmemcasecmp (Dependencies): Likewise.
3768         * modules/mbmemcasecoll (Dependencies): Likewise.
3769         * modules/mbrtowc (Dependencies): Likewise.
3770         * modules/mbscasecmp (Dependencies): Likewise.
3771         * modules/mbscasestr (Dependencies): Likewise.
3772         * modules/mbschr (Dependencies): Likewise.
3773         * modules/mbscspn (Dependencies): Likewise.
3774         * modules/mbsinit (Dependencies): Likewise.
3775         * modules/mbsncasecmp (Dependencies): Likewise.
3776         * modules/mbsnrtowcs (Dependencies): Likewise.
3777         * modules/mbspbrk (Dependencies): Likewise.
3778         * modules/mbspcasecmp (Dependencies): Likewise.
3779         * modules/mbsrchr (Dependencies): Likewise.
3780         * modules/mbsrtowcs (Dependencies): Likewise.
3781         * modules/mbsspn (Dependencies): Likewise.
3782         * modules/mbsstr (Dependencies): Likewise.
3783         * modules/nl_langinfo (Dependencies): Likewise.
3784         * modules/quotearg (Dependencies): Likewise.
3785         * modules/unicase/locale-language (Dependencies): Likewise.
3786         * modules/unicase/ulc-casecmp (Dependencies): Likewise.
3787         * modules/unicase/ulc-casecoll (Dependencies): Likewise.
3788         * modules/unigbrk/ulc-grapheme-breaks (Dependencies): Likewise.
3789         * modules/unistdio/u8-vasnprintf (Dependencies): Likewise.
3790         * modules/unistdio/u16-vasnprintf (Dependencies): Likewise.
3791         * modules/unistdio/u32-vasnprintf (Dependencies): Likewise.
3792         * modules/unistdio/ulc-vasnprintf (Dependencies): Likewise.
3793         * modules/uniwbrk/ulc-wordbreaks (Dependencies): Likewise.
3794         * modules/vasnprintf-posix (Dependencies): Likewise.
3795         * modules/wcrtomb (Dependencies): Likewise.
3796         * modules/wcsnrtombs (Dependencies): Likewise.
3797         * modules/wcsrtombs (Dependencies): Likewise.
3798
3799 2011-02-12  Bruno Haible  <bruno@clisp.org>
3800
3801         setlocale: Workaround native Windows bug.
3802         * lib/setlocale.c (rpl_setlocale): On native Windows, when setlocale
3803         succeeds but sets LC_CTYPE to "C", report a failure.
3804         * tests/test-setlocale2.sh: New file.
3805         * tests/test-setlocale2.c: New file.
3806         * modules/setlocale-tests (Files): Add the new files.
3807         (Makefile.am): Enable test-setlocale2.sh test.
3808         * doc/posix-functions/setlocale.texi: Mention workaround.
3809
3810 2011-02-11  Bruno Haible  <bruno@clisp.org>
3811
3812         Tests for module 'setlocale'.
3813         * modules/setlocale-tests: New file.
3814         * tests/test-setlocale1.sh: New file.
3815         * tests/test-setlocale1.c: New file.
3816
3817         New module 'setlocale'.
3818         * lib/locale.in.h (setlocale): New declaration.
3819         * lib/setlocale.c: New file, based on
3820         gettext/gettext-runtime/intl/setlocale.c.
3821         * m4/setlocale.m4: New file.
3822         * m4/locale_h.m4 (gl_LOCALE_H): Test whether setlocale is declared.
3823         (gl_LOCALE_H_DEFAULTS): Initialize GNULIB_SETLOCALE, REPLACE_SETLOCALE.
3824         * modules/locale (Makefile.am): Substitute GNULIB_SETLOCALE,
3825         REPLACE_SETLOCALE.
3826         * modules/setlocale: New file.
3827         * tests/test-locale-c++.cc: Test the declaration of setlocale.
3828         * doc/posix-functions/setlocale.texi: Mention the new module.
3829
3830 2011-02-11  Bruno Haible  <bruno@clisp.org>
3831
3832         Prepare for locale dependent tests on mingw.
3833         * m4/locale-ar.m4 (gt_LOCALE_AR): On native Windows, don't try "ar"
3834         because it has the wrong locale encoding.
3835         * m4/locale-fr.m4 (gt_LOCALE_FR): On native Windows, try
3836         French_France.1252 instead of "fr".
3837         (gt_LOCALE_FR_UTF8): On native Windows, try French_France.65001.
3838         * m4/locale-ja.m4 (gt_LOCALE_JA): On native Windows, don't try "ja"
3839         because it has the wrong locale encoding.
3840         * m4/locale-tr.m4 (gt_LOCALE_TR_UTF8): Require AC_CANONICAL_HOST. On
3841         native Windows, try Turkish_Turkey.65001.
3842         * m4/locale-zh.m4 (gt_LOCALE_ZH_CN): On native Windows, try
3843         Chinese_China.54936.
3844
3845         Prepare for locale dependent tests on mingw.
3846         * m4/locale-ar.m4 (gt_LOCALE_AR): On native Windows, call setlocale
3847         differently.
3848         * m4/locale-fr.m4 (gt_LOCALE_FR, gt_LOCALE_FR_UTF8): Likewise.
3849         * m4/locale-ja.m4 (gt_LOCALE_JA): Likewise.
3850         * m4/locale-tr.m4 (gt_LOCALE_TR_UTF8): Likewise.
3851         * m4/locale-zh.m4 (gt_LOCALE_ZH_CN): Likewise.
3852
3853 2011-02-11  Eric Blake  <eblake@redhat.com>
3854
3855         strptime: avoid compiler warnings
3856         * lib/strptime.c (__strptime_internal) [!_NL_CURRENT]: Avoid
3857         compiler warnings about dead code.
3858         Reported by Daniel P. Berrange.
3859
3860 2011-02-11  Thien-Thi Nguyen  <ttn@gnuvola.org>
3861
3862         doc: update users.txt
3863         * users.txt: Add rcs.
3864
3865 2011-02-10  John W. Eaton  <jwe@gnu.org>
3866
3867         doc: update users.txt
3868         * users.txt: Add octave.
3869
3870 2011-02-10  Jim Meyering  <meyering@redhat.com>
3871
3872         doc: update users.txt
3873         * users.txt: Add iwhd.
3874
3875 2011-02-09  Bruno Haible  <bruno@clisp.org>
3876
3877         gnulib-tool: Make copyright notice adjustment more robust.
3878         * gnulib-tool (func_import): In sed_transform_main_lib_file,
3879         sed_transform_build_aux_file, sed_transform_testsrelated_lib_file,
3880         allow a line break to occur after "GNU" in "GNU [Lesser] General Public
3881         License".
3882         Reported by Glenn Morris <rgm@gnu.org> via Paul Eggert.
3883
3884 2011-02-06  Bruno Haible  <bruno@clisp.org>
3885
3886         New module 'towctrans'.
3887         * modules/towctrans: New file.
3888         * lib/wctype.in.h (towctrans): New declaration.
3889         * lib/towctrans.c: New file.
3890         * lib/towctrans-impl.h: New file.
3891         * m4/towctrans.m4: New file.
3892         * m4/wctype_h.m4 (gl_WCTYPE_H): Test whether towctrans is declared.
3893         (gl_WCTYPE_H_DEFAULTS): Initialize GNULIB_TOWCTRANS.
3894         * modules/wctype-h (Makefile.am): Substitute GNULIB_TOWCTRANS.
3895         * tests/test-wctype-h-c++.cc: Test the declaration of towctrans.
3896         * doc/posix-functions/towctrans.texi: Mention the new module.
3897
3898 2011-02-06  Bruno Haible  <bruno@clisp.org>
3899
3900         New module 'wctrans'.
3901         * modules/wctrans: New file.
3902         * lib/wctype.in.h (wctrans): New declaration.
3903         * lib/wctrans.c: New file.
3904         * lib/wctrans-impl.h: New file.
3905         * m4/wctrans.m4: New file.
3906         * m4/wctype_h.m4 (gl_WCTYPE_H): Test whether wctrans is declared.
3907         (gl_WCTYPE_H_DEFAULTS): Initialize GNULIB_WCTRANS.
3908         * modules/wctype-h (Makefile.am): Substitute GNULIB_WCTRANS.
3909         * tests/test-wctype-h-c++.cc: Test the declaration of wctrans.
3910         * doc/posix-functions/wctrans.texi: Mention the new module.
3911
3912 2011-02-06  Bruno Haible  <bruno@clisp.org>
3913
3914         New module 'iswctype'.
3915         * modules/iswctype: New file.
3916         * lib/wctype.in.h (iswctype): New declaration.
3917         * lib/iswctype.c: New file.
3918         * lib/iswctype-impl.h: New file.
3919         * m4/iswctype.m4: New file.
3920         * m4/wctype_h.m4 (gl_WCTYPE_H): Test whether iswctype is declared.
3921         (gl_WCTYPE_H_DEFAULTS): Initialize GNULIB_ISWCTYPE.
3922         * modules/wctype-h (Makefile.am): Substitute GNULIB_ISWCTYPE.
3923         * tests/test-wctype-h-c++.cc: Test the declaration of iswctype.
3924         * doc/posix-functions/iswctype.texi: Mention the new module and the
3925         HP-UX 11.00 problem.
3926
3927 2011-02-06  Bruno Haible  <bruno@clisp.org>
3928
3929         New module 'wctype'.
3930         * modules/wctype: Change to represent the wctype() substitute.
3931         * lib/wctype.in.h (wctype): New declaration.
3932         * lib/wctype.c: New file.
3933         * lib/wctype-impl.h: New file.
3934         * m4/wctype.m4: New file.
3935         * m4/wctype_h.m4 (gl_WCTYPE_H): Test whether wctype is declared.
3936         (gl_WCTYPE_H_DEFAULTS): Initialize GNULIB_WCTYPE.
3937         * modules/wctype-h (Makefile.am): Substitute GNULIB_WCTYPE.
3938         * tests/test-wctype-h-c++.cc: Test the declaration of wctype.
3939         * doc/posix-functions/wctype.texi: Mention the new module and the
3940         HP-UX 11.00 problem.
3941
3942 2011-02-06  Bruno Haible  <bruno@clisp.org>
3943
3944         wctype-h: Ensure wctype_t and wctrans_t are defined.
3945         * lib/wctype.in.h (wctype_t, wctrans_t): New type declarations.
3946         * m4/wctype_h.m4 (gl_WCTYPE_H): Determine HAVE_WCTYPE_T, HAVE_WCTRANS_T.
3947         (gl_WCTYPE_H_DEFAULTS): Initialize HAVE_WCTYPE_T, HAVE_WCTRANS_T.
3948         * modules/wctype-h (Makefile.am): Substitute HAVE_WCTYPE_T,
3949         HAVE_WCTRANS_T.
3950         * tests/test-wctype-h.c: Check that wctype_t and wctrans_t are defined.
3951
3952 2011-02-09  Paul Eggert  <eggert@cs.ucla.edu>
3953
3954         flock: fix license typo
3955
3956         * lib/flock.c: Fix typo in license.  One of the "Lesser"s was
3957         omitted.
3958
3959 2011-02-08  Bruno Haible  <bruno@clisp.org>
3960
3961         Split large sed scripts, for HP-UX sed.
3962         * modules/math (Makefile.am): Split sed scripts around 50 sed commands,
3963         to avoid HP-UX limit of 99 commands, in the near future.
3964         * modules/stdlib (Makefile.am): Likewise.
3965         * modules/unistd (Makefile.am): Likewise.
3966         * modules/wchar (Makefile.am): Likewise.
3967         Reported by Albert Chin <bug-gnulib@mlists.thewrittenword.com>.
3968         Suggestion by Ralf Wildenhues <Ralf.Wildenhues@gmx.de> in
3969         <http://lists.gnu.org/archive/html/bug-gnulib/2010-01/msg00216.html>.
3970
3971 2011-02-08  Paul Eggert  <eggert@cs.ucla.edu>
3972             Bruno Haible  <bruno@clisp.org>
3973
3974         stdlib: improve random_r modularization
3975         * lib/stdlib.in.h: Encapsulate all the stuff having to do with
3976         random_r inside "#if @GNULIB_RANDOM_R@", so that it's clearer that
3977         you also need the random_r module to get this material right.
3978         * m4/random_r.m4 (gl_FUNC_RANDOM_R): Move check for random.h here ...
3979         * m4/stdlib_h.m4 (gl_STDLIB_H): ... from here.
3980         (gl_STDLIB_H_DEFAULTS): Default HAVE_RANDOM_H to 1, and AC_SUBST it.
3981
3982 2011-02-08  Paul Eggert  <eggert@cs.ucla.edu>
3983
3984         stdlib: don't depend on stdint
3985         * lib/stdlib.in.h: Don't include <stdint.h> merely because
3986         GNULIB_POSIXCHECK is defined.  GNULIB_POSIXCHECK seems to
3987         be independent of whether stdint.h is needed.
3988         * m4/random_r.m4 (gl_FUNC_RANDOM_R): Check for struct random_data
3989         here, instead of ...
3990         * m4/stdlib_h.m4 (gl_STDLIB_H): ... here.  Applications that need
3991         struct random_data should be using the random_r module, not just
3992         the stdlib module (which wouldn't make sense: what package needs
3993         just struct random_data without also needing random_r?).
3994         * modules/stdlib (Depends-on): Remove stdint.
3995
3996         getloadavg: don't depend on c-strtod, cloexec, fcntl-safer
3997         See the thread rooted at
3998         <http://lists.gnu.org/archive/html/bug-gnulib/2011-02/msg00090.html>.
3999         * lib/getloadavg.c: Do not include c-strtod.h, cloexec.h, or fcntl--.h.
4000         Include <fcntl.h> only if (defined __linux__ || defined __CYGWIN__
4001         || defined SUNOS_5 || (defined LOAD_AVE_TYPE && !  defined
4002         __VMS)); previously it was always included (via fcntl--.h).
4003         (getloadavg): Do not use c_strtod.  Instead, approximate it by
4004         hand; this is good enough for load averages.  Also, do not use
4005         set_cloexec_flag; instead, use the O_CLOEXEC and F_DUPFD_CLOEXEC
4006         flags directly if available and don't bother otherwise.  (Packages
4007         that need the extra reliability should use the modules that define
4008         these flags on older platforms that lack them.)
4009         * modules/getloadavg (Depends-on): Remove c-strtod, cloexec,
4010         fcntl-safer.
4011
4012 2011-02-08  Jim Meyering  <meyering@redhat.com>
4013
4014         di-set.h, ino-map.h: add multiple-inclusion guard
4015         Technically, the guard is required only for ino-map.h, due to its
4016         INO_MAP_INSERT_FAILURE definition, but do both for consistency.
4017         * lib/di-set.h: Add file-spanning #ifndef _GL_DI_SET_H.
4018         * lib/ino-map.h: Likewise.
4019
4020 2011-02-06  Bruno Haible  <bruno@clisp.org>
4021
4022         iswblank: Ensure declaration on glibc systems.
4023         * m4/iswblank.m4 (gl_FUNC_ISWBLANK): Require gl_USE_SYSTEM_EXTENSIONS.
4024         * modules/iswblank (Dependencies): Add 'extensions'.
4025         * doc/posix-functions/iswblank.texi: Document the glibc problem.
4026
4027 2011-02-06  Bruno Haible  <bruno@clisp.org>
4028
4029         New module 'iswblank'.
4030         * lib/wctype.in.h (iswblank): Don't declare if GNULIB_ISWBLANK is 0.
4031         * modules/iswblank: New file.
4032         * modules/wctype-h (Files): Remove lib/iswblank.c.
4033         (Makefile.am): Substitute GNULIB_ISWBLANK.
4034         * m4/iswblank.m4: New file, partially extracted from m4/wctype_h.m4.
4035         * m4/wctype_h.m4 (gl_WCTYPE_MODULE_INDICATOR): New macro.
4036         (gl_WCTYPE_H_DEFAULTS): New macro.
4037         (gl_WCTYPE_H): Require it. Remove iswblank related code.
4038         * modules/iswblank-tests: New file.
4039         * tests/test-iswblank.c: New file, extraced from tests/test-wctype-h.c.
4040         * tests/test-wctype-h.c (main): Remove iswblank tests.
4041         * tests/test-wctype-h-c++.cc: Guard the signature test of iswblank.
4042         * doc/posix-functions/iswblank.texi: Mention module 'iswblank' instead
4043         of 'wctype-h'.
4044         * NEWS: Mention the change.
4045         * modules/mbchar (Depends-on): Add iswblank.
4046
4047 2011-02-08  Bruno Haible  <bruno@clisp.org>
4048
4049         di-set tests: Refactor.
4050         * tests/test-di-set.c: Include di-set.h early. Include macros.h. Drop
4051         unnecessary includes.
4052         (ASSERT): Remove macro.
4053         (main): Make C90 compliant by avoiding variable declaration after
4054         statement.
4055         * modules/di-set-tests (Files): Add tests/macros.h.
4056
4057 2011-02-08  Bruno Haible  <bruno@clisp.org>
4058
4059         ino-map tests: Refactor.
4060         * tests/test-ino-map.c: Include ino-map.h early. Include macros.h. Drop
4061         unnecessary includes.
4062         (ASSERT): Remove macro.
4063         (main): Make C90 compliant by avoiding variable declaration after
4064         statement.
4065         * modules/ino-map-tests (Files): Add tests/macros.h.
4066
4067 2011-02-08  Jim Meyering  <meyering@redhat.com>
4068
4069         di-set: add "const" to a cast
4070         * lib/di-set.c (di_set_insert): Cast hash_insert0 argument to
4071         "(void const *)", not "(void *)".  Spotted by Bruno Haible.
4072
4073 2011-02-06  Bruno Haible  <bruno@clisp.org>
4074
4075         Rename module 'wctype' to 'wctype-h'.
4076         * modules/wctype-h: Renamed from modules/wctype.
4077         * modules/wctype: Simplyfy to a redirection to 'wctype-h'.
4078         * modules/wctype-h-tests: Renamed from modules/wctype-tests.
4079         (Files, Depends-on, Makefile.am): Update.
4080         * modules/wctype-h-c++-tests: Renamed from modules/wctype-c++-tests.
4081         (Files, Makefile.am): Update.
4082         * tests/test-wctype-h.c: Renamed from tests/test-wctype.c.
4083         * tests/test-wctype-h-c++.cc: Renamed from tests/test-wctype-c++.cc.
4084         * doc/posix-headers/wctype.texi: Update.
4085         * doc/posix-functions/iswalnum.texi: Update.
4086         * doc/posix-functions/iswalpha.texi: Update.
4087         * doc/posix-functions/iswblank.texi: Update.
4088         * doc/posix-functions/iswcntrl.texi: Update.
4089         * doc/posix-functions/iswdigit.texi: Update.
4090         * doc/posix-functions/iswgraph.texi: Update.
4091         * doc/posix-functions/iswlower.texi: Update.
4092         * doc/posix-functions/iswprint.texi: Update.
4093         * doc/posix-functions/iswpunct.texi: Update.
4094         * doc/posix-functions/iswspace.texi: Update.
4095         * doc/posix-functions/iswupper.texi: Update.
4096         * doc/posix-functions/iswxdigit.texi: Update.
4097         * doc/posix-functions/towlower.texi: Update.
4098         * doc/posix-functions/towupper.texi: Update.
4099         * NEWS: Mention the change.
4100         * modules/fnmatch (Dependencies): Add wctype-h, remove wctype.
4101         * modules/mbchar (Dependencies): Likewise.
4102         * modules/mbswidth (Dependencies): Likewise.
4103         * modules/quotearg (Dependencies): Likewise.
4104         * modules/regex (Dependencies): Likewise.
4105         * modules/wcscasecmp (Dependencies): Likewise.
4106         * modules/wcsncasecmp (Dependencies): Likewise.
4107         * modules/wcwidth (Dependencies): Likewise.
4108
4109 2011-02-06  Bruno Haible  <bruno@clisp.org>
4110
4111         New module 'wcswidth'.
4112         * modules/wcswidth: New file.
4113         * lib/wchar.in.h (wcswidth): New declaration.
4114         * lib/wcswidth.c: New file.
4115         * lib/wcswidth-impl.h: New file, from libutf8 with modifications.
4116         * m4/wcswidth.m4: New file.
4117         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wcswidth is declared.
4118         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCSWIDTH, HAVE_WCSWIDTH,
4119         REPLACE_WCSWIDTH.
4120         * modules/wchar (Makefile.am): Substitute GNULIB_WCSWIDTH,
4121         HAVE_WCSWIDTH, REPLACE_WCSWIDTH.
4122         * tests/test-wchar-c++.cc: Test the declaration of wcswidth.
4123         * doc/posix-functions/wcswidth.texi: Mention the new module.
4124
4125 2011-02-06  Bruno Haible  <bruno@clisp.org>
4126
4127         New module 'wcstok'.
4128         * modules/wcstok: New file.
4129         * lib/wchar.in.h (wcstok): New declaration.
4130         * lib/wcstok.c: New file.
4131         * lib/wcstok-impl.h: New file, from libutf8 with modifications.
4132         * m4/wcstok.m4: New file.
4133         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wcstok is declared.
4134         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCSTOK, HAVE_WCSTOK.
4135         * modules/wchar (Makefile.am): Substitute GNULIB_WCSTOK, HAVE_WCSTOK.
4136         * tests/test-wchar-c++.cc: Test the declaration of wcstok.
4137         * doc/posix-functions/wcstok.texi: Mention the new module.
4138
4139 2011-02-06  Bruno Haible  <bruno@clisp.org>
4140
4141         New module 'wcsstr'.
4142         * modules/wcsstr: New file.
4143         * lib/wchar.in.h (wcsstr): New declaration.
4144         * lib/wcsstr.c: New file.
4145         * lib/wcsstr-impl.h: New file, from libutf8 with modifications.
4146         * m4/wcsstr.m4: New file.
4147         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wcsstr is declared.
4148         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCSSTR, HAVE_WCSSTR.
4149         * modules/wchar (Makefile.am): Substitute GNULIB_WCSSTR, HAVE_WCSSTR.
4150         * tests/test-wchar-c++.cc: Test the declaration of wcsstr.
4151         * doc/posix-functions/wcsstr.texi: Mention the new module.
4152
4153 2011-02-06  Bruno Haible  <bruno@clisp.org>
4154
4155         New module 'wcspbrk'.
4156         * modules/wcspbrk: New file.
4157         * lib/wchar.in.h (wcspbrk): New declaration.
4158         * lib/wcspbrk.c: New file.
4159         * lib/wcspbrk-impl.h: New file, from libutf8 with modifications.
4160         * m4/wcspbrk.m4: New file.
4161         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wcspbrk is declared.
4162         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCSPBRK, HAVE_WCSPBRK.
4163         * modules/wchar (Makefile.am): Substitute GNULIB_WCSPBRK, HAVE_WCSPBRK.
4164         * tests/test-wchar-c++.cc: Test the declaration of wcspbrk.
4165         * doc/posix-functions/wcspbrk.texi: Mention the new module.
4166
4167 2011-02-06  Bruno Haible  <bruno@clisp.org>
4168
4169         New module 'wcsspn'.
4170         * modules/wcsspn: New file.
4171         * lib/wchar.in.h (wcsspn): New declaration.
4172         * lib/wcsspn.c: New file.
4173         * lib/wcsspn-impl.h: New file, from libutf8 with modifications.
4174         * m4/wcsspn.m4: New file.
4175         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wcsspn is declared.
4176         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCSSPN, HAVE_WCSSPN.
4177         * modules/wchar (Makefile.am): Substitute GNULIB_WCSSPN, HAVE_WCSSPN.
4178         * tests/test-wchar-c++.cc: Test the declaration of wcsspn.
4179         * doc/posix-functions/wcsspn.texi: Mention the new module.
4180
4181 2011-02-06  Bruno Haible  <bruno@clisp.org>
4182
4183         New module 'wcscspn'.
4184         * modules/wcscspn: New file.
4185         * lib/wchar.in.h (wcscspn): New declaration.
4186         * lib/wcscspn.c: New file.
4187         * lib/wcscspn-impl.h: New file, from libutf8 with modifications.
4188         * m4/wcscspn.m4: New file.
4189         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wcscspn is declared.
4190         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCSCSPN, HAVE_WCSCSPN.
4191         * modules/wchar (Makefile.am): Substitute GNULIB_WCSCSPN, HAVE_WCSCSPN.
4192         * tests/test-wchar-c++.cc: Test the declaration of wcscspn.
4193         * doc/posix-functions/wcscspn.texi: Mention the new module.
4194
4195 2011-02-06  Bruno Haible  <bruno@clisp.org>
4196
4197         New module 'wcsrchr'.
4198         * modules/wcsrchr: New file.
4199         * lib/wchar.in.h (wcsrchr): New declaration.
4200         * lib/wcsrchr.c: New file.
4201         * lib/wcsrchr-impl.h: New file, from libutf8 with modifications.
4202         * m4/wcsrchr.m4: New file.
4203         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wcsrchr is declared.
4204         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCSRCHR, HAVE_WCSRCHR.
4205         * modules/wchar (Makefile.am): Substitute GNULIB_WCSRCHR, HAVE_WCSRCHR.
4206         * tests/test-wchar-c++.cc: Test the declaration of wcsrchr.
4207         * doc/posix-functions/wcsrchr.texi: Mention the new module.
4208
4209 2011-02-06  Bruno Haible  <bruno@clisp.org>
4210
4211         New module 'wcschr'.
4212         * modules/wcschr: New file.
4213         * lib/wchar.in.h (wcschr): New declaration.
4214         * lib/wcschr.c: New file.
4215         * lib/wcschr-impl.h: New file, from libutf8 with modifications.
4216         * m4/wcschr.m4: New file.
4217         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wcschr is declared.
4218         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCSCHR, HAVE_WCSCHR.
4219         * modules/wchar (Makefile.am): Substitute GNULIB_WCSCHR, HAVE_WCSCHR.
4220         * tests/test-wchar-c++.cc: Test the declaration of wcschr.
4221         * doc/posix-functions/wcschr.texi: Mention the new module.
4222
4223 2011-02-06  Bruno Haible  <bruno@clisp.org>
4224
4225         New module 'wcsdup'.
4226         * modules/wcsdup: New file.
4227         * lib/wchar.in.h (wcsdup): New declaration.
4228         * lib/wcsdup.c: New file.
4229         * lib/wcsdup-impl.h: New file, from libutf8 with modifications.
4230         * m4/wcsdup.m4: New file.
4231         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wcsdup is declared.
4232         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCSDUP, HAVE_WCSDUP.
4233         * modules/wchar (Makefile.am): Substitute GNULIB_WCSDUP, HAVE_WCSDUP.
4234         * tests/test-wchar-c++.cc: Test the declaration of wcsdup.
4235         * doc/posix-functions/wcsdup.texi: Mention the new module.
4236
4237 2011-02-06  Bruno Haible  <bruno@clisp.org>
4238
4239         New module 'wcsxfrm'.
4240         * modules/wcsxfrm: New file.
4241         * lib/wchar.in.h (wcsxfrm): New declaration.
4242         * lib/wcsxfrm.c: New file.
4243         * lib/wcsxfrm-impl.h: New file.
4244         * m4/wcsxfrm.m4: New file.
4245         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wcsxfrm is declared.
4246         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCSXFRM, HAVE_WCSXFRM.
4247         * modules/wchar (Makefile.am): Substitute GNULIB_WCSXFRM, HAVE_WCSXFRM.
4248         * tests/test-wchar-c++.cc: Test the declaration of wcsxfrm.
4249         * doc/posix-functions/wcsxfrm.texi: Mention the new module.
4250
4251 2011-02-06  Bruno Haible  <bruno@clisp.org>
4252
4253         New module 'wcscoll'.
4254         * modules/wcscoll: New file.
4255         * lib/wchar.in.h (wcscoll): New declaration.
4256         * lib/wcscoll.c: New file.
4257         * lib/wcscoll-impl.h: New file.
4258         * m4/wcscoll.m4: New file.
4259         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wcscoll is declared.
4260         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCSCOLL, HAVE_WCSCOLL.
4261         * modules/wchar (Makefile.am): Substitute GNULIB_WCSCOLL, HAVE_WCSCOLL.
4262         * tests/test-wchar-c++.cc: Test the declaration of wcscoll.
4263         * doc/posix-functions/wcscoll.texi: Mention the new module.
4264
4265 2011-02-06  Bruno Haible  <bruno@clisp.org>
4266
4267         New module 'wcsncasecmp'.
4268         * modules/wcsncasecmp: New file.
4269         * lib/wchar.in.h (wcsncasecmp): New declaration.
4270         * lib/wcsncasecmp.c: New file.
4271         * lib/wcsncasecmp-impl.h: New file, from libutf8 with modifications.
4272         * m4/wcsncasecmp.m4: New file.
4273         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wcsncasecmp is declared.
4274         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCSNCASECMP, HAVE_WCSNCASECMP.
4275         * modules/wchar (Makefile.am): Substitute GNULIB_WCSNCASECMP,
4276         HAVE_WCSNCASECMP.
4277         * tests/test-wchar-c++.cc: Test the declaration of wcsncasecmp.
4278         * doc/posix-functions/wcsncasecmp.texi: Mention the new module.
4279
4280 2011-02-06  Bruno Haible  <bruno@clisp.org>
4281
4282         New module 'wcscasecmp'.
4283         * modules/wcscasecmp: New file.
4284         * lib/wchar.in.h (wcscasecmp): New declaration.
4285         * lib/wcscasecmp.c: New file.
4286         * lib/wcscasecmp-impl.h: New file, from libutf8 with modifications.
4287         * m4/wcscasecmp.m4: New file.
4288         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wcscasecmp is declared.
4289         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCSCASECMP, HAVE_WCSCASECMP.
4290         * modules/wchar (Makefile.am): Substitute GNULIB_WCSCASECMP,
4291         HAVE_WCSCASECMP.
4292         * tests/test-wchar-c++.cc: Test the declaration of wcscasecmp.
4293         * doc/posix-functions/wcscasecmp.texi: Mention the new module.
4294
4295 2011-02-05  Bruno Haible  <bruno@clisp.org>
4296
4297         New module 'wcsncmp'.
4298         * modules/wcsncmp: New file.
4299         * lib/wchar.in.h (wcsncmp): New declaration.
4300         * lib/wcsncmp.c: New file.
4301         * lib/wcsncmp-impl.h: New file, from libutf8 with modifications.
4302         * m4/wcsncmp.m4: New file.
4303         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wcsncmp is declared.
4304         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCSNCMP, HAVE_WCSNCMP.
4305         * modules/wchar (Makefile.am): Substitute GNULIB_WCSNCMP, HAVE_WCSNCMP.
4306         * tests/test-wchar-c++.cc: Test the declaration of wcsncmp.
4307         * doc/posix-functions/wcsncmp.texi: Mention the new module.
4308
4309 2011-02-05  Bruno Haible  <bruno@clisp.org>
4310
4311         New module 'wcscmp'.
4312         * modules/wcscmp: New file.
4313         * lib/wchar.in.h (wcscmp): New declaration.
4314         * lib/wcscmp.c: New file.
4315         * lib/wcscmp-impl.h: New file, from libutf8 with modifications.
4316         * m4/wcscmp.m4: New file.
4317         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wcscmp is declared.
4318         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCSCMP, HAVE_WCSCMP.
4319         * modules/wchar (Makefile.am): Substitute GNULIB_WCSCMP, HAVE_WCSCMP.
4320         * tests/test-wchar-c++.cc: Test the declaration of wcscmp.
4321         * doc/posix-functions/wcscmp.texi: Mention the new module.
4322
4323 2011-02-05  Bruno Haible  <bruno@clisp.org>
4324
4325         New module 'wcsncat'.
4326         * modules/wcsncat: New file.
4327         * lib/wchar.in.h (wcsncat): New declaration.
4328         * lib/wcsncat.c: New file.
4329         * lib/wcsncat-impl.h: New file, from libutf8 with modifications.
4330         * m4/wcsncat.m4: New file.
4331         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wcsncat is declared.
4332         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCSNCAT, HAVE_WCSNCAT.
4333         * modules/wchar (Makefile.am): Substitute GNULIB_WCSNCAT, HAVE_WCSNCAT.
4334         * tests/test-wchar-c++.cc: Test the declaration of wcsncat.
4335         * doc/posix-functions/wcsncat.texi: Mention the new module.
4336
4337 2011-02-05  Bruno Haible  <bruno@clisp.org>
4338
4339         New module 'wcscat'.
4340         * modules/wcscat: New file.
4341         * lib/wchar.in.h (wcscat): New declaration.
4342         * lib/wcscat.c: New file.
4343         * lib/wcscat-impl.h: New file, from libutf8 with modifications.
4344         * m4/wcscat.m4: New file.
4345         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wcscat is declared.
4346         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCSCAT, HAVE_WCSCAT.
4347         * modules/wchar (Makefile.am): Substitute GNULIB_WCSCAT, HAVE_WCSCAT.
4348         * tests/test-wchar-c++.cc: Test the declaration of wcscat.
4349         * doc/posix-functions/wcscat.texi: Mention the new module.
4350
4351 2011-02-05  Bruno Haible  <bruno@clisp.org>
4352
4353         New module 'wcpncpy'.
4354         * modules/wcpncpy: New file.
4355         * lib/wchar.in.h (wcpncpy): New declaration.
4356         * lib/wcpncpy.c: New file.
4357         * lib/wcpncpy-impl.h: New file, from libutf8 with modifications.
4358         * m4/wcpncpy.m4: New file.
4359         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wcpncpy is declared.
4360         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCPNCPY, HAVE_WCPNCPY.
4361         * modules/wchar (Makefile.am): Substitute GNULIB_WCPNCPY, HAVE_WCPNCPY.
4362         * tests/test-wchar-c++.cc: Test the declaration of wcpncpy.
4363         * doc/posix-functions/wcpncpy.texi: Mention the new module.
4364
4365 2011-02-05  Bruno Haible  <bruno@clisp.org>
4366
4367         New module 'wcsncpy'.
4368         * modules/wcsncpy: New file.
4369         * lib/wchar.in.h (wcsncpy): New declaration.
4370         * lib/wcsncpy.c: New file.
4371         * lib/wcsncpy-impl.h: New file, from libutf8 with modifications.
4372         * m4/wcsncpy.m4: New file.
4373         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wcsncpy is declared.
4374         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCSNCPY, HAVE_WCSNCPY.
4375         * modules/wchar (Makefile.am): Substitute GNULIB_WCSNCPY, HAVE_WCSNCPY.
4376         * tests/test-wchar-c++.cc: Test the declaration of wcsncpy.
4377         * doc/posix-functions/wcsncpy.texi: Mention the new module.
4378
4379 2011-02-05  Bruno Haible  <bruno@clisp.org>
4380
4381         New module 'wcpcpy'.
4382         * modules/wcpcpy: New file.
4383         * lib/wchar.in.h (wcpcpy): New declaration.
4384         * lib/wcpcpy.c: New file.
4385         * lib/wcpcpy-impl.h: New file, from libutf8 with modifications.
4386         * m4/wcpcpy.m4: New file.
4387         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wcpcpy is declared.
4388         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCPCPY, HAVE_WCPCPY.
4389         * modules/wchar (Makefile.am): Substitute GNULIB_WCPCPY, HAVE_WCPCPY.
4390         * tests/test-wchar-c++.cc: Test the declaration of wcpcpy.
4391         * doc/posix-functions/wcpcpy.texi: Mention the new module.
4392
4393 2011-02-05  Bruno Haible  <bruno@clisp.org>
4394
4395         New module 'wcscpy'.
4396         * modules/wcscpy: New file.
4397         * lib/wchar.in.h (wcscpy): New declaration.
4398         * lib/wcscpy.c: New file.
4399         * lib/wcscpy-impl.h: New file, from libutf8 with modifications.
4400         * m4/wcscpy.m4: New file.
4401         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wcscpy is declared.
4402         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCSCPY, HAVE_WCSCPY.
4403         * modules/wchar (Makefile.am): Substitute GNULIB_WCSCPY, HAVE_WCSCPY.
4404         * tests/test-wchar-c++.cc: Test the declaration of wcscpy.
4405         * doc/posix-functions/wcscpy.texi: Mention the new module.
4406
4407 2011-02-05  Bruno Haible  <bruno@clisp.org>
4408
4409         New module 'wcsnlen'.
4410         * modules/wcsnlen: New file.
4411         * lib/wchar.in.h (wcsnlen): New declaration.
4412         * lib/wcsnlen.c: New file.
4413         * lib/wcsnlen-impl.h: New file, from libutf8 with modifications.
4414         * m4/wcsnlen.m4: New file.
4415         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wcsnlen is declared.
4416         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCSNLEN, HAVE_WCSNLEN.
4417         * modules/wchar (Makefile.am): Substitute GNULIB_WCSNLEN, HAVE_WCSNLEN.
4418         * tests/test-wchar-c++.cc: Test the declaration of wcsnlen.
4419         * doc/posix-functions/wcsnlen.texi: Mention the new module.
4420
4421 2011-02-05  Bruno Haible  <bruno@clisp.org>
4422
4423         New module 'wcslen'.
4424         * modules/wcslen: New file.
4425         * lib/wchar.in.h (wcslen): New declaration.
4426         * lib/wcslen.c: New file.
4427         * lib/wcslen-impl.h: New file, from libutf8 with modifications.
4428         * m4/wcslen.m4: New file.
4429         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wcslen is declared.
4430         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCSLEN, HAVE_WCSLEN.
4431         * modules/wchar (Makefile.am): Substitute GNULIB_WCSLEN, HAVE_WCSLEN.
4432         * tests/test-wchar-c++.cc: Test the declaration of wcslen.
4433         * doc/posix-functions/wcslen.texi: Mention the new module.
4434
4435 2011-02-05  Bruno Haible  <bruno@clisp.org>
4436
4437         New module 'wmemset'.
4438         * modules/wmemset: New file.
4439         * lib/wchar.in.h (wmemset): New declaration.
4440         * lib/wmemset.c: New file.
4441         * lib/wmemset-impl.h: New file, from libutf8 with modifications.
4442         * m4/wmemset.m4: New file.
4443         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wmemset is declared.
4444         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WMEMSET, HAVE_WMEMSET.
4445         * modules/wchar (Makefile.am): Substitute GNULIB_WMEMSET, HAVE_WMEMSET.
4446         * tests/test-wchar-c++.cc: Test the declaration of wmemset.
4447         * doc/posix-functions/wmemset.texi: Mention the new module.
4448
4449 2011-02-05  Bruno Haible  <bruno@clisp.org>
4450
4451         New module 'wmemmove'.
4452         * modules/wmemmove: New file.
4453         * lib/wchar.in.h (wmemmove): New declaration.
4454         * lib/wmemmove.c: New file.
4455         * lib/wmemmove-impl.h: New file, from libutf8 with modifications.
4456         * m4/wmemmove.m4: New file.
4457         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wmemmove is declared.
4458         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WMEMMOVE, HAVE_WMEMMOVE.
4459         * modules/wchar (Makefile.am): Substitute GNULIB_WMEMMOVE,
4460         HAVE_WMEMMOVE.
4461         * tests/test-wchar-c++.cc: Test the declaration of wmemmove.
4462         * doc/posix-functions/wmemmove.texi: Mention the new module.
4463
4464 2011-02-05  Bruno Haible  <bruno@clisp.org>
4465
4466         New module 'wmemcpy'.
4467         * modules/wmemcpy: New file.
4468         * lib/wchar.in.h (wmemcpy): New declaration.
4469         * lib/wmemcpy.c: New file.
4470         * lib/wmemcpy-impl.h: New file, from libutf8 with modifications.
4471         * m4/wmemcpy.m4: New file.
4472         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wmemcpy is declared.
4473         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WMEMCPY, HAVE_WMEMCPY.
4474         * modules/wchar (Makefile.am): Substitute GNULIB_WMEMCPY, HAVE_WMEMCPY.
4475         * tests/test-wchar-c++.cc: Test the declaration of wmemcpy.
4476         * doc/posix-functions/wmemcpy.texi: Mention the new module.
4477
4478 2011-02-05  Bruno Haible  <bruno@clisp.org>
4479
4480         New module 'wmemcmp'.
4481         * modules/wmemcmp: New file.
4482         * lib/wchar.in.h (wmemcmp): New declaration.
4483         * lib/wmemcmp.c: New file.
4484         * lib/wmemcmp-impl.h: New file, from libutf8 with modifications.
4485         * m4/wmemcmp.m4: New file.
4486         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wmemcmp is declared.
4487         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WMEMCMP, HAVE_WMEMCMP.
4488         * modules/wchar (Makefile.am): Substitute GNULIB_WMEMCMP, HAVE_WMEMCMP.
4489         * tests/test-wchar-c++.cc: Test the declaration of wmemcmp.
4490         * doc/posix-functions/wmemcmp.texi: Mention the new module.
4491
4492 2011-02-07  Jim Meyering  <meyering@redhat.com>
4493
4494         di-set, ino-map: new modules, from coreutils
4495         * lib/di-set.c: New file.
4496         * lib/di-set.h: Likewise.
4497         * lib/ino-map.c: Likewise.
4498         * lib/ino-map.h: Likewise.
4499         * modules/di-set: Likewise.
4500         * modules/di-set-tests: Likewise.
4501         * modules/ino-map: Likewise.
4502         * modules/ino-map-tests: Likewise.
4503         * tests/test-di-set.c: Likewise.
4504         * tests/test-ino-map.c: Likewise.
4505
4506 2011-02-06  Paul Eggert  <eggert@cs.ucla.edu>
4507
4508         getloadavg: merge minor changes from Emacs
4509
4510         * lib/getloadavg.c (getloadavg_initialized): More-accurate comment.
4511         (getloadavg): Use memset, not bzero.
4512
4513         2008-07-25  Chong Yidong  <cyd@stupidchicken.com>
4514         * lib/getloadavg.c (nl): Rename to name_list to avoid ncurses.h
4515         clash (bug#86).
4516
4517 2010-11-14  Bruno Haible  <bruno@clisp.org>
4518
4519         Allow multiple gnulib generated replacements to coexist.
4520         * lib/getopt.in.h (struct option): Avoid identical redefinition.
4521         * lib/inttypes.in.h (imaxdiv_t): Likewise.
4522         * lib/langinfo.in.h (nl_item): Likewise.
4523         * lib/math.in.h (_NaN, NAN): Likewise.
4524         * lib/netdb.in.h (struct addrinfo): Likewise.
4525         * lib/poll.in.h (struct pollfd, nfds_t): Likewise.
4526         * lib/pthread.in.h (pthread_t, pthread_attr_t, pthread_barrier_t,
4527         pthread_barrierattr_t, pthread_cond_t, pthread_condattr_t,
4528         pthread_key_t, pthread_mutex_t, pthread_mutexattr_t, pthread_once_t,
4529         pthread_rwlock_t, pthread_rwlockattr_t, pthread_cond_destroy,
4530         pthread_cond_init, pthread_cond_signal, pthread_cond_wait,
4531         pthread_create, pthread_exit, pthread_join, pthread_mutexattr_destroy,
4532         pthread_mutexattr_init, pthread_mutexattr_settype,
4533         pthread_mutex_destroy, pthread_mutex_init, pthread_mutex_lock,
4534         pthread_mutex_trylock, pthread_mutex_unlock, pthread_spinlock_t,
4535         pthread_spin_init, pthread_spin_destroy, pthread_spin_lock,
4536         pthread_spin_trylock, pthread_spin_unlock): Likewise.
4537         * lib/sched.in.h (struct sched_param): Likewise.
4538         * lib/se-selinux.in.h (security_class_t, security_context_t,
4539         is_selinux_enabled, getcon, freecon, getfscreatecon, setfscreatecon,
4540         matchpathcon, getfilecon, lgetfilecon, fgetfilecon, setfilecon,
4541         lsetfilecon, fsetfilecon, security_check_context,
4542         security_check_context_raw, setexeccon, matchpathcon_init_prefix):
4543         Likewise.
4544         * lib/search.in.h (VISIT, _gl_search_compar_fn, _gl_search_action_fn):
4545         Likewise.
4546         * lib/signal.in.h (sig_atomic_t, sigset_t, verify_NSIG_constraint,
4547         _gl_function_taking_int_returning_void_t, union sigval,
4548         struct siginfo_t, siginfo_t, struct sigaction): Likewise.
4549         * lib/spawn.in.h (posix_spawnattr_t, posix_spawn_file_actions_t,
4550         verify_POSIX_SPAWN_USEVFORK_no_overlap): Likewise.
4551         * lib/stdint.in.h (gl_int8_t, gl_uint8_t, gl_int16_t, gl_uint16_t,
4552         gl_int32_t, gl_uint32_t, gl_int64_t, gl_uint64_t, int_least8_t,
4553         uint_least8_t, int_least16_t, uint_least16_t, int_least32_t,
4554         uint_least32_t, int_least64_t, uint_least64_t, gl_int_fast8_t,
4555         gl_uint_fast8_t, gl_int_fast16_t, gl_uint_fast16_t, gl_int_fast32_t,
4556         gl_uint_fast32_t, int_fast64_t, uint_fast64_t, gl_intptr_t,
4557         gl_uintptr_t, intmax_t, uintmax_t, _verify_intmax_size): Likewise.
4558         * lib/stdio.in.h (rpl_fseek, rpl_ftell): Likewise.
4559         * lib/sys_socket.in.h (sa_family_t, struct sockaddr_storage,
4560         socklen_t, rpl_fd_isset): Likewise.
4561         * lib/sys_stat.in.h (rpl_mkdir): Likewise.
4562         * lib/sys_time.in.h (struct timeval): Likewise.
4563         * lib/sys_times.in.h (struct tms): Likewise.
4564         * lib/sys_utsname.in.h (struct utsname):
4565         * lib/time.in.h (struct timespec, __time_t_must_be_integral): Likewise.
4566         * lib/unistd.in.h (getpagesize): Likewise.
4567         * lib/wchar.in.h (mbstate_t): Likewise.
4568         * lib/wctype.in.h (iswalnum, iswalpha, iswblank, iswcntrl, iswdigit,
4569         iswgraph, iswlower, iswprint, iswpunct, iswspace, iswupper, iswxdigit,
4570         towlower, towupper): Likewise.
4571         Reported by Sam Steingold <sds@gnu.org>.
4572
4573 2011-02-05  Eric Blake  <eblake@redhat.com>
4574
4575         unsetenv: work around Haiku issues
4576         * m4/setenv.m4 (gl_FUNC_UNSETENV): Also detect Haiku issue.
4577         * doc/posix-functions/unsetenv.texi (unsetenv): Document it.
4578
4579 2010-12-30  Bruce Korb  <bkorb@gnu.org>
4580
4581         libposix: avoid calling error() within libposix
4582         * lib/openat-die.c: remove error module stuff when GNULIB_LIBPOSIX
4583         is defined.
4584
4585 2011-02-05  Eric Blake  <eblake@redhat.com>
4586
4587         strerror_r-posix: port to cygwin
4588         * lib/strerror_r.c (strerror_r) [__CYGWIN__]: Add cygwin
4589         implementation.
4590         * m4/strerror_r.m4 (gl_FUNC_STRERROR_R): Adjust comment.
4591         * tests/test-strerror_r.c (main): Fix test.
4592         * doc/posix-functions/strerror_r.texi (strerror_r): Document the
4593         issue.
4594
4595 2011-02-05  Bruno Haible  <bruno@clisp.org>
4596
4597         New module 'wmemchr'.
4598         * modules/wmemchr: New file.
4599         * lib/wchar.in.h (wmemchr): New declaration.
4600         * lib/wmemchr.c: New file.
4601         * lib/wmemchr-impl.h: New file, from libutf8 with modifications.
4602         * m4/wmemchr.m4: New file.
4603         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wmemchr is declared.
4604         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WMEMCHR, HAVE_WMEMCHR.
4605         * modules/wchar (Makefile.am): Substitute GNULIB_WMEMCHR, HAVE_WMEMCHR.
4606         * tests/test-wchar-c++.cc: Test the declaration of wmemchr.
4607         * doc/posix-functions/wmemchr.texi: Mention the new module.
4608
4609 2011-02-04  Eric Blake  <eblake@redhat.com>
4610
4611         fdopendir: detect FreeBSD bug
4612         * m4/fdopendir.m4 (gl_FUNC_FDOPENDIR): Detect bug.
4613         * doc/posix-functions/fdopendir.texi (fdopendir): Document it.
4614
4615 2011-02-04  Paul Eggert  <eggert@cs.ucla.edu>
4616
4617         stdbool: do not define HAVE_STDBOOL_H
4618         * m4/stdbool.m4 (AC_CHECK_HEADER_STDBOOL): Renamed from
4619         AC_HEADER_STDBOOL.  All uses changed.  Do not define
4620         HAVE_STDBOOL_H, as gnulib does not need this.  This change is
4621         imported from the latest Autoconf git.  It was motivated by Emacs,
4622         which uses gnulib but does not need HAVE_STDBOOL_H.
4623
4624 2011-02-04  Bruno Haible  <bruno@clisp.org>
4625
4626         wcsnrtombs: Prepare for new module wwcsnrtombs.
4627         * lib/wcsnrtombs-impl.h: New file, extracted from lib/wcsnrtombs.c.
4628         * lib/wcsnrtombs.c: Include it.
4629         * modules/wcsnrtombs (Files): Add lib/wcsnrtombs-impl.h.
4630
4631         wcsrtombs: Prepare for new module wwcsrtombs.
4632         * lib/wcsrtombs-impl.h: New file, extracted from lib/wcsrtombs.c.
4633         * lib/wcsrtombs.c: Include it.
4634         * modules/wcsrtombs (Files): Add lib/wcsrtombs-impl.h.
4635
4636         mbsnrtowcs: Prepare for new module mbsnrtowwcs.
4637         * lib/mbsnrtowcs-impl.h: New file, extracted from lib/mbsnrtowcs.c.
4638         * lib/mbsnrtowcs.c: Include it.
4639         * modules/mbsnrtowcs (Files): Add lib/mbsnrtowcs-impl.h.
4640
4641         mbsrtowcs: Prepare for new module mbsrtowwcs.
4642         * lib/mbsrtowcs-impl.h: New file, extracted from lib/mbsrtowcs.c.
4643         * lib/mbsrtowcs.c: Include it.
4644         * modules/mbsrtowcs (Files): Add lib/mbsrtowcs-impl.h.
4645
4646 2011-02-04  Bruno Haible  <bruno@clisp.org>
4647
4648         vasnprintf: Reduce use of malloc for small format strings.
4649         * lib/printf-args.h (N_DIRECT_ALLOC_ARGUMENTS): New macro.
4650         (arguments): Add room for the first 7 arguments.
4651         * lib/printf-parse.h (N_DIRECT_ALLOC_DIRECTIVES): New macro.
4652         (char_directives, u8_directives, u16_directives, u32_directives): Add
4653         room for the first 7 directives.
4654         * lib/printf-parse.c: Include <string.h>.
4655         (PRINTF_PARSE): Change memory handling code so that it uses the first
4656         7 preallocated elements in an 'arguments' or 'DIRECTIVES' struct.
4657         * lib/vasnprintf.c (VASNPRINTF): Update memory handling code.
4658         Reported by Pádraig Brady <P@draigbrady.com>.
4659
4660 2011-01-31  Eric Blake  <eblake@redhat.com>
4661
4662         dup2: work around Haiku bug
4663         * m4/dup2.m4 (gl_FUNC_DUP2): Test for bug.
4664         * lib/dup2.c (rpl_dup2) [!WIN32]: Add workaround.
4665         * doc/posix-functions/dup2.texi (dup2): Document the bug.
4666         * tests/test-dup2.c (main): Enhance test.
4667
4668 2011-01-31  Simon Josefsson  <simon@josefsson.org>
4669
4670         doc: off_t is not available in eglibc 2.11.2 stdio.h.
4671         * doc/posix-headers/stdio.texi (stdio.h): Mention that off_t isn't
4672         declared by eglibc 2.11.2.
4673         * lib/stdio.in.h: Likewise.
4674
4675 2011-01-31  Eric Blake  <eblake@redhat.com>
4676
4677         ignore-value: add missing test dependency
4678         * tests/test-ignore-value.c: Revert previous change; stdio.h
4679         provides off_t.
4680         * modules/ignore-value-tests (Depends-on): Add missing dependency.
4681
4682 2011-01-30  Paul Eggert  <eggert@cs.ucla.edu>
4683
4684         mktime: clarify long_int width checking
4685         * lib/mktime.c (long_int_is_wide_enough): Move this assertion to
4686         the top level, to make it clearer that the assumption about
4687         long_int width is being checked.  See
4688         <http://lists.gnu.org/archive/html/bug-gnulib/2011-01/msg00554.html>.
4689
4690 2011-01-30  Simon Josefsson  <simon@josefsson.org>
4691
4692         ignore-value: Fix self-test.
4693         * tests/test-ignore-value.c: Include sys/types.h for off_t.
4694
4695 2011-01-29  Paul Eggert  <eggert@cs.ucla.edu>
4696
4697         TYPE_MAXIMUM: avoid theoretically undefined behavior
4698         * lib/intprops.h (TYPE_MINIMUM, TYPE_MAXIMUM): Do not shift a
4699         negative number, which the C Standard says has undefined behavior.
4700         In practice this is not a problem, but might as well do it by the book.
4701         Reported by Rich Felker and Eric Blake; see
4702         <http://lists.gnu.org/archive/html/bug-gnulib/2011-01/msg00493.html>.
4703         * lib/strtol.c (TYPE_MINIMUM, TYPE_MAXIMUM): Likewise.
4704         * m4/mktime.m4 (AC_FUNC_MKTIME): Likewise.
4705         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP): Likewise.
4706         * m4/parse-datetime.m4 (gl_PARSE_DATETIME): Likewise.
4707         * m4/stdint.m4 (gl_STDINT_H): Likewise.
4708         * lib/mktime.c (TYPE_MAXIMUM): Redo slightly to match the others.
4709
4710         mktime: #undef mktime before #defining it
4711         * lib/mktime.c (mktime) [DEBUG]: #undef mktime before #defining it.
4712
4713         mktime: systematically normalize tm_isdst comparisons
4714         * lib/mktime.c (isdst_differ): New function.
4715         (__mktime_internal): Use it systematically for all isdst comparisons.
4716         This completes the fix for libc BZ #6723, and removes the need for
4717         normalizing tm_isdst.  See
4718         <http://sourceware.org/bugzilla/show_bug.cgi?id=6723>
4719         (not_equal_tm) [DEBUG]: Use isdst_differ here, too.
4720
4721         mktime: fix some integer overflow issues and sidestep the rest
4722
4723         This was prompted by a bug report by Benjamin Lindner for MinGW
4724         <http://lists.gnu.org/archive/html/bug-gnulib/2011-01/msg00472.html>.
4725         His bug is due to signed integer overflow (0 - INT_MIN), and I
4726         I scanned through mktime.c looking for other integer overflow
4727         problems, fixing all the bugs I found.
4728
4729         Although the C Standard says the resulting code is still not safe
4730         in the presence of integer overflow, in practice it should be good
4731         enough for all real-world two's-complement implementations, except
4732         for debugging environments that deliberately trap on integer
4733         overflow (e.g., gcc -ftrapv).
4734
4735         * lib/mktime.c (WRAPV): New macro.
4736         (SHR): Also check that long_int and time_t shift right in the
4737         usual way, before using the fast-but-unportable method.
4738         (TYPE_ONES_COMPLEMENT, TYPE_SIGNED_MAGNITUDE): Remove, no longer
4739         used.  The code already assumed two's complement, so there's
4740         no need to test for alternatives.  All uses removed.
4741         (TYPE_MAXIMUM): Don't rely here on overflow behavior not defined by
4742         the C standard.  Problem reported by Rich Felker in
4743         <http://lists.gnu.org/archive/html/bug-gnulib/2011-01/msg00488.html>.
4744         (twos_complement_arithmetic): Also check long_int and time_t.
4745         (time_t_avg, time_t_add_ok, time_t_int_add_ok): New functions.
4746         (guess_time_tm, ranged_convert, __mktime_internal): Use them.
4747         (__mktime_internal): Avoid integer overflow with unary subtraction
4748         in two instances where -1 - X is an adequate replacement for -X,
4749         since the calculations are approximate.
4750
4751 2011-01-29  Eric Blake  <eblake@redhat.com>
4752
4753         mktime: avoid infinite loop
4754         * m4/mktime.m4 (AC_FUNC_MKTIME): Avoid overflow on possibly-signed
4755         type; behavior is still undefined but portable to all known targets.
4756         Reported by Rich Felker.
4757
4758 2011-01-29  Simon Josefsson  <simon@josefsson.org>
4759
4760         rename, unlink, same-inode: Relicense.
4761         * modules/rename (License): Relax from LGPLv3+ to LGPLv2+.
4762         * modules/unlink (License): Likewise.
4763         * modules/same-inode (License): Likewise.
4764
4765 2011-01-28  Paul Eggert  <eggert@cs.ucla.edu>
4766
4767         mktime: avoid problems on NetBSD 5 / i386
4768         * lib/mktime.c (long_int): New type.  This works around a problem
4769         on NetBSD 5 / i386, where 'long int' and 'int' are both 32 bits
4770         but time_t is 64 bits, and where I expect the existing code is
4771         wrong in some cases.
4772         (leapyear, ydhms_diff, guess_time_tm, __mktime_internal): Use it.
4773         (ydhms_diff): Bring back the compile-time check for wide-enough
4774         year and yday.
4775
4776         mktime: fix misspelling in comment
4777         * lib/mktime.c (__mktime_internal): Fix misspelling in comment.
4778         This merges all recent glibc changes of importance.
4779
4780 2011-01-28  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
4781
4782         move-if-change: cope with concurrent mv of identical file.
4783         * build-aux/move-if-change (CMPPROG): Accept environment
4784         variable as an override for `cmp'.
4785         (usage): Document CMPPROG.
4786         Adjust comparison to drop stdout.  Cope with failure of mv if
4787         the target file exists and is identical to the source, for
4788         parallel builds.
4789         Report from H.J. Lu against binutils in PR binutils/12283.
4790
4791 2011-01-28  Bruce Korb  <bkorb@gnu.org>
4792
4793         * users.txt: Mention sharutils.
4794
4795 2011-01-28  Simon Josefsson  <simon@josefsson.org>
4796
4797         * users.txt: Mention OATH Toolkit.
4798
4799 2011-01-27  Bruno Haible  <bruno@clisp.org>
4800
4801         Prepare for supporting FreeBSD 10.
4802         * build-aux/config.libpath: Remove handling of freebsd1*.
4803
4804 2011-01-27  Gerald Pfeifer  <gerald@pfeifer.com>  (tiny change)
4805
4806         Prepare for supporting FreeBSD 10.
4807         * build-aux/config.rpath: Remove handling of freebsd1* which soon would
4808         match FreeBSD 10.0.
4809
4810 2011-01-27  Bruno Haible  <bruno@clisp.org>
4811
4812         vma-iter, get-rusage-as: Add OpenBSD support.
4813         * modules/vma-iter (configure.ac): Test for mquery.
4814         * lib/vma-iter.h (VMA_ITERATE_SUPPORTED): Define also on OpenBSD.
4815         * lib/vma-iter.c: Include <sys/mman.h>.
4816         (vma_iterate): Add an implementation based on mquery().
4817         * lib/resource-ext.h (get_rusage_as): Update comments.
4818         * lib/get-rusage-as.c: Likewise.
4819         * lib/get-rusage-data.c: Likewise.
4820
4821 2011-01-26  Karl Berry  <karl@gnu.org>
4822
4823         * doc/Makefile (lang_env, makeinfo_prog, manual_opts): new
4824         variables to make it easier to override the makeinfo program used.
4825
4826 2011-01-26  Eric Blake  <eblake@redhat.com>
4827
4828         fcntl: work around Haiku F_DUPFD bugs
4829         * m4/fcntl.m4 (gl_FUNC_FCNTL): Also catch Haiku errno bug.
4830         * lib/fcntl.c (rpl_fcntl) [F_DUPFD]: Work around Haiku losing
4831         cloexec bit on duplication.
4832         * doc/posix-functions/fcntl.texi (fcntl): Document the bug.
4833
4834 2011-01-26  Bruno Haible  <bruno@clisp.org>
4835
4836         Enable memory leak tests on AIX.
4837         * tests/test-dprintf-posix2.c (main): Don't skip the test on AIX.
4838         * tests/test-fprintf-posix3.c (main): Likewise.
4839
4840 2011-01-26  Bruno Haible  <bruno@clisp.org>
4841
4842         Tests for module 'get-rusage-data'.
4843         * modules/get-rusage-data-tests: New file.
4844         * tests/test-get-rusage-data.c: New file.
4845
4846         New module 'get-rusage-data'.
4847         * lib/resource-ext.h (get_rusage_data): New declaration.
4848         * lib/get-rusage-data.c: New file.
4849         * modules/get-rusage-data: New file.
4850
4851 2011-01-25  Bruno Haible  <bruno@clisp.org>
4852
4853         get-rusage-as: Allow for easier testing.
4854         * lib/resource-ext.h (get_rusage_as): Add comment.
4855         * lib/get-rusage-as.c (get_rusage_as_via_setrlimit): Define always.
4856         (main): New function for interactive testing.
4857
4858 2011-01-25  Bruno Haible  <bruno@clisp.org>
4859
4860         vma-iter: Treat Haiku like BeOS.
4861         * lib/vma-iter.h (VMA_ITERATE_SUPPORTED): Define on Haiku as well.
4862         * lib/vma-iter.c (vma_iterate) [Haiku]: Use the BeOS API.
4863
4864 2011-01-25  Eric Blake  <eblake@redhat.com>
4865
4866         c-stack: fix regression on cygwin when libsigsegv is present
4867         * lib/c-stack.c (die): Don't flatten error if sigsegv is present.
4868
4869 2011-01-24  Bruno Haible  <bruno@clisp.org>
4870
4871         vma-iter: Avoid empty intervals.
4872         * lib/vma-iter.c (vma_iterate) [IRIX, OSF/1]: Don't call the callback
4873         on an empty interval.
4874
4875 2011-01-24  Jim Meyering  <meyering@redhat.com>
4876
4877         u64: remove unnecessary #include
4878         * lib/u64.h: Don't include <stddef.h>.  It was not used.
4879
4880 2011-01-23  Paul Eggert  <eggert@cs.ucla.edu>
4881
4882         Allow the user to avoid the HAVE_RAW_DECL_* macros.
4883         * m4/gnulib-common.m4 (gl_ASSERT_NO_GNULIB_POSIXCHECK): New macro.
4884
4885 2011-01-23  Bruno Haible  <bruno@clisp.org>
4886
4887         New module 'vma-iter'.
4888         * lib/vma-iter.h: New file.
4889         * lib/vma-iter.c: New file, based on lib/get-rusage-as.c.
4890         * modules/vma-iter: New file.
4891         * lib/get-rusage-as.c: Include vma-iter.h. Don't include system headers
4892         for get_rusage_as_via_iterator.
4893         (vma_iterate_callback): New function.
4894         (get_rusage_as_via_iterator): Rewritten to use vma_iterate.
4895         * modules/get-rusage-as (Depends-on): Add vma-iter.
4896
4897 2011-01-23  Bruno Haible  <bruno@clisp.org>
4898
4899         uninorm: Tweak includes.
4900         * lib/uninorm/normalize-internal.h: Don't include <stddef.h>.
4901         Reported by Jim Meyering.
4902
4903 2011-01-23  Bruno Haible  <bruno@clisp.org>
4904
4905         get-rusage-as: Improve on NetBSD.
4906         * lib/get-rusage-as.c (get_rusage_as_via_iterator): On NetBSD, use
4907         /proc, like on FreeBSD.
4908
4909 2011-01-23  Jim Meyering  <meyering@redhat.com>
4910
4911         xreadlink.h: remove unnecessary #include
4912         * lib/xreadlink.h: Don't include <stddef.h>.  It was not used.
4913
4914         maint.mk: add syntax-check rule: detect unnecessary #include <stddef.h>
4915         * top/maint.mk (sc_prohibit_stddef_without_use): New rule.
4916
4917 2011-01-23  Bruno Haible  <bruno@clisp.org>
4918
4919         get-rusage-as: Fix bug.
4920         * lib/get-rusage-as.c (get_rusage_as_via_setrlimit): Restore the
4921         original limit when aborting the first loop.
4922
4923 2011-01-23  Bruno Haible  <bruno@clisp.org>
4924
4925         wctype: Ensure valid C syntax.
4926         * m4/wctype_h.m4 (gl_WCTYPE_H): Invoke gl_CHECK_NEXT_HEADERS
4927         unconditionally, instead of gl_NEXT_HEADERS conditionally.
4928
4929 2011-01-21  Paul Eggert  <eggert@cs.ucla.edu>
4930
4931         getopt: omit HAVE_OPTRESET, HAVE_GETOPT_CLIP from config.h
4932         * m4/getopt.m4 (gl_GETOPT_CHECK_HEADERS): Do not put the
4933         symbols HAVE_OPTRESET and HAVE_GETOPT_CLIP into config.h,
4934         as they are needed only for configure's test case.
4935         This removes two unnecessary symbols from config.h.
4936
4937         gl_CHECK_NEXT_HEADERS implies AC_CHECK_HEADERS_ONCE
4938         * m4/include_next.m4 (gl_CHECK_HEXT_HEADERS): Document this.
4939         * m4/getopt.m4 (gl_GETOPT_CHECK_HEADERS): Don't bother to invoke
4940         AC_CHECK_HEADERS_ONCE on a header that we also invoke
4941         gl_CHECK_NEXT_HEADERS on, since the latter invokes the former.
4942         * m4/netdb_h.m4 (gl_HEADER_NETDB): Likewise.
4943         * m4/pthread.m4 (gl_PTHREAD_CHECK): Likewise.
4944         * m4/sched_h.m4 (gl_SCHED_H): Likewise.
4945         * m4/search_h.m4 (gl_SEARCH_H): Likewise.
4946         * m4/spawn_h.m4 (gl_SPAWN_H): Likewise.
4947         * m4/sys_file_h.m4 (gl_HEADER_SYS_FILE_H): Likewise.
4948         * m4/sys_select_h.m4 (gl_HEADER_SYS_SELECT): Likewise.
4949         * m4/sys_times_h.m4 (gl_SYS_TIMES_H): Likewise.
4950         * m4/sys_utsname_h.m4 (gl_SYS_UTSNAME_H): Likewise.
4951         * m4/termios_h.m4 (gl_TERMIOS_H): Likewise.
4952         * m4/unistd_h.m4 (gl_UNISTD_H): Likewise.
4953         * m4/wchar_h.m4 (gl_WCHAR_H): Likewise.
4954         * m4/wctype_h.m4 (gl_WCTYPE_H): Likewise.
4955
4956 2011-01-21  Eric Blake  <eblake@redhat.com>
4957
4958         maintainer-makefile: work with older git for submodule check
4959         * top/maint.mk (public-submodule-commit): Rewrite to avoid
4960         merge-base --independent, which Ubuntu 10.04 git 1.7.0.4 lacks.
4961         Reported by Matthias Bolte.
4962
4963         bootstrap: minor portability fixes
4964         * build-aux/bootstrap (me): Use $me instead of $0 in functions.
4965         (usage): Omit leading capital and trailing . on help phrases, per
4966         GNU Coding Standards.
4967         (check_versions, top level): Prefix messages with script name.
4968
4969 2011-01-21  Benjamin Lindner  <bjmldn@gmail.com>  (tiny change)
4970
4971         bootstrap: support --no-git option
4972         * build-aux/bootstrap: Add --no-git option, to be used when
4973         --gnulib-srcdir points to the exact desired checkout.
4974
4975 2011-01-21  Eric Blake  <eblake@redhat.com>
4976
4977         strerror_r-posix: work with glibc 2.13
4978         * lib/strerror_r.c (strerror_r): Fix return type.
4979
4980 2011-01-21  Pádraig Brady  <P@draigBrady.com>
4981             Bruno Haible  <bruno@clisp.org>
4982
4983         uN_strstr: New unit tests.
4984         * modules/unistr/u8-strstr-tests: New file.
4985         * modules/unistr/u16-strstr-tests: New file.
4986         * modules/unistr/u32-strstr-tests: New file.
4987         * tests/unistr/test-u-strstr.h: New file, based on tests/test-strstr.c.
4988         * tests/unistr/test-u8-strstr.c: New file.
4989         * tests/unistr/test-u16-strstr.c: New file.
4990         * tests/unistr/test-u32-strstr.c: New file.
4991
4992 2011-01-21  Pádraig Brady  <P@draigBrady.com>
4993             Bruno Haible  <bruno@clisp.org>
4994
4995         Make uN_strstr functions O(n) worst-case.
4996         * lib/unistr/u-strstr.h (FUNC): In the 8-bit case, use strstr. In the
4997         16-bit and 32-bit unit cases, use the unibyte algorithm from
4998         lib/mbsstr.c.
4999         * lib/unistr/u8-strstr.c: Include <string.h>.
5000         (UNIT_IS_UINT8_T): New macro.
5001         * lib/unistr/u16-strstr.c: Include malloca.h and str-kmp.h.
5002         (U_STRLEN, U_STRNLEN): New macros.
5003         * lib/unistr/u32-strstr.c: Include malloca.h and str-kmp.h.
5004         (U_STRLEN, U_STRNLEN): New macros.
5005         * modules/unistr/u8-strstr (Depends-on): Add strstr.
5006         (configure.ac): Update required libunistring version.
5007         * modules/unistr/u16-strstr (Files): Add lib/str-kmp.h.
5008         (Depends-on): Add unistr/u16-strlen, unistr/u16-strnlen, stdbool,
5009         malloca.
5010         (configure.ac): Update required libunistring version.
5011         * modules/unistr/u32-strstr (Files): Add lib/str-kmp.h.
5012         (Depends-on): Add unistr/u32-strlen, unistr/u32-strnlen, stdbool,
5013         malloca.
5014         (configure.ac): Update required libunistring version.
5015
5016 2011-01-21  Pádraig Brady  <P@draigBrady.com>
5017             Bruno Haible  <bruno@clisp.org>
5018
5019         Prepare for faster uN_strstr functions.
5020         * lib/str-kmp.h: Support definable UNITs.
5021         (knuth_morris_pratt): Renamed from knuth_morris_pratt_unibyte. Add
5022         needle_len argument.
5023         * lib/mbsstr.c (mbsstr): Adjust for the changed str-kmp.h.
5024         * lib/mbscasestr.c (mbscasestr): Likewise.
5025
5026 2011-01-21  Pádraig Brady <P@draigBrady.com>
5027
5028         malloca-tests: make faster by unsetting MALLOC_PERTURB_
5029         * tests/test-malloca.c (main): Unset the environment variable
5030         to greatly speed up the test.
5031         * tests/init.sh: Don't say that MALLOC_PERTURB_ is cheap.
5032         * modules/malloca-tests: Depend on unsetenv.
5033
5034 2011-01-21  Pádraig Brady <P@draigBrady.com>
5035
5036         ignore-value: remove stdint dependency
5037         * lib/ignore-value.h: Remove <stdint.h>
5038         * modules/ignore-value: Remove stdint dependency.
5039
5040 2011-01-21  Jim Meyering  <meyering@redhat.com>
5041
5042         maint.mk: adjust variable name to be consistent with other gl_ vars
5043         * top/maint.mk (gl_public_submodule_commit): Rename the variable
5044         to be lower case.
5045
5046 2011-01-20  Jim Meyering  <meyering@redhat.com>
5047
5048         maint.mk: make "check" depend on public-submodule-commit by default
5049         * top/maint.mk (GL_PUBLIC_SUBMODULE_COMMIT): New overridable variable.
5050
5051 2011-01-20  Bruno Haible  <bruno@clisp.org>
5052
5053         mbfile, mbiter: Complete change from 2008-12-21.
5054         * m4/mbfile.m4 (gl_MBFILE): Don't require AC_FUNC_MBRTOWC.
5055         * m4/mbiter.m4 (gl_MBITER): Likewise.
5056
5057 2011-01-20  Jim Meyering  <meyering@redhat.com>
5058
5059         init.sh: insert space between each function name and "()"
5060         * tests/init.sh: Make it a little easier to see that a function's
5061         name is "warn_", and not "warn" when looking at the first part of
5062         its definition: "warn_ ()".  Suggested by Ralf Wildenhues.
5063
5064 2011-01-20  Jim Meyering  <meyering@redhat.com>
5065
5066         mountlist: clean up code formatting
5067         * lib/mountlist.c (read_file_system_list): Split a long line,
5068         correct bracing style, use NULL in place of "(struct statfs *)0",
5069         don't parenthesize return value, add spaces around "=" and after
5070         ";-in-for-stmt".
5071
5072 2011-01-14  Markus Duft <mduft@gentoo.org>
5073
5074         mountlist: add support for Interix
5075         * lib/mountlist.c (read_file_system_list) [MOUNTED_INTERIX_STATVFS]:
5076         Apply statvfs to all entries of /dev/fs.
5077         * m4/ls-mntd-fs.m4 (gl_LIST_MOUNTED_FILE_SYSTEMS): Check for statvfs,
5078         and if found, AC_DEFINE MOUNTED_INTERIX_STATVFS.
5079
5080 2011-01-20  Jim Meyering  <meyering@redhat.com>
5081
5082         maint.mk: improve the public-submodule-commit rule
5083         * top/maint.mk (public-submodule-commit): Prefix with $(AM_V_GEN),
5084         to suppress printing of its commands... unless V=1.
5085         Add git submodule's --quiet option to suppress printing of e.g.,
5086         "Entering gnulib" output.
5087         "cd" into $(srcdir) before running git submodule.
5088
5089 2011-01-20  Bruno Haible  <bruno@clisp.org>
5090
5091         include_next: Fix bug introduced on 2011-01-18.
5092         * m4/include_next.m4 (gl_NEXT_HEADERS_INTERNAL): New macro, extracted
5093         from gl_CHECK_NEXT_HEADERS and gl_NEXT_HEADERS. Omit test of
5094         ac_cv_header_... variable if the second argument is not 'check'.
5095         (gl_CHECK_NEXT_HEADERS, gl_NEXT_HEADERS): Invoke
5096         gl_NEXT_HEADERS_INTERNAL.
5097
5098 2011-01-20  Bruno Haible  <bruno@clisp.org>
5099
5100         Allow the user to avoid the GNULIB_TEST_* macros.
5101         * m4/gnulib-common.m4 (gl_ASSERT_NO_GNULIB_TESTS): New macro.
5102         Suggested by Paul Eggert.
5103
5104 2011-01-14  Jim Meyering  <meyering@redhat.com>
5105
5106         bootstrap: avoid failure when there is no .gitmodules file
5107         ": ${gnulib_path=gnulib}" fails to set $gnulib_path when that variable
5108         has been assigned to, even when its value is the empty string.
5109         * build-aux/bootstrap (gnulib_path): Test explicitly for an empty
5110         "$gnulib_path", rather than using ${gnulib_path=gnulib}.
5111         Reported by John W. Eaton <jwe@gnu.org>.
5112
5113 2011-01-19  Paul Eggert  <eggert@cs.ucla.edu>
5114
5115         assume <ctype.h>, ..., <time.h> exist
5116         For years gnulib has been assuming the existence of the headers
5117         <ctime.h>, <errno.h>, <fcntl.h>, <locale.h>, <signal.h>,
5118         <stdio.h>, <stdlib.h>, <string.h>, and <time.h>.  Omit checks for
5119         them, since they don't appear to be needed.
5120         * README (Portability guidelines): Document this.
5121         * lib/flock.c: Assume <fcntl.h> exists.
5122         * lib/regex_internal.h: Assume <locale.h> exists.
5123         * m4/ctype.m4 (gl_CTYPE_H): Assume <ctype.h> exists.
5124         * m4/errno_h.m4 (gl_HEADER_ERRNO_H): Assume <errno.h> exists.
5125         * m4/fcntl_h.m4 (gl_FCNTL_H): Assume <fcntl.h> exists.
5126         * m4/flock.m4 (gl_PREREQ_FLOCK): Likewise.
5127         * m4/locale_h.m4 (gl_LOCALE_H): Assume <locale.h> exists.
5128         * m4/regex.m4 (gl_REGEX): Likewise.
5129         * m4/signal_h.m4 (gl_SIGNAL_H): Assume <signal.h> exists.
5130         * m4/stdio_h.m4 (gl_STDIO_H): Assume <stdio.h> exists.
5131         * m4/stdlib_h.m4 (gl_STDLIB_H): Assume <stdlib.h> exists.
5132         * m4/string_h.m4 (gl_STRING_H): Assume <string.h> exists.
5133         * tests/test-argp.c: Likewise.
5134         * m4/time_h.m4 (gl_HEADER_TIME_H_BODY): Assume <time.h> exists.
5135
5136         multiarch: remove AA_APPLE_UNIVERSAL_BUILD
5137         * m4/multiarch.m4 (gl_MULTIARCH): Don't AC_DEFINE
5138         AA_APPLE_UNIVERSAL_BUILD.  See
5139         <http://lists.gnu.org/archive/html/bug-gnulib/2011-01/msg00247.html>.
5140         * NEWS: Document this.
5141
5142 2011-01-19  Eric Blake  <eblake@redhat.com>
5143
5144         c-stack: assume stack overflow if SA_SIGINFO unsupported
5145         * lib/c-stack.c (SIGACTION_WORKS): Rename...
5146         (SIGINFO_WORKS): ...since gnulib module guarantees that (most) of
5147         sigaction will work.
5148         (die): Assume stack overflow if siginfo doesn't work, to let Haiku
5149         behavior match Linux.
5150         * tests/test-c-stack.c (main): Prefer NULL for pointers.
5151
5152         stdbool-tests: accomodate Haiku
5153         * tests/test-stdbool.c: Haiku's gcc 2.95 lacks native _Bool.
5154
5155         binary-io: fix O_TEXT on Haiku
5156         * modules/binary-io (Depends-on): Add fcntl-h.
5157         * lib/binary-io.h (O_TEXT): Rely on replacement <fcntl.h> rather
5158         than blindly undefining O_TEXT.
5159         Reported by Scott McCreary.
5160
5161 2011-01-18  Paul Eggert  <eggert@cs.ucla.edu>
5162
5163         include_next: do not check for standard headers like stddef.h
5164
5165         I found this problem when modifying Emacs to use gnulib.
5166         I noticed that it added HAVE_STDDEF_H to config.h, even though
5167         gnulib always assumes <stddef.h> exists as per README and this
5168         symbol is unnecessary.
5169         * m4/include_next.m4 (gl_NEXT_HEADERS): New macro, which does not
5170         use AC_CHECK_HEADERS_ONCE, but which otherwise contains what
5171         gl_CHECK_NEXT_HEADERS used to contain.  This makes 'configure' run
5172         faster for headers like stddef.h that are known to exist.
5173         (gl_CHECK_NEXT_HEADERS): Use it.
5174         * m4/float_h.m4 (gl_FLOAT_H): For float.h, use gl_NEXT_HEADERS
5175         rather than gl_CHECK_NEXT_HEADERS.
5176         * m4/stdarg.m4 (gl_STDARG_H): Likewise, for stdarg.h.
5177         * m4/stddef_h.m4 (gl_STDDEF_H): Likewise, for stddef.h.
5178
5179 2011-01-18  Eric Blake  <eblake@redhat.com>
5180
5181         ansi-c++-opt: skip C++ dependency style if C++ is unused
5182         * m4/ansi-c++.m4 (gl_PROG_ANSI_CXX): Avoid full-blown dependency
5183         tests when we know C++ compilation is not desired.
5184         Reported by Scott McCreary.
5185
5186 2011-01-18  Bruno Haible  <bruno@clisp.org>
5187
5188         *printf-posix: Avoid test failures. Make tests work on MacOS X, Cygwin.
5189         * tests/test-fprintf-posix3.c: Include "resource-ext.h".
5190         (main): Perform test also when getrlimit and setrlimit don't exist or
5191         when setrlimit of RLIMIT_DATA fails (like on Cygwin). Instead of
5192         limiting the address space size using setrlimit, compare the address
5193         space size before and after the the test.
5194         * tests/test-dprintf-posix2.c: Likewise.
5195         * tests/test-fprintf-posix3.sh: Update skip messages.
5196         * tests/test-dprintf-posix2.sh: Likewise.
5197         * modules/fprintf-posix-tests (Depends-on): Add get-rusage-as.
5198         * modules/dprintf-posix-tests (Depends-on): Likewise.
5199         Reported by Bruce Korb <bkorb@gnu.org> and
5200         Gary V. Vaughan <gary@gnu.org>.
5201
5202 2011-01-18  Bruno Haible  <bruno@clisp.org>
5203
5204         get-rusage-as: Improvement for Cygwin.
5205         * lib/get-rusage-as.c (get_rusage_as_via_iterator): On Windows, ignore
5206         areas that are merely reserved.
5207
5208 2011-01-18  Paul Eggert  <eggert@cs.ucla.edu>
5209
5210         strftime: remove dependencies on multibyte modules
5211
5212         strftime depended on mbrlen, mbsinit, and wchar, but these modules
5213         are needed only if ! MULTIBYTE_IS_FORMAT_SAFE, and that is true
5214         only if __osf__ is defined, and I suspect OSF doesn't need these
5215         other modules.  If my guess is wrong, we'll need to come up with a
5216         variant of strftime that doesn't need the multibyte modules.
5217
5218         I discovered this problem when attempting modify Emacs to use the
5219         strftime module.  With the previous gnulib, this caused Emacs to
5220         need 31 new files, ranging from lib/config.charset to
5221         m4/wint_t.m4.  This was overkill and I expect would be offputting
5222         to the Emacs maintainers.  After this change, only 6 new files are
5223         needed, namely strftime.[ch], srtftime.m4, stdbool.in.h,
5224         stdbool.m4, and tm_gmtoff.m4.
5225
5226         * lib/strftime.c (MULTIBYTE_IS_FORMAT_SAFE): Define to 1 always.
5227         Suggested by Bruno Haible in
5228         <http://lists.gnu.org/archive/html/bug-gnulib/2011-01/msg00238.html>.
5229         * m4/strftime.m4 (gl_FUNC_STRFTIME): Do not require AC_TYPE_MBSTATE_T,
5230         and do not check for wchar.h.
5231         * modules/strftime (Files): Remove m4/mbstate_t.m4.
5232         (Depends-on): Remove mbrlen, mbsinit, wchar.
5233
5234 2011-01-18  Bruno Haible  <bruno@clisp.org>
5235
5236         Tests for module 'get-rusage-as'.
5237         * modules/get-rusage-as-tests: New file.
5238         * tests/test-get-rusage-as.c: New file.
5239
5240         New module 'get-rusage-as'.
5241         * modules/get-rusage-as: New file.
5242         * lib/resource-ext.h: New file.
5243         * lib/get-rusage-as.c: New file.
5244
5245 2011-01-17  Eric Blake  <eblake@redhat.com>
5246
5247         sigaction: relax license from LGPLv3+ to LGPLv2+
5248         * modules/sigaction (License): Relax to LGPLv2+.
5249
5250 2011-01-14  Bruno Haible  <bruno@clisp.org>
5251
5252         filemode: Make function declarations usable in C++ mode.
5253         * lib/filemode.h: Enclose function declarations in extern "C" block.
5254         Reported by John W. Eaton <jwe@gnu.org>.
5255
5256 2011-01-12  Rob Vermaas  <rob.vermaas@gmail.com>
5257
5258         save-cwd: no longer include "xgetcwd.h"
5259         * lib/save-cwd.c: Don't include "xgetcwd.h"; it's no longer used.
5260         This avoids a compilation failure in projects that use save-cwd
5261         without also using the xgetcwd module.
5262
5263 2011-01-11  Paul Eggert  <eggert@cs.ucla.edu>
5264
5265         ftoastr: split into 3 modules ftoastr, dtoastr, ldtoastr
5266         This is so that a program like Emacs, which needs only dtoastr,
5267         does not have to bother with distributing and compiling ftoastr
5268         and ldtoastr.
5269         * MODULES.html.sh: Document these modules (ftoastr wasn't documented).
5270         * modules/dtoastr, modules/ldtoastr: New files.
5271         * modules/ftoastr: Now works just for 'float'.
5272         (Files): Remove lib/dtoastr.c, lib/ldtoastr.c.
5273         (Makefile.am): Remove ftoastr.h (not needed and no effect),
5274         dtoastr.c, ldtoastr.c.
5275
5276 2011-01-11  Jim Meyering  <meyering@redhat.com>
5277
5278         save-cwd: remove #if-!HAVE_FCHDIR'd code; use the fchdir module
5279         There is no need to work around the lack of the fchdir function,
5280         since gnulib can now provide a replacement when required.
5281         * lib/save-cwd.c: Remove #if !HAVE_FCHDIR...#endif code.
5282         * modules/save-cwd (Depends-on): Add fchdir.
5283
5284 2011-01-11  Paul Eggert  <eggert@cs.ucla.edu>
5285
5286         openat, save-cwd: avoid xmalloc
5287
5288         This removes a direct (but undocumented) dependency of openat on
5289         xalloc, along with an indirect dependency via save-cwd.  It also
5290         removes a dependency of save-cwd on xgetcwd, and thereby
5291         indirectly on xalloc.  This change causes the openat substitute
5292         to fall back on save_cwd when memory is tight, and for save_cwd to
5293         fail instead of dying when memory is tight, but that's good enough.
5294         Problem and initial idea for fix reported by Bastien Roucaries in
5295         <http://lists.gnu.org/archive/html/bug-gnulib/2011-01/msg00170.html>.
5296
5297         * lib/openat-proc.c: Include stdlib.h (for malloc), not
5298         xalloc.h (for xmalloc).
5299         (openat_proc_name): Use malloc, not xmalloc.
5300         * lib/save-cwd.c (save_cwd): Use getcwd, not xgetcwd.
5301         * modules/save-cwd (Files): Depend on getcwd, not xgetcwd.
5302
5303         openat: Increase OPENAT_BUFFER_SIZE from 512 to at least 1024
5304         This avoids heap allocation for file names whose lengths are in
5305         the range 512..1023, with the upper bound increasing to at most
5306         4031 depending on the platform's PATH_MAX.  (We do not want
5307         pathmax.h here as it might supply a non-constant PATH_MAX.)
5308         * lib/openat-priv.h (SAFER_ALLOCA_MAX, SAFER_ALLOCA): New macros.
5309         Perhaps they should be moved to malloca.h?
5310         (OPENAT_BUFFER_SIZE): Use them.
5311
5312 2011-01-10  Bruno Haible  <bruno@clisp.org>
5313
5314         doc: Update users.txt.
5315         * users.txt: Add recutils.
5316
5317 2011-01-09  Karl Berry  <karl@gnu.org>
5318
5319         * doc/posix-functions/gai_strerror.texi: Insert missing @item.
5320
5321         * doc/configmake.texi: New file.
5322         * doc/gnulib.texi: Include it.
5323         * modules/configmake: Move documentation from here.
5324
5325 2011-01-09  Bruno Haible  <bruno@clisp.org>
5326
5327         Update to Unicode 6.0.0.
5328         * lib/gen-uni-tables.c (symbolic_width): Fix bounds of planes.
5329         (get_lbp): Update for Unicode 6.0.0.
5330         * lib/uniwidth/width.c (nonspacing_table_data): Add U+065F,
5331         U+0859..U+085B, U+093A, U+0956..U+0957, U+0F8D..U+0F8F, U+135D..U+135E,
5332         U+1BE6, U+1BE8..U+1BE9, U+1BED, U+1BEF..U+1BF1, U+1DFC, U+2D7F,
5333         U+11001, U+11038..U+11046. Remove U+06DE.
5334         (uc_width): Fix bounds of planes.
5335         * tests/uniwidth/test-uc_width2.sh: Same updates as in
5336         lib/uniwidth/width.c.
5337         * tests/unigbrk/GraphemeBreakTest.txt: Copied from Unicode 6.0.0, with
5338         trailing whitespace removed.
5339         * tests/uninorm/NormalizationTest.txt: Update from Unicode 6.0.0,
5340         without comments, but with the original copyright notice.
5341         * lib/unicase/cased.h: Regenerated for Unicode 6.0.0.
5342         * lib/unicase/ignorable.h: Likewise.
5343         * lib/unicase/tocasefold.h: Likewise.
5344         * lib/unicase/tolower.h: Likewise.
5345         * lib/unicase/totitle.h: Likewise.
5346         * lib/unicase/toupper.h: Likewise.
5347         * lib/unictype/bidi_of.h: Likewise.
5348         * lib/unictype/blocks.h: Likewise.
5349         * lib/unictype/categ_C.h: Likewise.
5350         * lib/unictype/categ_Cn.h: Likewise.
5351         * lib/unictype/categ_L.h: Likewise.
5352         * lib/unictype/categ_Ll.h: Likewise.
5353         * lib/unictype/categ_Lm.h: Likewise.
5354         * lib/unictype/categ_Lo.h: Likewise.
5355         * lib/unictype/categ_Lu.h: Likewise.
5356         * lib/unictype/categ_M.h: Likewise.
5357         * lib/unictype/categ_Mc.h: Likewise.
5358         * lib/unictype/categ_Me.h: Likewise.
5359         * lib/unictype/categ_Mn.h: Likewise.
5360         * lib/unictype/categ_N.h: Likewise.
5361         * lib/unictype/categ_Nd.h: Likewise.
5362         * lib/unictype/categ_No.h: Likewise.
5363         * lib/unictype/categ_P.h: Likewise.
5364         * lib/unictype/categ_Po.h: Likewise.
5365         * lib/unictype/categ_S.h: Likewise.
5366         * lib/unictype/categ_Sc.h: Likewise.
5367         * lib/unictype/categ_Sk.h: Likewise.
5368         * lib/unictype/categ_Sm.h: Likewise.
5369         * lib/unictype/categ_So.h: Likewise.
5370         * lib/unictype/categ_of.h: Likewise.
5371         * lib/unictype/combining.h: Likewise.
5372         * lib/unictype/ctype_alnum.h: Likewise.
5373         * lib/unictype/ctype_alpha.h: Likewise.
5374         * lib/unictype/ctype_graph.h: Likewise.
5375         * lib/unictype/ctype_lower.h: Likewise.
5376         * lib/unictype/ctype_print.h: Likewise.
5377         * lib/unictype/ctype_punct.h: Likewise.
5378         * lib/unictype/ctype_upper.h: Likewise.
5379         * lib/unictype/decdigit.h: Likewise.
5380         * lib/unictype/digit.h: Likewise.
5381         * lib/unictype/numeric.h: Likewise.
5382         * lib/unictype/pr_alphabetic.h: Likewise.
5383         * lib/unictype/pr_bidi_arabic_digit.h: Likewise.
5384         * lib/unictype/pr_bidi_arabic_right_to_left.h: Likewise.
5385         * lib/unictype/pr_bidi_boundary_neutral.h: Likewise.
5386         * lib/unictype/pr_bidi_eur_num_terminator.h: Likewise.
5387         * lib/unictype/pr_bidi_hebrew_right_to_left.h: Likewise.
5388         * lib/unictype/pr_bidi_left_to_right.h: Likewise.
5389         * lib/unictype/pr_bidi_non_spacing_mark.h: Likewise.
5390         * lib/unictype/pr_bidi_other_neutral.h: Likewise.
5391         * lib/unictype/pr_case_ignorable.h: Likewise.
5392         * lib/unictype/pr_cased.h: Likewise.
5393         * lib/unictype/pr_changes_when_casefolded.h: Likewise.
5394         * lib/unictype/pr_changes_when_casemapped.h: Likewise.
5395         * lib/unictype/pr_changes_when_lowercased.h: Likewise.
5396         * lib/unictype/pr_changes_when_titlecased.h: Likewise.
5397         * lib/unictype/pr_changes_when_uppercased.h: Likewise.
5398         * lib/unictype/pr_combining.h: Likewise.
5399         * lib/unictype/pr_composite.h: Likewise.
5400         * lib/unictype/pr_currency_symbol.h: Likewise.
5401         * lib/unictype/pr_decimal_digit.h: Likewise.
5402         * lib/unictype/pr_deprecated.h: Likewise.
5403         * lib/unictype/pr_format_control.h: Likewise.
5404         * lib/unictype/pr_grapheme_base.h: Likewise.
5405         * lib/unictype/pr_grapheme_extend.h: Likewise.
5406         * lib/unictype/pr_grapheme_link.h: Likewise.
5407         * lib/unictype/pr_id_continue.h: Likewise.
5408         * lib/unictype/pr_id_start.h: Likewise.
5409         * lib/unictype/pr_ideographic.h: Likewise.
5410         * lib/unictype/pr_lowercase.h: Likewise.
5411         * lib/unictype/pr_math.h: Likewise.
5412         * lib/unictype/pr_numeric.h: Likewise.
5413         * lib/unictype/pr_other_alphabetic.h: Likewise.
5414         * lib/unictype/pr_other_id_continue.h: Likewise.
5415         * lib/unictype/pr_other_math.h: Likewise.
5416         * lib/unictype/pr_punctuation.h: Likewise.
5417         * lib/unictype/pr_sentence_terminal.h: Likewise.
5418         * lib/unictype/pr_terminal_punctuation.h: Likewise.
5419         * lib/unictype/pr_unassigned_code_value.h: Likewise.
5420         * lib/unictype/pr_unified_ideograph.h: Likewise.
5421         * lib/unictype/pr_uppercase.h: Likewise.
5422         * lib/unictype/pr_xid_continue.h: Likewise.
5423         * lib/unictype/pr_xid_start.h: Likewise.
5424         * lib/unictype/scripts.h: Likewise.
5425         * lib/unictype/scripts_byname.gperf: Likewise.
5426         * lib/unictype/sy_java_ident.h: Likewise.
5427         * lib/unigbrk/gbrkprop.h: Likewise.
5428         * lib/unilbrk/lbrkprop1.h: Likewise.
5429         * lib/unilbrk/lbrkprop2.h: Likewise.
5430         * lib/uninorm/decomposition-table2.h: Likewise.
5431         * lib/uniwbrk/wbrkprop.h: Likewise.
5432         * tests/unicase/test-cased.c: Likewise.
5433         * tests/unicase/test-ignorable.c: Likewise.
5434         * tests/unicase/test-uc_tolower.c: Likewise.
5435         * tests/unicase/test-uc_totitle.c: Likewise.
5436         * tests/unicase/test-uc_toupper.c: Likewise.
5437         * tests/unictype/test-categ_C.c: Likewise.
5438         * tests/unictype/test-categ_Cn.c: Likewise.
5439         * tests/unictype/test-categ_L.c: Likewise.
5440         * tests/unictype/test-categ_Ll.c: Likewise.
5441         * tests/unictype/test-categ_Lm.c: Likewise.
5442         * tests/unictype/test-categ_Lo.c: Likewise.
5443         * tests/unictype/test-categ_Lu.c: Likewise.
5444         * tests/unictype/test-categ_M.c: Likewise.
5445         * tests/unictype/test-categ_Mc.c: Likewise.
5446         * tests/unictype/test-categ_Me.c: Likewise.
5447         * tests/unictype/test-categ_Mn.c: Likewise.
5448         * tests/unictype/test-categ_N.c: Likewise.
5449         * tests/unictype/test-categ_Nd.c: Likewise.
5450         * tests/unictype/test-categ_No.c: Likewise.
5451         * tests/unictype/test-categ_P.c: Likewise.
5452         * tests/unictype/test-categ_Po.c: Likewise.
5453         * tests/unictype/test-categ_S.c: Likewise.
5454         * tests/unictype/test-categ_Sc.c: Likewise.
5455         * tests/unictype/test-categ_Sk.c: Likewise.
5456         * tests/unictype/test-categ_Sm.c: Likewise.
5457         * tests/unictype/test-categ_So.c: Likewise.
5458         * tests/unictype/test-ctype_alnum.c: Likewise.
5459         * tests/unictype/test-ctype_alpha.c: Likewise.
5460         * tests/unictype/test-ctype_graph.c: Likewise.
5461         * tests/unictype/test-ctype_lower.c: Likewise.
5462         * tests/unictype/test-ctype_print.c: Likewise.
5463         * tests/unictype/test-ctype_punct.c: Likewise.
5464         * tests/unictype/test-ctype_upper.c: Likewise.
5465         * tests/unictype/test-decdigit.h: Likewise.
5466         * tests/unictype/test-digit.h: Likewise.
5467         * tests/unictype/test-numeric.h: Likewise.
5468         * tests/unictype/test-pr_alphabetic.c: Likewise.
5469         * tests/unictype/test-pr_bidi_arabic_digit.c: Likewise.
5470         * tests/unictype/test-pr_bidi_arabic_right_to_left.c: Likewise.
5471         * tests/unictype/test-pr_bidi_boundary_neutral.c: Likewise.
5472         * tests/unictype/test-pr_bidi_eur_num_terminator.c: Likewise.
5473         * tests/unictype/test-pr_bidi_hebrew_right_to_left.c: Likewise.
5474         * tests/unictype/test-pr_bidi_left_to_right.c: Likewise.
5475         * tests/unictype/test-pr_bidi_non_spacing_mark.c: Likewise.
5476         * tests/unictype/test-pr_bidi_other_neutral.c: Likewise.
5477         * tests/unictype/test-pr_case_ignorable.c: Likewise.
5478         * tests/unictype/test-pr_cased.c: Likewise.
5479         * tests/unictype/test-pr_changes_when_casefolded.c: Likewise.
5480         * tests/unictype/test-pr_changes_when_casemapped.c: Likewise.
5481         * tests/unictype/test-pr_changes_when_lowercased.c: Likewise.
5482         * tests/unictype/test-pr_changes_when_titlecased.c: Likewise.
5483         * tests/unictype/test-pr_changes_when_uppercased.c: Likewise.
5484         * tests/unictype/test-pr_combining.c: Likewise.
5485         * tests/unictype/test-pr_composite.c: Likewise.
5486         * tests/unictype/test-pr_currency_symbol.c: Likewise.
5487         * tests/unictype/test-pr_decimal_digit.c: Likewise.
5488         * tests/unictype/test-pr_deprecated.c: Likewise.
5489         * tests/unictype/test-pr_format_control.c: Likewise.
5490         * tests/unictype/test-pr_grapheme_base.c: Likewise.
5491         * tests/unictype/test-pr_grapheme_extend.c: Likewise.
5492         * tests/unictype/test-pr_grapheme_link.c: Likewise.
5493         * tests/unictype/test-pr_id_continue.c: Likewise.
5494         * tests/unictype/test-pr_id_start.c: Likewise.
5495         * tests/unictype/test-pr_ideographic.c: Likewise.
5496         * tests/unictype/test-pr_lowercase.c: Likewise.
5497         * tests/unictype/test-pr_math.c: Likewise.
5498         * tests/unictype/test-pr_numeric.c: Likewise.
5499         * tests/unictype/test-pr_other_alphabetic.c: Likewise.
5500         * tests/unictype/test-pr_other_id_continue.c: Likewise.
5501         * tests/unictype/test-pr_other_math.c: Likewise.
5502         * tests/unictype/test-pr_punctuation.c: Likewise.
5503         * tests/unictype/test-pr_sentence_terminal.c: Likewise.
5504         * tests/unictype/test-pr_terminal_punctuation.c: Likewise.
5505         * tests/unictype/test-pr_unassigned_code_value.c: Likewise.
5506         * tests/unictype/test-pr_unified_ideograph.c: Likewise.
5507         * tests/unictype/test-pr_uppercase.c: Likewise.
5508         * tests/unictype/test-pr_xid_continue.c: Likewise.
5509         * tests/unictype/test-pr_xid_start.c: Likewise.
5510         * tests/unigbrk/test-uc-gbrk-prop.h: Likewise.
5511         * lib/unicase/special-casing-table.gperf: Regenerated; only comment
5512         changes.
5513         * lib/unictype/categ_Cc.h: Likewise.
5514         * lib/unictype/categ_Cf.h: Likewise.
5515         * lib/unictype/categ_Co.h: Likewise.
5516         * lib/unictype/categ_Cs.h: Likewise.
5517         * lib/unictype/categ_Lt.h: Likewise.
5518         * lib/unictype/categ_Nl.h: Likewise.
5519         * lib/unictype/categ_Pc.h: Likewise.
5520         * lib/unictype/categ_Pd.h: Likewise.
5521         * lib/unictype/categ_Pe.h: Likewise.
5522         * lib/unictype/categ_Pf.h: Likewise.
5523         * lib/unictype/categ_Pi.h: Likewise.
5524         * lib/unictype/categ_Ps.h: Likewise.
5525         * lib/unictype/categ_Z.h: Likewise.
5526         * lib/unictype/categ_Zl.h: Likewise.
5527         * lib/unictype/categ_Zp.h: Likewise.
5528         * lib/unictype/categ_Zs.h: Likewise.
5529         * lib/unictype/ctype_blank.h: Likewise.
5530         * lib/unictype/ctype_cntrl.h: Likewise.
5531         * lib/unictype/ctype_digit.h: Likewise.
5532         * lib/unictype/ctype_space.h: Likewise.
5533         * lib/unictype/ctype_xdigit.h: Likewise.
5534         * lib/unictype/mirror.h: Likewise.
5535         * lib/unictype/pr_ascii_hex_digit.h: Likewise.
5536         * lib/unictype/pr_bidi_block_separator.h: Likewise.
5537         * lib/unictype/pr_bidi_common_separator.h: Likewise.
5538         * lib/unictype/pr_bidi_control.h: Likewise.
5539         * lib/unictype/pr_bidi_embedding_or_override.h: Likewise.
5540         * lib/unictype/pr_bidi_eur_num_separator.h: Likewise.
5541         * lib/unictype/pr_bidi_european_digit.h: Likewise.
5542         * lib/unictype/pr_bidi_pdf.h: Likewise.
5543         * lib/unictype/pr_bidi_segment_separator.h: Likewise.
5544         * lib/unictype/pr_bidi_whitespace.h: Likewise.
5545         * lib/unictype/pr_dash.h: Likewise.
5546         * lib/unictype/pr_default_ignorable_code_point.h: Likewise.
5547         * lib/unictype/pr_diacritic.h: Likewise.
5548         * lib/unictype/pr_extender.h: Likewise.
5549         * lib/unictype/pr_hex_digit.h: Likewise.
5550         * lib/unictype/pr_hyphen.h: Likewise.
5551         * lib/unictype/pr_ids_binary_operator.h: Likewise.
5552         * lib/unictype/pr_ids_trinary_operator.h: Likewise.
5553         * lib/unictype/pr_ignorable_control.h: Likewise.
5554         * lib/unictype/pr_iso_control.h: Likewise.
5555         * lib/unictype/pr_join_control.h: Likewise.
5556         * lib/unictype/pr_left_of_pair.h: Likewise.
5557         * lib/unictype/pr_line_separator.h: Likewise.
5558         * lib/unictype/pr_logical_order_exception.h: Likewise.
5559         * lib/unictype/pr_non_break.h: Likewise.
5560         * lib/unictype/pr_not_a_character.h: Likewise.
5561         * lib/unictype/pr_other_default_ignorable_code_point.h: Likewise.
5562         * lib/unictype/pr_other_grapheme_extend.h: Likewise.
5563         * lib/unictype/pr_other_id_start.h: Likewise.
5564         * lib/unictype/pr_other_lowercase.h: Likewise.
5565         * lib/unictype/pr_other_uppercase.h: Likewise.
5566         * lib/unictype/pr_paired_punctuation.h: Likewise.
5567         * lib/unictype/pr_paragraph_separator.h: Likewise.
5568         * lib/unictype/pr_pattern_syntax.h: Likewise.
5569         * lib/unictype/pr_pattern_white_space.h: Likewise.
5570         * lib/unictype/pr_private_use.h: Likewise.
5571         * lib/unictype/pr_quotation_mark.h: Likewise.
5572         * lib/unictype/pr_radical.h: Likewise.
5573         * lib/unictype/pr_soft_dotted.h: Likewise.
5574         * lib/unictype/pr_space.h: Likewise.
5575         * lib/unictype/pr_titlecase.h: Likewise.
5576         * lib/unictype/pr_variation_selector.h: Likewise.
5577         * lib/unictype/pr_white_space.h: Likewise.
5578         * lib/unictype/pr_zero_width.h: Likewise.
5579         * lib/unictype/sy_c_ident.h: Likewise.
5580         * lib/unictype/sy_c_whitespace.h: Likewise.
5581         * lib/unictype/sy_java_whitespace.h: Likewise.
5582         * lib/uninorm/composition-table.gperf: Likewise.
5583         * lib/uninorm/decomposition-table1.h: Likewise.
5584         * tests/unilbrk/test-u8-possible-linebreaks.c (main): Add test for rule
5585         LB8.
5586         * tests/unilbrk/test-u16-possible-linebreaks.c (main): Likewise.
5587         * tests/unilbrk/test-u32-possible-linebreaks.c (main): Likewise.
5588         * modules/unictype/*: Bump version number of expected libunistring
5589         version.
5590
5591 2011-01-09  Bruno Haible  <bruno@clisp.org>
5592
5593         Update to Unicode 5.2.0.
5594         * tests/unigbrk/GraphemeBreakTest.txt: Copied from Unicode 5.2.0, with
5595         trailing whitespace removed.
5596
5597 2011-01-09  Bruno Haible  <bruno@clisp.org>
5598
5599         New Unicode character properties, from Unicode 5.2.0.
5600         * lib/unictype.in.h (UC_PROPERTY_CASED, UC_PROPERTY_CASE_IGNORABLE,
5601         UC_PROPERTY_CHANGES_WHEN_LOWERCASED,
5602         UC_PROPERTY_CHANGES_WHEN_UPPERCASED,
5603         UC_PROPERTY_CHANGES_WHEN_TITLECASED,
5604         UC_PROPERTY_CHANGES_WHEN_CASEFOLDED,
5605         UC_PROPERTY_CHANGES_WHEN_CASEMAPPED,
5606         uc_is_property_cased, uc_is_property_case_ignorable,
5607         uc_is_property_changes_when_lowercased,
5608         uc_is_property_changes_when_uppercased,
5609         uc_is_property_changes_when_titlecased,
5610         uc_is_property_changes_when_casefolded,
5611         uc_is_property_changes_when_casemapped): New declarations.
5612         * lib/unictype/pr_byname.gperf: Add the new properties.
5613         * modules/unictype/property-byname (Depends-on): Depend on the new
5614         properties modules.
5615         * modules/unictype/property-all (Depends-on): Likewise.
5616         * MODULES.html.sh (Unicode string functions): Add
5617         unictype/property-case-ignorable, unictype/property-cased,
5618         unictype/property-changes-when-casefolded,
5619         unictype/property-changes-when-casemapped,
5620         unictype/property-changes-when-lowercased,
5621         unictype/property-changes-when-titlecased,
5622         unictype/property-changes-when-uppercased.
5623
5624         New module 'unictype/property-changes-when-casemapped'.
5625         * modules/unictype/property-changes-when-casemapped: New file.
5626         * lib/unictype/pr_changes_when_casemapped.c: New file.
5627         * lib/unictype/pr_changes_when_casemapped.h: New file, automatically
5628         generated by gen-uni-tables.
5629         * modules/unictype/property-changes-when-casemapped-tests: New file.
5630         * tests/unictype/test-pr_changes_when_casemapped.c: New file,
5631         automatically generated by gen-uni-tables.
5632
5633         New module 'unictype/property-changes-when-casefolded'.
5634         * modules/unictype/property-changes-when-casefolded: New file.
5635         * lib/unictype/pr_changes_when_casefolded.c: New file.
5636         * lib/unictype/pr_changes_when_casefolded.h: New file, automatically
5637         generated by gen-uni-tables.
5638         * modules/unictype/property-changes-when-casefolded-tests: New file.
5639         * tests/unictype/test-pr_changes_when_casefolded.c: New file,
5640         automatically generated by gen-uni-tables.
5641
5642         New module 'unictype/property-changes-when-titlecased'.
5643         * modules/unictype/property-changes-when-titlecased: New file.
5644         * lib/unictype/pr_changes_when_titlecased.c: New file.
5645         * lib/unictype/pr_changes_when_titlecased.h: New file, automatically
5646         generated by gen-uni-tables.
5647         * modules/unictype/property-changes-when-titlecased-tests: New file.
5648         * tests/unictype/test-pr_changes_when_titlecased.c: New file,
5649         automatically generated by gen-uni-tables.
5650
5651         New module 'unictype/property-changes-when-uppercased'.
5652         * modules/unictype/property-changes-when-uppercased: New file.
5653         * lib/unictype/pr_changes_when_uppercased.c: New file.
5654         * lib/unictype/pr_changes_when_uppercased.h: New file, automatically
5655         generated by gen-uni-tables.
5656         * modules/unictype/property-changes-when-uppercased-tests: New file.
5657         * tests/unictype/test-pr_changes_when_uppercased.c: New file,
5658         automatically generated by gen-uni-tables.
5659
5660         New module 'unictype/property-changes-when-lowercased'.
5661         * modules/unictype/property-changes-when-lowercased: New file.
5662         * lib/unictype/pr_changes_when_lowercased.c: New file.
5663         * lib/unictype/pr_changes_when_lowercased.h: New file, automatically
5664         generated by gen-uni-tables.
5665         * modules/unictype/property-changes-when-lowercased-tests: New file.
5666         * tests/unictype/test-pr_changes_when_lowercased.c: New file,
5667         automatically generated by gen-uni-tables.
5668
5669         New module 'unictype/property-case-ignorable'.
5670         * modules/unictype/property-case-ignorable: New file.
5671         * lib/unictype/pr_case_ignorable.c: New file.
5672         * lib/unictype/pr_case_ignorable.h: New file, automatically generated
5673         by gen-uni-tables.
5674         * modules/unictype/property-case-ignorable-tests: New file.
5675         * tests/unictype/test-pr_case_ignorable.c: New file, automatically
5676         generated by gen-uni-tables.
5677
5678         New module 'unictype/property-cased'.
5679         * modules/unictype/property-cased: New file.
5680         * lib/unictype/pr_cased.c: New file.
5681         * lib/unictype/pr_cased.h: New file, automatically generated by
5682         gen-uni-tables.
5683         * modules/unictype/property-cased-tests: New file.
5684         * tests/unictype/test-pr_cased.c: New file, automatically generated by
5685         gen-uni-tables.
5686
5687 2011-01-09  Bruno Haible  <bruno@clisp.org>
5688
5689         Update to Unicode 5.2.0.
5690         * lib/gen-uni-tables.c (output_predicate, output_category,
5691         output_combclass, output_bidi_category, output_decimal_digit_test,
5692         output_decimal_digit, output_digit_test, output_digit,
5693         output_numeric_test, output_numeric, output_mirror, output_scripts,
5694         output_scripts_byname, output_blocks, output_ident_category): Fix
5695         comment header.
5696         (is_WBP_MIDNUMLET, is_WBP_MIDLETTER): New functions, extracted from
5697         get_wbp.
5698         (PROP_CASED, PROP_CASE_IGNORABLE, PROP_CHANGES_WHEN_*): New enumeration
5699         items.
5700         (fill_properties): Also fill the peoperties Cased, Case_Ignorable,
5701         Changes_When_Lowercased, Changes_When_Uppercased,
5702         Changes_When_Titlecased, Changes_When_Casefolded,
5703         Changes_When_Casemapped.
5704         (is_property_alphabetic, is_property_default_ignorable_code_point):
5705         Update for Unicode 5.2.0.
5706         (is_property_cased, is_property_case_ignorable,
5707         is_property_changes_when_lowercased,
5708         is_property_changes_when_uppercased,
5709         is_property_changes_when_titlecased,
5710         is_property_changes_when_casefolded,
5711         is_property_changes_when_casemapped): New functions.
5712         (output_properties): Output also the properties cased, case_ignorable,
5713         changes_when_lowercased, changes_when_uppercased,
5714         changes_when_titlecased, changes_when_casefolded,
5715         changes_when_casemapped.
5716         (symbolic_width): Update for Unicode 5.2.0, incorporating changes from
5717         Unicode TR#11 revision 17 -> 19.
5718         (LBP_CP): New enumeration value.
5719         (LBP_*): Adjust values accordingly.
5720         (get_lbp): Update for Unicode 5.2.0, incorporating changes from Unicode
5721         TR#14 revision 22 -> 24.
5722         (debug_output_lbp): Allow for LBP_* bits >= 32. Support LBP_CP.
5723         (fill_org_lbp, debug_output_org_lbp, output_lbp): Support LBP_CP.
5724         (get_wbp): Update for Unicode 5.2.0, incorporating changes from Unicode
5725         TR#29 revision 13 -> 15. Use functions is_WBP_MIDNUMLET,
5726         is_WBP_MIDLETTER.
5727         (output_composition_tables): Allow for 24 bits instead of 16 bits in
5728         the code1 and code2 of each composition rule.
5729         * lib/unicase/cased.h: Regenerated for Unicode 5.2.0.
5730         * lib/unicase/ignorable.h: Likewise.
5731         * lib/unicase/tocasefold.h: Likewise.
5732         * lib/unicase/tolower.h: Likewise.
5733         * lib/unicase/totitle.h: Likewise.
5734         * lib/unicase/toupper.h: Likewise.
5735         * lib/unictype/bidi_of.h: Likewise.
5736         * lib/unictype/blocks.h: Likewise.
5737         * lib/unictype/categ_C.h: Likewise.
5738         * lib/unictype/categ_Cf.h: Likewise.
5739         * lib/unictype/categ_Cn.h: Likewise.
5740         * lib/unictype/categ_L.h: Likewise.
5741         * lib/unictype/categ_Ll.h: Likewise.
5742         * lib/unictype/categ_Lm.h: Likewise.
5743         * lib/unictype/categ_Lo.h: Likewise.
5744         * lib/unictype/categ_Lu.h: Likewise.
5745         * lib/unictype/categ_M.h: Likewise.
5746         * lib/unictype/categ_Mc.h: Likewise.
5747         * lib/unictype/categ_Mn.h: Likewise.
5748         * lib/unictype/categ_N.h: Likewise.
5749         * lib/unictype/categ_Nd.h: Likewise.
5750         * lib/unictype/categ_Nl.h: Likewise.
5751         * lib/unictype/categ_No.h: Likewise.
5752         * lib/unictype/categ_P.h: Likewise.
5753         * lib/unictype/categ_Pd.h: Likewise.
5754         * lib/unictype/categ_Po.h: Likewise.
5755         * lib/unictype/categ_S.h: Likewise.
5756         * lib/unictype/categ_Sc.h: Likewise.
5757         * lib/unictype/categ_So.h: Likewise.
5758         * lib/unictype/categ_of.h: Likewise.
5759         * lib/unictype/combining.h: Likewise.
5760         * lib/unictype/ctype_alnum.h: Likewise.
5761         * lib/unictype/ctype_alpha.h: Likewise.
5762         * lib/unictype/ctype_graph.h: Likewise.
5763         * lib/unictype/ctype_lower.h: Likewise.
5764         * lib/unictype/ctype_print.h: Likewise.
5765         * lib/unictype/ctype_punct.h: Likewise.
5766         * lib/unictype/ctype_upper.h: Likewise.
5767         * lib/unictype/decdigit.h: Likewise.
5768         * lib/unictype/digit.h: Likewise.
5769         * lib/unictype/numeric.h: Likewise.
5770         * lib/unictype/pr_alphabetic.h: Likewise.
5771         * lib/unictype/pr_bidi_arabic_digit.h: Likewise.
5772         * lib/unictype/pr_bidi_eur_num_terminator.h: Likewise.
5773         * lib/unictype/pr_bidi_european_digit.h: Likewise.
5774         * lib/unictype/pr_bidi_hebrew_right_to_left.h: Likewise.
5775         * lib/unictype/pr_bidi_left_to_right.h: Likewise.
5776         * lib/unictype/pr_bidi_non_spacing_mark.h: Likewise.
5777         * lib/unictype/pr_bidi_other_neutral.h: Likewise.
5778         * lib/unictype/pr_combining.h: Likewise.
5779         * lib/unictype/pr_composite.h: Likewise.
5780         * lib/unictype/pr_currency_symbol.h: Likewise.
5781         * lib/unictype/pr_dash.h: Likewise.
5782         * lib/unictype/pr_decimal_digit.h: Likewise.
5783         * lib/unictype/pr_deprecated.h: Likewise.
5784         * lib/unictype/pr_diacritic.h: Likewise.
5785         * lib/unictype/pr_extender.h: Likewise.
5786         * lib/unictype/pr_grapheme_base.h: Likewise.
5787         * lib/unictype/pr_grapheme_extend.h: Likewise.
5788         * lib/unictype/pr_grapheme_link.h: Likewise.
5789         * lib/unictype/pr_id_continue.h: Likewise.
5790         * lib/unictype/pr_id_start.h: Likewise.
5791         * lib/unictype/pr_ideographic.h: Likewise.
5792         * lib/unictype/pr_ignorable_control.h: Likewise.
5793         * lib/unictype/pr_logical_order_exception.h: Likewise.
5794         * lib/unictype/pr_lowercase.h: Likewise.
5795         * lib/unictype/pr_numeric.h: Likewise.
5796         * lib/unictype/pr_other_alphabetic.h: Likewise.
5797         * lib/unictype/pr_punctuation.h: Likewise.
5798         * lib/unictype/pr_sentence_terminal.h: Likewise.
5799         * lib/unictype/pr_terminal_punctuation.h: Likewise.
5800         * lib/unictype/pr_unassigned_code_value.h: Likewise.
5801         * lib/unictype/pr_unified_ideograph.h: Likewise.
5802         * lib/unictype/pr_uppercase.h: Likewise.
5803         * lib/unictype/pr_xid_continue.h: Likewise.
5804         * lib/unictype/pr_xid_start.h: Likewise.
5805         * lib/unictype/pr_zero_width.h: Likewise.
5806         * lib/unictype/scripts.h: Likewise.
5807         * lib/unictype/scripts_byname.gperf: Likewise.
5808         * lib/unictype/sy_java_ident.h: Likewise.
5809         * lib/unigbrk/gbrkprop.h: Likewise.
5810         * lib/unilbrk/lbrkprop1.h: Likewise.
5811         * lib/unilbrk/lbrkprop2.h: Likewise.
5812         * lib/unilbrk/lbrktables.h: Likewise.
5813         * lib/unilbrk/lbrktables.c (unilbrk_table): Add a row and column for
5814         LBP_CP. Implement rule LB30.
5815         * lib/uniwidth/width.c (nonspacing_table_data): Add U+0816..U+0819,
5816         U+081B..U+0823, U+0825..U+0827, U+0829..U+082D, U+0900, U+0955, U+109D,
5817         U+1A56, U+1A58..U+1A5E, U+1A60, U+1A62, U+1A65..U+1A6C, U+1A73..U+1A7C,
5818         U+1A7F, U+1CD0..U+1CD2, U+1CD4..U+1CE0, U+1CE2..U+1CE8, U+1CED, U+1DFD,
5819         U+2CEF..U+2CF1, U+A6F0..U+A6F1, U+A8E0..U+A8F1, U+A980..U+A982, U+A9B3,
5820         U+A9B6..U+A9B9, U+A9BC, U+AAB0, U+AAB2..U+AAB4, U+AAB7..U+AAB8,
5821         U+AABE..U+AABF, U+AAC1, U+ABE5, U+ABE8, U+ABED, U+11080..U+11081,
5822         U+110B3..U+110B6, U+110B9..U+110BA, U+110BD.
5823         (uc_width): Return 2 also for unassigned code points of planes 2 and 3.
5824         * lib/uninorm/composition-table.gperf: Regenerated for Unicode 5.2.0.
5825         * lib/uninorm/composition.c (struct composition_rule): Allow for 24
5826         bits instead of 16 bits in the code1 and code2 of each composition
5827         rule.
5828         (uc_composition): Update for Unicode 5.2.0.
5829         * lib/uninorm/decomposition-table1.h: Regenerated for Unicode 5.2.0.
5830         * lib/uninorm/decomposition-table2.h: Likewise.
5831         * lib/uniwbrk/wbrkprop.h: Likewise.
5832         * tests/unicase/test-cased.c: Likewise.
5833         * tests/unicase/test-ignorable.c: Likewise.
5834         * tests/unicase/test-uc_tolower.c: Likewise.
5835         * tests/unicase/test-uc_totitle.c: Likewise.
5836         * tests/unicase/test-uc_toupper.c: Likewise.
5837         * tests/unictype/test-categ_C.c: Likewise.
5838         * tests/unictype/test-categ_Cf.c: Likewise.
5839         * tests/unictype/test-categ_Cn.c: Likewise.
5840         * tests/unictype/test-categ_L.c: Likewise.
5841         * tests/unictype/test-categ_Ll.c: Likewise.
5842         * tests/unictype/test-categ_Lm.c: Likewise.
5843         * tests/unictype/test-categ_Lo.c: Likewise.
5844         * tests/unictype/test-categ_Lu.c: Likewise.
5845         * tests/unictype/test-categ_M.c: Likewise.
5846         * tests/unictype/test-categ_Mc.c: Likewise.
5847         * tests/unictype/test-categ_Mn.c: Likewise.
5848         * tests/unictype/test-categ_N.c: Likewise.
5849         * tests/unictype/test-categ_Nd.c: Likewise.
5850         * tests/unictype/test-categ_Nl.c: Likewise.
5851         * tests/unictype/test-categ_No.c: Likewise.
5852         * tests/unictype/test-categ_P.c: Likewise.
5853         * tests/unictype/test-categ_Pd.c: Likewise.
5854         * tests/unictype/test-categ_Po.c: Likewise.
5855         * tests/unictype/test-categ_S.c: Likewise.
5856         * tests/unictype/test-categ_Sc.c: Likewise.
5857         * tests/unictype/test-categ_So.c: Likewise.
5858         * tests/unictype/test-ctype_alnum.c: Likewise.
5859         * tests/unictype/test-ctype_alpha.c: Likewise.
5860         * tests/unictype/test-ctype_graph.c: Likewise.
5861         * tests/unictype/test-ctype_lower.c: Likewise.
5862         * tests/unictype/test-ctype_print.c: Likewise.
5863         * tests/unictype/test-ctype_punct.c: Likewise.
5864         * tests/unictype/test-ctype_upper.c: Likewise.
5865         * tests/unictype/test-decdigit.h: Likewise.
5866         * tests/unictype/test-digit.h: Likewise.
5867         * tests/unictype/test-numeric.h: Likewise.
5868         * tests/unictype/test-pr_alphabetic.c: Likewise.
5869         * tests/unictype/test-pr_bidi_arabic_digit.c: Likewise.
5870         * tests/unictype/test-pr_bidi_eur_num_terminator.c: Likewise.
5871         * tests/unictype/test-pr_bidi_european_digit.c: Likewise.
5872         * tests/unictype/test-pr_bidi_hebrew_right_to_left.c: Likewise.
5873         * tests/unictype/test-pr_bidi_left_to_right.c: Likewise.
5874         * tests/unictype/test-pr_bidi_non_spacing_mark.c: Likewise.
5875         * tests/unictype/test-pr_bidi_other_neutral.c: Likewise.
5876         * tests/unictype/test-pr_combining.c: Likewise.
5877         * tests/unictype/test-pr_composite.c: Likewise.
5878         * tests/unictype/test-pr_currency_symbol.c: Likewise.
5879         * tests/unictype/test-pr_dash.c: Likewise.
5880         * tests/unictype/test-pr_decimal_digit.c: Likewise.
5881         * tests/unictype/test-pr_deprecated.c: Likewise.
5882         * tests/unictype/test-pr_diacritic.c: Likewise.
5883         * tests/unictype/test-pr_extender.c: Likewise.
5884         * tests/unictype/test-pr_grapheme_base.c: Likewise.
5885         * tests/unictype/test-pr_grapheme_extend.c: Likewise.
5886         * tests/unictype/test-pr_grapheme_link.c: Likewise.
5887         * tests/unictype/test-pr_id_continue.c: Likewise.
5888         * tests/unictype/test-pr_id_start.c: Likewise.
5889         * tests/unictype/test-pr_ideographic.c: Likewise.
5890         * tests/unictype/test-pr_ignorable_control.c: Likewise.
5891         * tests/unictype/test-pr_logical_order_exception.c: Likewise.
5892         * tests/unictype/test-pr_lowercase.c: Likewise.
5893         * tests/unictype/test-pr_numeric.c: Likewise.
5894         * tests/unictype/test-pr_other_alphabetic.c: Likewise.
5895         * tests/unictype/test-pr_punctuation.c: Likewise.
5896         * tests/unictype/test-pr_sentence_terminal.c: Likewise.
5897         * tests/unictype/test-pr_terminal_punctuation.c: Likewise.
5898         * tests/unictype/test-pr_unassigned_code_value.c: Likewise.
5899         * tests/unictype/test-pr_unified_ideograph.c: Likewise.
5900         * tests/unictype/test-pr_uppercase.c: Likewise.
5901         * tests/unictype/test-pr_xid_continue.c: Likewise.
5902         * tests/unictype/test-pr_xid_start.c: Likewise.
5903         * tests/unictype/test-pr_zero_width.c: Likewise.
5904         * tests/unigbrk/test-uc-gbrk-prop.h: Likewise.
5905         * tests/unilbrk/test-u8-possible-linebreaks.c (main): Update for
5906         changed behaviour: line breaking is now disallowed between a letter
5907         or '=' and '('.
5908         * tests/unilbrk/test-u16-possible-linebreaks.c (main): Likewise.
5909         * tests/unilbrk/test-u32-possible-linebreaks.c (main): Likewise.
5910         * tests/unilbrk/test-ulc-possible-linebreaks.c (main): Likewise.
5911         * tests/unilbrk/test-ulc-width-linebreaks.c (main): Likewise.
5912         * tests/uniwidth/test-uc_width2.sh: Same updates as in
5913         lib/uniwidth/width.c.
5914         * tests/uninorm/NormalizationTest.txt: Update from Unicode 5.2.0,
5915         without comments, but with the original copyright notice.
5916         * lib/unicase/special-casing-table.gperf: Regenerated; only comment
5917         changes.
5918         * lib/unictype/categ_Cc.h: Likewise.
5919         * lib/unictype/categ_Co.h: Likewise.
5920         * lib/unictype/categ_Cs.h: Likewise.
5921         * lib/unictype/categ_Lt.h: Likewise.
5922         * lib/unictype/categ_Me.h: Likewise.
5923         * lib/unictype/categ_Pc.h: Likewise.
5924         * lib/unictype/categ_Pe.h: Likewise.
5925         * lib/unictype/categ_Pf.h: Likewise.
5926         * lib/unictype/categ_Pi.h: Likewise.
5927         * lib/unictype/categ_Ps.h: Likewise.
5928         * lib/unictype/categ_Sk.h: Likewise.
5929         * lib/unictype/categ_Sm.h: Likewise.
5930         * lib/unictype/categ_Z.h: Likewise.
5931         * lib/unictype/categ_Zl.h: Likewise.
5932         * lib/unictype/categ_Zp.h: Likewise.
5933         * lib/unictype/categ_Zs.h: Likewise.
5934         * lib/unictype/ctype_blank.h: Likewise.
5935         * lib/unictype/ctype_cntrl.h: Likewise.
5936         * lib/unictype/ctype_digit.h: Likewise.
5937         * lib/unictype/ctype_space.h: Likewise.
5938         * lib/unictype/ctype_xdigit.h: Likewise.
5939         * lib/unictype/mirror.h: Likewise.
5940         * lib/unictype/pr_ascii_hex_digit.h: Likewise.
5941         * lib/unictype/pr_bidi_arabic_right_to_left.h: Likewise.
5942         * lib/unictype/pr_bidi_block_separator.h: Likewise.
5943         * lib/unictype/pr_bidi_boundary_neutral.h: Likewise.
5944         * lib/unictype/pr_bidi_common_separator.h: Likewise.
5945         * lib/unictype/pr_bidi_control.h: Likewise.
5946         * lib/unictype/pr_bidi_embedding_or_override.h: Likewise.
5947         * lib/unictype/pr_bidi_eur_num_separator.h: Likewise.
5948         * lib/unictype/pr_bidi_pdf.h: Likewise.
5949         * lib/unictype/pr_bidi_segment_separator.h: Likewise.
5950         * lib/unictype/pr_bidi_whitespace.h: Likewise.
5951         * lib/unictype/pr_default_ignorable_code_point.h: Likewise.
5952         * lib/unictype/pr_format_control.h: Likewise.
5953         * lib/unictype/pr_hex_digit.h: Likewise.
5954         * lib/unictype/pr_hyphen.h: Likewise.
5955         * lib/unictype/pr_ids_binary_operator.h: Likewise.
5956         * lib/unictype/pr_ids_trinary_operator.h: Likewise.
5957         * lib/unictype/pr_iso_control.h: Likewise.
5958         * lib/unictype/pr_join_control.h: Likewise.
5959         * lib/unictype/pr_left_of_pair.h: Likewise.
5960         * lib/unictype/pr_line_separator.h: Likewise.
5961         * lib/unictype/pr_math.h: Likewise.
5962         * lib/unictype/pr_non_break.h: Likewise.
5963         * lib/unictype/pr_not_a_character.h: Likewise.
5964         * lib/unictype/pr_other_default_ignorable_code_point.h: Likewise.
5965         * lib/unictype/pr_other_grapheme_extend.h: Likewise.
5966         * lib/unictype/pr_other_id_continue.h: Likewise.
5967         * lib/unictype/pr_other_id_start.h: Likewise.
5968         * lib/unictype/pr_other_lowercase.h: Likewise.
5969         * lib/unictype/pr_other_math.h: Likewise.
5970         * lib/unictype/pr_other_uppercase.h: Likewise.
5971         * lib/unictype/pr_paired_punctuation.h: Likewise.
5972         * lib/unictype/pr_paragraph_separator.h: Likewise.
5973         * lib/unictype/pr_pattern_syntax.h: Likewise.
5974         * lib/unictype/pr_pattern_white_space.h: Likewise.
5975         * lib/unictype/pr_private_use.h: Likewise.
5976         * lib/unictype/pr_quotation_mark.h: Likewise.
5977         * lib/unictype/pr_radical.h: Likewise.
5978         * lib/unictype/pr_soft_dotted.h: Likewise.
5979         * lib/unictype/pr_space.h: Likewise.
5980         * lib/unictype/pr_titlecase.h: Likewise.
5981         * lib/unictype/pr_variation_selector.h: Likewise.
5982         * lib/unictype/pr_white_space.h: Likewise.
5983         * lib/unictype/sy_c_ident.h: Likewise.
5984         * lib/unictype/sy_c_whitespace.h: Likewise.
5985         * lib/unictype/sy_java_whitespace.h: Likewise.
5986         * modules/uni*/*: Bump version number of expected libunistring version.
5987         Reported by Simon Josefsson.
5988
5989 2011-01-09  Karl Heuer  <kwzh@gnu.org>
5990
5991         useless-if-before-free: fix typo in --help and make the internal,
5992         automatic version date update process work once again.
5993         --help output contained a NUL character instead of the
5994         backslash-zero that was intended.  Also, the "must lie within
5995         the first 8 lines" line is on line 9, and hence not getting
5996         automatically updated.
5997         * build-aux/useless-if-before-free: Fix the former by adding a
5998         backslash, and the latter by condensing the three lines of what-it-does
5999         to a single line, leaving one line of slack for the future.
6000
6001 2011-01-09  Bruno Haible  <bruno@clisp.org>
6002
6003         uniwidth/width: Fix width of U+1D173..U+1D17A.
6004         * lib/gen-uni-tables.c (is_nonspacing, output_nonspacing_property,
6005         symbolic_width, output_width_property_test): New functions.
6006         (main): Invoke output_nonspacing_property, output_width_property_test.
6007         * lib/uniwidth/width.c (nonspacing_table_data): Set bits for
6008         U+1D173..U+1D17A.
6009         * tests/uniwidth/test-uc_width2.sh: For U+1D173..U+1D17A, expect 0, not
6010         1.
6011         * modules/uniwidth/*: Bump version number of expected libunistring
6012         version.
6013         * modules/unilbrk/*: Likewise.
6014
6015 2011-01-08  Bruno Haible  <bruno@clisp.org>
6016
6017         uninorm tests: Preserve copyright of Unicode data file.
6018         * tests/uninorm/NormalizationTest.txt: Re-add original copyright.
6019         Mention modifications.
6020
6021 2011-01-08  Bruno Haible  <bruno@clisp.org>
6022
6023         gen-uni-tables: Prepare for Unicode 5.2.0.
6024         * lib/gen-uni-tables.c (get_lbp): Allow for more than 32 LBP_* values.
6025         (debug_output_lbp, output_lbp): Update.
6026
6027 2011-01-08  Bruno Haible  <bruno@clisp.org>
6028
6029         unilbrk: Clarify gen-uni-tables.c code.
6030         * lib/gen-uni-tables.c (get_lbp): Assume REVISION_22 to be false. These
6031         were mistakes in UAX #14 revision 22 that are corrected in revision 24.
6032         Clarify what to do with unilbrk/lbrkprop.txt and uniwbrk/wbrkprop.txt.
6033
6034 2011-01-07  Bruno Haible  <bruno@clisp.org>
6035
6036         strtod: Restore errno when successfully parsing Infinity or NaN.
6037         * lib/strtod.c (strtod): After successfully parsing an Infinity or NaN,
6038         restore the original errno.
6039
6040 2011-01-07  Bruno Haible  <bruno@clisp.org>
6041
6042         remove test: Avoid failure on HP-UX 11.
6043         * tests/test-remove.c (main): Allow EEXIST as alternative error code.
6044
6045 2011-01-07  Bruno Haible  <bruno@clisp.org>
6046
6047         mkdir, mkdirat tests: Avoid failure on HP-UX 11.11.
6048         * tests/test-mkdir.h (test_mkdir): Allow EOPNOTSUPP as alternative
6049         error code.
6050
6051 2011-01-07  Pádraig Brady <P@draigBrady.com>
6052
6053         ignore-value: fixup comments, and add Eric Blake
6054         as an author since he rewrote the macros.
6055         * lib/ignore-value.h (ignore_value):  State that
6056         we now support aggregates.  Also specify exactly
6057         when the GCC warn_unused_result feature was added.
6058
6059 2011-01-06  Eric Blake  <eblake@redhat.com>
6060
6061         ignore-value: support aggregate types
6062         * lib/ignore-value.h (ignore_value): Provide separate gcc
6063         definition.
6064         * modules/ignore-value-tests: New test module.
6065         * tests/test-ignore-value.c: New test.
6066
6067         maint.mk: improve sc_prohibit_strcmp regex
6068         * top/maint.mk (sc_prohibit_strcmp): Detect strcmp()!=0, as
6069         documented.  Also, detect strcmp((expr),expr) == 0.  Exempt the
6070         definition of STRNEQ.
6071
6072         signal: work around Haiku issue with SIGBUS
6073         * lib/siglist.h: Add comment.
6074         * lib/sig2str.c (numname_table): Swap SIGBUS order, to match
6075         strsignal's favoring of SIGSEGV.
6076         * tests/test-signal.c (main): Avoid test failure.
6077         * doc/posix-headers/signal.texi (signal.h): Document the issue.
6078         Reported by Scott McCreary.
6079
6080         maint.mk: add pre-release check to ensure submodule commits are public
6081         * top/maint.mk (public-submodule-commit): New rule.
6082         (submodule-checks): New variable.
6083         (alpha beta stable): Depend on the variable.
6084
6085 2011-01-05  Pádraig Brady <P@draigBrady.com>
6086         and Jim Meyering  <meyering@redhat.com>
6087
6088         ignore-value: make ignore_value more generic; deprecate ignore_ptr
6089         * lib/ignore-value.h: Include <stdint.h>, for decl of intptr_t.
6090         (ATTRIBUTE_DEPRECATED): Define.
6091         (_ignore_case): New function.
6092         (ignore_value): New macro, to replace the old function.
6093         (ignore_ptr): Arrange for any use to evoke a deprecation warning.
6094         * modules/ignore-value (Depends-on): Add stdint.
6095
6096 2011-01-04  Eric Blake  <eblake@redhat.com>
6097
6098         doc: regenerate INSTALL
6099         * doc/Makefile (INSTALL, INSTALL.ISO, INSTALL.UTF-8): Re-add
6100         @firstparagraphindent support, now that autoconf dropped it.
6101         (INSTALL_PRELUDE): Reinstate old macro.
6102         * doc/install.texi: Resync from autoconf.
6103         * doc/INSTALL: Reflect recent autoconf update.
6104         * doc/INSTALL.ISO: Likewise.
6105         * doc/INSTALL.UTF-8: Likewise.
6106         Reported by Karl Berry.
6107
6108 2011-01-04  Bruce Korb  <address@hidden>
6109
6110         git-version-gen: avoid a sub-shell
6111         * build-aux/git-version-gen: Redirect stderr in `...` via
6112         "exec 2>...", rather than via an added sub-shell.
6113
6114 2011-01-03  Ben Pfaff  <blp@cs.stanford.edu>
6115
6116         git-version-gen: use (...) rather than sh -c '...'
6117         * build-aux/git-version-gen: Rather than hard-coding a shell's name
6118         with "sh -c '...'", just use "(...)".  Less syntax is better, too.
6119
6120 2011-01-03  Jim Meyering  <meyering@redhat.com>
6121
6122         git-version-gen: convert leading TABs to spaces
6123         * build-aux/git-version-gen: Expand leading TABs.
6124
6125         git-version-gen: handle failed "git rev-list"
6126         * build-aux/git-version-gen: Rather than leaking a "fatal" error
6127         from git and proceeding as if it had succeeded but printed no SHA1
6128         checksums, suppress the diagnostic and handle the failure.
6129         Reported by Bruce Korb in http://marc.info/?l=git&m=129399145930450&w=2
6130
6131         git-version-gen: include command name in one more diagnostic
6132         * build-aux/git-version-gen: When the required .tarball-version file
6133         was missing or unreadable, you might see the diagnostic from "cat",
6134         but no trace of the name of the invoking script.  Now, you still see
6135         the diagnostic from cat, but also get one from "git-version-gen: ".
6136         Inspired by a patch from Bruce Korb.
6137
6138         update-copyright: adjust test to match changed code
6139         * tests/test-update-copyright.sh: Change test's expected output
6140         to match new actual output.
6141
6142 2011-01-02  Bruno Haible  <bruno@clisp.org>
6143
6144         getlogin_r: Avoid test failure on HP-UX 11.
6145         * tests/test-getlogin_r.c (main): Allow an error code EINVAL instead of
6146         ERANGE when the second argument is zero.
6147         * doc/posix-functions/getlogin_r.texi: Document the HP-UX 11
6148         portability problem.
6149
6150 2011-01-02  Bruce Korb  <bkorb@gnu.org>
6151
6152         * build-aux/update-copyright: doc Simon's changes
6153
6154 2011-01-02  Simon Josefsson  <simon@josefsson.org>
6155
6156         * build-aux/update-copyright: Support UPDATE_COPYRIGHT_HOLDER
6157         environment variable.
6158
6159 2011-01-02  Bruno Haible  <bruno@clisp.org>
6160
6161         unigbrk: Avoid gcc warnings.
6162         * lib/unigbrk/u16-grapheme-breaks.c (u16_grapheme_breaks): Remove
6163         unused variable.
6164         * lib/unigbrk/u16-grapheme-prev.c (u16_grapheme_prev): Likewise.
6165         * lib/unigbrk/u8-grapheme-prev.c (u8_grapheme_prev): Likewise.
6166         * tests/unigbrk/test-u16-grapheme-breaks.c (main): Likewise.
6167         * tests/unigbrk/test-u32-grapheme-breaks.c (main): Likewise.
6168         * tests/unigbrk/test-u8-grapheme-breaks.c (test_u8_grapheme_breaks):
6169         Change type of first argument to 'const char *'.
6170         (main): Remove unused variable.
6171         * tests/unigbrk/test-u8-grapheme-next.c (test_u8_grapheme_next): Change
6172         type of first argument to 'const char *'.
6173         * tests/unigbrk/test-u8-grapheme-prev.c (test_u8_grapheme_prev):
6174         Likewise.
6175         (main): Change type of variable 's'.
6176         * tests/unigbrk/test-uc-is-grapheme-break.c (main): Cast column number
6177         to 'int'.
6178
6179 2011-01-02  Bruno Haible  <bruno@clisp.org>
6180
6181         pwrite: Fix test whether it works and make it work on HP-UX 11.11.
6182         * m4/pwrite.m4 (gl_FUNC_PWRITE): Use AC_LANG_PROGRAM, not
6183         AC_LANG_SOURCE. Extend the test program to catch another HP-UX 11.11
6184         bug.
6185         * lib/pwrite.c: Undo 2010-12-31 patch.
6186         * doc/posix-functions/pwrite.texi: Document another HP-UX 11.11 bug.
6187
6188 2011-01-02  Bruno Haible  <bruno@clisp.org>
6189
6190         pread: Fix test whether it works.
6191         * m4/pread.m4 (gl_FUNC_PREAD): Use AC_LANG_PROGRAM, not AC_LANG_SOURCE.
6192
6193 2011-01-02  Bruno Haible  <bruno@clisp.org>
6194
6195         Fix detection of traditional Arabic locale on HP-UX, Solaris, Cygwin.
6196         * m4/locale-ar.m4 (gt_LOCALE_AR): Require that the locale encoding name
6197         ends in "6". Don't require a specific month name. Try also the locale
6198         names found on HP-UX 11 and Solaris 7.
6199
6200 2011-01-02  Bruno Haible  <bruno@clisp.org>
6201
6202         tcgetsid: Correct linkage in C++ mode on HP-UX 11.00.
6203         * lib/termios.in.h: In C++ mode, on HP-UX, include <sys/termios.h> with
6204         C linkage.
6205         * doc/posix-functions/tcgetsid.texi: Mention the HP-UX 11.00 bug.
6206
6207 2011-01-01  Ben Pfaff  <blp@cs.stanford.edu>
6208
6209         Rename uc_is_grapheme_cluster_break() to uc_is_grapheme_break()
6210         for consistency, since the "cluster" term is not used elsewhere.
6211         * lib/unigbrk.in.h: Update name.
6212         * lib/unigbrk/u16-grapheme-breaks.c: Update name.
6213         * lib/unigbrk/u16-grapheme-next.c: Update name.
6214         * lib/unigbrk/u16-grapheme-prev.c: Update name.
6215         * lib/unigbrk/u32-grapheme-breaks.c: Update name.
6216         * lib/unigbrk/u32-grapheme-next.c: Update name.
6217         * lib/unigbrk/u32-grapheme-prev.c: Update name.
6218         * lib/unigbrk/u8-grapheme-breaks.c: Update name.
6219         * lib/unigbrk/u8-grapheme-next.c: Update name.
6220         * lib/unigbrk/u8-grapheme-prev.c: Update name.
6221         * lib/unigbrk/uc-is-grapheme-break.c: Update name.
6222         * tests/unigbrk/test-uc-is-grapheme-break.c: Update name.
6223         Suggested by Bruno Haible.
6224
6225 2011-01-01  Ben Pfaff  <blp@cs.stanford.edu>
6226
6227         Remove module 'u8-grapheme-len' as too redundant with
6228         'u8-grapheme-next'.
6229         * modules/unigbrk/u8-grapheme-len: Delete file.
6230         * modules/unigbrk/u8-grapheme-len-tests: Delete file.
6231         * lib/unigbrk.in.h: Remove prototype for deleted function.
6232         * lib/unigbrk/u8-grapheme-len.c: Delete file.
6233         * tests/unigbrk/test-u8-grapheme-len.c: Delete file.
6234
6235         Remove module 'u16-grapheme-len' as too redundant with
6236         'u16-grapheme-next'.
6237         * modules/unigbrk/u16-grapheme-len: Delete file.
6238         * modules/unigbrk/u16-grapheme-len-tests: Delete file.
6239         * lib/unigbrk.in.h: Remove prototype for deleted function.
6240         * lib/unigbrk/u16-grapheme-len.c: Delete file.
6241         * tests/unigbrk/test-u16-grapheme-len.c: Delete file.
6242
6243         Remove module 'u32-grapheme-len' as too redundant with
6244         'u32-grapheme-next'.
6245         * modules/unigbrk/u32-grapheme-len: Delete file.
6246         * modules/unigbrk/u32-grapheme-len-tests: Delete file.
6247         * lib/unigbrk.in.h: Remove prototype for deleted function.
6248         * lib/unigbrk/u32-grapheme-len.c: Delete file.
6249         * tests/unigbrk/test-u32-grapheme-len.c: Delete file.
6250
6251         Suggested by Bruno Haible.
6252
6253 2011-01-01  Ben Pfaff  <blp@cs.stanford.edu>
6254
6255         * unigbrk.in.h: Fix typo: "ben" => "been".
6256         Reported by Bruno Haible.
6257
6258 2011-01-01  Jim Meyering  <meyering@redhat.com>
6259
6260         maint: update almost all copyright ranges to include 2011
6261         Run the new "make update-copyright" rule.
6262
6263 2011-01-01  Jim Meyering  <meyering@redhat.com>
6264
6265         maint: update-copyright: exempt doc/INSTALL*
6266         * Makefile (update-copyright): Also exclude doc/INSTALL*,
6267         since they are generated.  Suggested by Bruno Haible.
6268
6269 2011-01-01  Jim Meyering  <meyering@redhat.com>
6270
6271         maint: refine the update-copyright rule
6272         * Makefile (update-copyright): Also exclude any file that includes
6273         the "GENERATED AUTOMATICALLY" comment, being careful not to exclude
6274         code that merely generates the comment.
6275
6276 2010-12-31  Ben Pfaff  <blp@cs.stanford.edu>
6277
6278         New module 'u8-grapheme-len'.
6279         * modules/unigbrk/u8-grapheme-len: New file.
6280         * modules/unigbrk/u8-grapheme-len-tests: New file.
6281         * lib/unigbrk.in.h: Add prototype for new function.
6282         * lib/unigbrk/u8-grapheme-len.c: New file.
6283         * tests/unigbrk/test-u8-grapheme-len.c: New file.
6284
6285         New module 'u16-grapheme-len'.
6286         * modules/unigbrk/u16-grapheme-len: New file.
6287         * modules/unigbrk/u16-grapheme-len-tests: New file.
6288         * lib/unigbrk.in.h: Add prototype for new function.
6289         * lib/unigbrk/u16-grapheme-len.c: New file.
6290         * tests/unigbrk/test-u16-grapheme-len.c: New file.
6291
6292         New module 'u32-grapheme-len'.
6293         * modules/unigbrk/u32-grapheme-len: New file.
6294         * modules/unigbrk/u32-grapheme-len-tests: New file.
6295         * lib/unigbrk.in.h: Add prototype for new function.
6296         * lib/unigbrk/u32-grapheme-len.c: New file.
6297         * tests/unigbrk/test-u32-grapheme-len.c: New file.
6298
6299         New module 'u8-grapheme-next'.
6300         * modules/unigbrk/u8-grapheme-next: New file.
6301         * modules/unigbrk/u8-grapheme-next-tests: New file.
6302         * lib/unigbrk.in.h: Add prototype for new function.
6303         * lib/unigbrk/u8-grapheme-next.c: New file.
6304         * tests/unigbrk/test-u8-grapheme-next.c: New file.
6305
6306         New module 'u16-grapheme-next'.
6307         * modules/unigbrk/u16-grapheme-next: New file.
6308         * modules/unigbrk/u16-grapheme-next-tests: New file.
6309         * lib/unigbrk.in.h: Add prototype for new function.
6310         * lib/unigbrk/u16-grapheme-next.c: New file.
6311         * tests/unigbrk/test-u16-grapheme-next.c: New file.
6312
6313         New module 'u32-grapheme-next'.
6314         * modules/unigbrk/u32-grapheme-next: New file.
6315         * modules/unigbrk/u32-grapheme-next-tests: New file.
6316         * lib/unigbrk.in.h: Add prototype for new function.
6317         * lib/unigbrk/u32-grapheme-next.c: New file.
6318         * tests/unigbrk/test-u32-grapheme-next.c: New file.
6319
6320         New module 'u8-grapheme-prev'.
6321         * modules/unigbrk/u8-grapheme-prev: New file.
6322         * modules/unigbrk/u8-grapheme-prev-tests: New file.
6323         * lib/unigbrk.in.h: Add prototype for new function.
6324         * lib/unigbrk/u8-grapheme-prev.c: New file.
6325         * tests/unigbrk/test-u8-grapheme-prev.c: New file.
6326
6327         New module 'u16-grapheme-prev'.
6328         * modules/unigbrk/u16-grapheme-prev: New file.
6329         * modules/unigbrk/u16-grapheme-prev-tests: New file.
6330         * lib/unigbrk.in.h: Add prototype for new function.
6331         * lib/unigbrk/u16-grapheme-prev.c: New file.
6332         * tests/unigbrk/test-u16-grapheme-prev.c: New file.
6333
6334         New module 'u32-grapheme-prev'.
6335         * modules/unigbrk/u32-grapheme-prev: New file.
6336         * modules/unigbrk/u32-grapheme-prev-tests: New file.
6337         * lib/unigbrk.in.h: Add prototype for new function.
6338         * lib/unigbrk/u32-grapheme-prev.c: New file.
6339         * tests/unigbrk/test-u32-grapheme-prev.c: New file.
6340
6341         New module 'u8-grapheme-breaks'.
6342         * modules/unigbrk/u8-grapheme-breaks: New file.
6343         * modules/unigbrk/u8-grapheme-breaks-tests: New file.
6344         * lib/unigbrk.in.h: Add prototype for new function.
6345         * lib/unigbrk/u8-grapheme-breaks.c: New file.
6346         * tests/unigbrk/test-u8-grapheme-breaks.c: New file.
6347
6348         New module 'u16-grapheme-breaks'.
6349         * modules/unigbrk/u16-grapheme-breaks: New file.
6350         * modules/unigbrk/u16-grapheme-breaks-tests: New file.
6351         * lib/unigbrk.in.h: Add prototype for new function.
6352         * lib/unigbrk/u16-grapheme-breaks.c: New file.
6353         * tests/unigbrk/test-u16-grapheme-breaks.c: New file.
6354
6355         New module 'u32-grapheme-breaks'.
6356         * modules/unigbrk/u32-grapheme-breaks: New file.
6357         * modules/unigbrk/u32-grapheme-breaks-tests: New file.
6358         * lib/unigbrk.in.h: Add prototype for new function.
6359         * lib/unigbrk/u32-grapheme-breaks.c: New file.
6360         * tests/unigbrk/test-u32-grapheme-breaks.c: New file.
6361
6362         New module 'ulc-grapheme-breaks'.
6363         * modules/unigbrk/ulc-grapheme-breaks: New file.
6364         * modules/unigbrk/ulc-grapheme-breaks-tests: New file.
6365         * m4/locale-ar.m4: New file.
6366         * lib/unigbrk/ulc-grapheme-breaks.c: New file.
6367         * tests/unigbrk/test-ulc-grapheme-breaks.c: New file.
6368         * tests/unigbrk/test-ulc-grapheme-breaks.sh: New file.
6369
6370 2010-12-31  Ben Pfaff  <blp@cs.stanford.edu>
6371
6372         gbrkprop: Fix implementation of uc_graphemeclusterbreak_property.
6373         * lib/unigbrk/gbrkprop.h: Regenerate with gen-uni-tables.c.  I had
6374         modified how this file was generated before I initially submitted
6375         the module, but failed to regenerate it.  This meant that several
6376         of the level2 entries were wrong.
6377         * lib/unigbrk/uc-gbrk-prop.h (uc_graphemeclusterbreak_property):
6378         Remove the division-by-2 that is folded into the table now that
6379         gbrkprop.h has been regenerated properly.  Now -1 entries are
6380         handled correctly.
6381
6382         New module 'unigbrk/uc-gbrk-prop-tests'.
6383         * modules/unigbrk/uc-gbrk-prop-tests: New file.
6384         * lib/gen-uni-tables.c: Generate tests/test-uc-gbrk-prop.h.
6385         * tests/unigbrk/test-uc-gbrk-prop.c: New file.
6386         * tests/unigbrk/test-uc-gbrk-prop.h: New file.
6387
6388 2011-01-01  Bruno Haible  <bruno@clisp.org>
6389
6390         Avoid use of hexadecimal escapes.
6391         * tests/unigbrk/test-uc-is-grapheme-break.c (main): Use octal escapes
6392         instead of hexadecimal escapes.
6393
6394 2011-01-01  Jim Meyering  <meyering@redhat.com>
6395
6396         maint: new rule to update copyright year ranges
6397         * Makefile (update-copyright): New rule.
6398
6399         maint: indent with TABs in Makefile
6400         * Makefile: Expand leading sequences of spaces to TABs
6401
6402         version-etc: update the copyright year it reports
6403         * lib/version-etc.c (COPYRIGHT_YEAR): Update to 2011.
6404
6405 2010-12-31  Bruno Haible  <bruno@clisp.org>
6406
6407         isfinite: Avoid compiler bug of "cc -O" on HP-UX 11.11.
6408         * lib/isfinite.c (zerof, zerod, zerol): New variables.
6409         (gl_isfinitef, gl_isfinited, gl_isfinitel): Use them instead of literal
6410         zero.
6411
6412 2010-12-31  Bruno Haible  <bruno@clisp.org>
6413
6414         pwrite: Work around HP-UX 11.11 bug.
6415         * m4/pwrite.m4 (gl_FUNC_PWRITE): When pwrite exists, test whether it
6416         works and set REPLACE_PWRITE if not.
6417         * lib/pwrite.c (pwrite): Add an implementation that uses the system
6418         function.
6419         * doc/posix-functions/pwrite.texi: Document the HP-UX 11 bug.
6420
6421 2010-12-31  Bruno Haible  <bruno@clisp.org>
6422
6423         pread: Work around HP-UX 11 bugs.
6424         * m4/pread.m4 (gl_FUNC_PREAD): When pread exists, test whether it works
6425         and set REPLACE_PREAD if not.
6426         * doc/posix-functions/pread.texi: Document the HP-UX 11 bugs.
6427
6428 2010-12-31  Eric Blake  <eblake@redhat.com>
6429
6430         nl_langinfo: fix YESEXPR on Irix 6.5
6431         * m4/nl_langinfo.m4 (gl_FUNC_NL_LANGINFO): Test for Irix bug.
6432         * lib/nl_langinfo.c (rpl_nl_langinfo): Work around it.
6433         * doc/posix-functions/nl_langinfo.texi (nl_langinfo): Document
6434         it.
6435
6436 2010-12-31  Bruno Haible  <bruno@clisp.org>
6437
6438         iconv: Document HP-UX 11 bug.
6439         * doc/posix-functions/iconv.texi: Document HP-UX 11 return value bug.
6440
6441 2010-12-31  Bruno Haible  <bruno@clisp.org>
6442
6443         ldexpl: Fix link error on HP-UX 11.
6444         * m4/ldexpl.m4 (gl_FUNC_LDEXPL): When replacing ldexpl, set
6445         LDEXPL_LIBM, using $ISNANL_LIBM.
6446
6447 2010-12-31  Eric Blake  <eblake@redhat.com>
6448
6449         ftello: avoid compilation failure with SunStudio c89
6450         * lib/ftello.c (ftello): Use lseek, not llseek.
6451
6452         tests: avoid failing coreutils tests on cygwin
6453         * tests/init.sh (find_exe_basenames_): Exempt [.exe.
6454         (create_exe_shims_): Return 0 when skipping.
6455
6456 2010-12-31  Bruno Haible  <bruno@clisp.org>
6457
6458         sys_select: Avoid warning about missing memset declaration on HP-UX 11.
6459         * lib/sys_select.in.h: On HP-UX, include also <string.h>.
6460
6461 2010-12-31  Bruno Haible  <bruno@clisp.org>
6462
6463         waitpid: Fix link error in C++ mode.
6464         * lib/sys_wait.in.h: Remove extern "C" { ... } group.
6465
6466 2010-12-31  Bruno Haible  <bruno@clisp.org>
6467
6468         isnan: Use GCC built-ins when possible.
6469         * lib/math.in.h (gl_isnan_f): Use __builtin_isnanf instead of
6470         __builtin_isnan.
6471         (gl_isnan_l): Use __builtin_isnanl instead of __builtin_isnan.
6472         (isnan): Define using GCC built-ins for GCC >= 4.0.
6473
6474 2010-12-31  Bruno Haible  <bruno@clisp.org>
6475
6476         isnand: Fix mistake.
6477         * m4/isnand.m4 (gl_HAVE_ISNAND_IN_LIBM): Use __builtin_isnan, not
6478         __builtin_isnand.
6479
6480 2010-12-31  Bruno Haible  <bruno@clisp.org>
6481
6482         open: Avoid C++ error on HP-UX 11.
6483         * lib/fcntl.in.h (open): Disable _GL_CXXALIASWARN invocation on HP-UX.
6484
6485 2010-12-31  Bruno Haible  <bruno@clisp.org>
6486
6487         time_r: Add missing declarations on HP-UX 11.
6488         * lib/time.in.h (localtime_r, gmtime_r): Test HAVE_DECL_LOCALTIME_R
6489         instead of HAVE_LOCALTIME_R.
6490         * m4/time_r.m4 (gl_TIME_R): Test whether localtime_r is declared. Set
6491         HAVE_LOCALTIME_R always.
6492         * m4/time_h.m4 (gl_HEADER_TIME_H_DEFAULTS): Initialize
6493         HAVE_DECL_LOCALTIME_R, not HAVE_LOCALTIME_R.
6494         * modules/time (Makefile.am): Substitute HAVE_DECL_LOCALTIME_R, not
6495         HAVE_LOCALTIME_R.
6496         * doc/posix-functions/gmtime_r.texi: Document the HP-UX 11 problem.
6497         * doc/posix-functions/localtime_r.texi: Likewise.
6498
6499 2010-12-29  Eric Blake  <eblake@redhat.com>
6500
6501         mountlist: tweak previous commit
6502         * lib/mountlist.c (me_remote): Guarantee trailing backslash.
6503         Reported by Paul Eggert.
6504
6505         mountlist: fix local drive detection on cygwin
6506         * lib/mountlist.c (ME_REMOTE) [__CYGWIN__]: Provide implementation
6507         that works for cygwin.
6508
6509 2010-12-29  Paul Eggert  <eggert@cs.ucla.edu>
6510
6511         ftoastr, snprintf: ftoastr + snprintf module
6512         * lib/ftoastr.c: Use GNULIB_SNPRINTF, not GNULIB_SNPRINTF_POSIX,
6513         since the snprintf module now should be good enough here.
6514         * modules/snprintf (configure.ac): Add gl_MODULE_INDICATOR([snprintf]).
6515         It seems odd to have both gl_STDIO_MODULE_INDICATOR([snprintf])
6516         and gl_MODULE_INDICATOR([snprintf]), but the former enables
6517         GNULIB_SNPRINTF only for the test directory, and the latter
6518         doesn't arrange for gl_STDIO_H_DEFAULTS to be called, so neither
6519         seems to suffice by itself.
6520
6521 2010-12-28  Paul Eggert  <eggert@cs.ucla.edu>
6522
6523         alloca: one step towards thread-safety
6524         * lib/alloca.c (find_stack_direction): New arg PTR, to avoid the
6525         need for a static variable.  All callers changed.  This does not
6526         make the alloca replacement thread-safe, but it's one step.
6527
6528         tests: minor indenting change
6529         * tests/init.sh: Sync from coreutils housekeeping patch
6530         <http://lists.gnu.org/archive/html/coreutils/2010-12/msg00116.html>
6531         to keep lines within 80 columns.
6532
6533 2010-12-28  Jim Meyering  <meyering@redhat.com>
6534
6535         regex: don't infloop on persistent failing calloc
6536         * lib/regexec.c (build_trtable): Return failure indication upon
6537         calloc failure.  Otherwise, re_search_internal could infloop on OOM.
6538         In glibc, this was fixed for version 2.13:
6539         http://sourceware.org/bugzilla/show_bug.cgi?id=12348
6540
6541 2010-12-28  Bruno Haible  <bruno@clisp.org>
6542             Paul Eggert <eggert@cs.ucla.edu>
6543
6544         linkat: Make implementation robust against system behaviour variations.
6545         * m4/link-follow.m4 (gl_FUNC_LINK_FOLLOWS_SYMLINK): Define
6546         LINK_FOLLOWS_SYMLINKS to -1 if it needs a runtime test in the Solaris
6547         way, and to -2 if it needs a generic runtime test.
6548         * lib/linkat.c (solaris_optimized_link_immediate,
6549         solaris_optimized_link_follow): New functions.
6550         * tests/test-linkat.c (EXPECT_LINK_HARDLINKS_SYMLINKS): New macro.
6551         (check_same_link): Use it.
6552
6553 2010-12-26  Ben Pfaff  <blp@cs.stanford.edu>
6554
6555         New module 'unigbrk/base'.
6556         * modules/unigbrk/base: New file.
6557         * lib/unigbrk.in.h: New file.
6558
6559         New module 'unigbrk/uc-gbrk-prop'.
6560         * lib/gen-uni-tables.c: Generate lib/unigbrk/gbrkprop.h.
6561         * modules/unigbrk/uc-gbrk-prop: New file.
6562         * lib/unigbrk/gbrkprop.h: New file.
6563         * lib/unigbrk/uc-gbrk-prop.c: New file.
6564
6565         New module 'unigbrk/uc-is-grapheme-break'.
6566         * modules/unigbrk/uc-is-grapheme-break: New file.
6567         * modules/unigbrk/uc-is-grapheme-break-tests: New file.
6568         * lib/unigbrk/uc-is-grapheme-break.c: New file.
6569         * tests/unigbrk/test-uc-is-grapheme-break.c: New file.
6570         * tests/unigbrk/test-uc-is-grapheme-break.sh: New file.
6571         * tests/unigbrk/GraphemeBreakTest.txt: New file.
6572
6573         With corrections and tweaks by Bruno Haible <bruno@clisp.org>.
6574
6575 2010-12-27  Bruno Haible  <bruno@clisp.org>
6576
6577         linkat test: Avoid failure on Solaris 11 2010-11.
6578         * tests/test-linkat.c (main): Allow ENOTDIR as alternative error code.
6579
6580 2010-12-27  Paul Eggert  <eggert@cs.ucla.edu>
6581
6582         utimens: work around glibc rounding bug on more platforms
6583         * lib/utimens.c (fdutimens): Work around rounding bug even if
6584         HAVE_WORKING_UTIMES.  Reported for Linux 2.4.21 by Bruno Haible in
6585         <http://lists.gnu.org/archive/html/bug-gnulib/2010-12/msg00298.html>.
6586
6587 2010-12-27  Bruno Haible  <bruno@clisp.org>
6588
6589         select tests: Improve comments.
6590         * tests/test-select.c (do_select): Add comments.
6591
6592 2010-12-27  Bruno Haible  <bruno@clisp.org>
6593
6594         select tests: Safer way of handling timeout.
6595         * tests/test-select.c (do_select_nowait): Zero-initialize the timeout
6596         at every invocation.
6597
6598 2010-12-27  Bruno Haible  <bruno@clisp.org>
6599
6600         select tests: Use 'bool' where appropriate.
6601         * tests/test-select.c (connect_to_socket): Change argument type to
6602         'bool'.
6603
6604 2010-12-27  Bruno Haible  <bruno@clisp.org>
6605
6606         select tests: Use existing modules.
6607         * modules/select-tests (Depends-on): Add pipe-posix, unistd.
6608         (configure.ac): Don't test for unistd.h.
6609         * tests/test-select.c: Include <unistd.h> always. Use pipe() as
6610         declared in <unistd.h>.
6611
6612 2010-12-27  Bruno Haible  <bruno@clisp.org>
6613
6614         mbrtowc: Work around a Solaris 7 bug.
6615         * m4/mbrtowc.m4 (gl_MBRTOWC_NULL_ARG1): New macro.
6616         (gl_MBRTOWC_NULL_ARG2): Renamed from gl_MBRTOWC_NULL_ARG.
6617         (gl_FUNC_MBRTOWC): Update. Define MBRTOWC_NULL_ARG2_BUG instead of
6618         MBRTOWC_NULL_ARG_BUG. Invoke gl_MBRTOWC_NULL_ARG1 and define
6619         MBRTOWC_NULL_ARG1_BUG.
6620         * lib/mbrtowc.c (rpl_mbrtowc): Use MBRTOWC_NULL_ARG2_BUG instead of
6621         MBRTOWC_NULL_ARG_BUG. Handle MBRTOWC_NULL_ARG1_BUG.
6622         * tests/test-mbrtowc.c (main): Test support of a NULL first argument.
6623         * doc/posix-functions/mbrtowc.texi: Mention the Solaris 7 bug.
6624
6625 2010-12-27  Jim Meyering  <meyering@redhat.com>
6626
6627         read-file.c: tweak syntax
6628         * lib/read-file.c (fread_file): Remove space after "*" in function
6629         definitions.
6630
6631 2010-12-27  Bruno Haible  <bruno@clisp.org>
6632
6633         times test: Avoid gcc warnings on OSF/1.
6634         * tests/test-times.c (main): Cast printf arguments from clock_t to
6635         'long int'.
6636
6637 2010-12-27  Paul Eggert  <eggert@cs.ucla.edu>
6638
6639         utimens: work around glibc rounding bug on older Linux kernels
6640         * lib/utimens.c (fdutimens): If invoking futimesat or futimes
6641         on Linux with a glibc whose utimes might not work, then work
6642         around a longstanding glibc bug involving rounding rather than
6643         truncated time stamps.  Reported for Linux 2.4.21 by Bruno Haible in
6644         <http://lists.gnu.org/archive/html/bug-gnulib/2010-11/msg00113.html>.
6645
6646 2010-12-26  Bruno Haible  <bruno@clisp.org>
6647
6648         inet_ntop: Hide mismatch of declaration on NonStop Kernel.
6649         * lib/arpa_inet.in.h (inet_ntop): Use _GL_CXXALIAS_SYS_CAST instead of
6650         _GL_CXXALIAS_SYS.
6651         Reported by Joachim Schmitz <jojo@schmitz-digital.de>.
6652
6653 2010-12-26  Bruno Haible  <bruno@clisp.org>
6654
6655         inet_ntop, inet_pton: Ensure declaration on NonStop Kernel.
6656         * lib/arpa_inet.in.h: On NonStop Kernel, include also <netdb.h>.
6657         * m4/arpa_inet_h.m4 (gl_HEADER_ARPA_INET): Likewise.
6658         * m4/inet_ntop.m4 (gl_PREREQ_INET_NTOP): Include also <netdb.h> when
6659         looking for the declaration.
6660         * m4/inet_pton.m4 (gl_PREREQ_INET_PTON): Likewise.
6661         * doc/posix-functions/inet_ntop.texi: Document the NonStop Kernel
6662         problem.
6663         * doc/posix-functions/inet_pton.texi: Likewise.
6664
6665 2010-12-26  Bruno Haible  <bruno@clisp.org>
6666
6667         arpa_inet: Use the common idioms with C++ support.
6668         * lib/arpa_inet.in.h: Include c++defs.h.
6669         (inet_ntop, inet_pton): Declare using the macros with C++ namespace
6670         support.
6671         * modules/arpa_inet (Depends-on): Add c++defs.
6672         (Makefile.am): Substitute the contents of c++defs.h.
6673         * modules/arpa_inet-tests (Depends-on): Add arpa_inet-c++-tests.
6674         * modules/arpa_inet-c++-tests: New file.
6675         * tests/test-arpa_inet-c++.cc: New file.
6676
6677 2010-12-25  Bruno Haible  <bruno@clisp.org>
6678
6679         Fix more C++ link errors on Solaris 8.
6680         * modules/fcntl-h-c++-tests (test_fcntl_h_c___LDADD): Add
6681         $(LIB_EACCESS).
6682         * modules/stdio-c++-tests (test_stdio_c___LDADD): Likewise.
6683         * modules/stdlib-c++-tests (test_stdlib_c___LDADD): Likewise.
6684         * modules/sys_ioctl-c++-tests (test_sys_ioctl_c___LDADD): Likewise.
6685         * modules/wchar-c++-tests (test_wchar_c___LDADD): Likewise.
6686         * modules/wctype-c++-tests (test_wctype_c___LDADD): Likewise.
6687
6688 2010-12-25  Bruno Haible  <bruno@clisp.org>
6689
6690         printf-posix: Fix link error when a non-GCC compiler is used.
6691         * lib/stdio.in.h (printf): When not using GCC, override printf
6692         correctly.
6693         Reported by Joachim Schmitz <jojo@schmitz-digital.de>.
6694
6695 2010-12-25  Bruno Haible  <bruno@clisp.org>
6696
6697         strerror_r-posix: Update doc.
6698         * doc/posix-functions/strerror_r.texi: Update doc about the return
6699         value. See <http://sources.redhat.com/bugzilla/show_bug.cgi?id=12204>.
6700
6701 2010-12-25  Paul Eggert  <eggert@cs.ucla.edu>
6702
6703         utimens: simplify the logic of the previous change
6704         * m4/utimes.m4 (gl_FUNC_UTIMES): Simplify the logic a bit.
6705         This should not affect whether the test succeeds or fails.
6706
6707         utimens: configure better on hosts with NFS clock skew
6708         * m4/utimes.m4 (gl_FUNC_UTIMES): Don't assume that utimes (f, NULL)
6709         uses the clock of the local host.  It might use the clock of the
6710         NFS server.  Reported for Linux 2.4.21 client by Bruno Haible in
6711         <http://lists.gnu.org/archive/html/bug-gnulib/2010-11/msg00113.html>.
6712
6713 2010-12-25  Bruno Haible  <bruno@clisp.org>
6714
6715         ptsname test: Avoid failure on Solaris.
6716         * tests/test-ptsname.c (main): For Solaris, use the recommended way to
6717         open a pseudo-terminal; don't use BSD-style ptys.
6718         * doc/posix-functions/ptsname.texi: Document the limitation on Solaris.
6719
6720 2010-12-25  Bruno Haible  <bruno@clisp.org>
6721
6722         ptsname: Avoid ERANGE failure on some systems.
6723         * lib/ptsname.c (buffer): Increase size.
6724
6725 2010-12-25  Bruno Haible  <bruno@clisp.org>
6726
6727         rename, renameat: Avoid test failures at NFS mounted locations.
6728         * tests/test-rename.h (assert_nonexistent): Remove the old directory,
6729         so that subsequent mkdir calls succeed.
6730
6731 2010-12-25  Bruno Haible  <bruno@clisp.org>
6732
6733         iswblank: Fix C++ link error on Solaris 8.
6734         * lib/wctype.in.h (iswblank): Declare using _GL_FUNCDECL_RPL or
6735         _GL_FUNCDECL_SYS.
6736
6737 2010-12-25  Bruno Haible  <bruno@clisp.org>
6738
6739         unistd: Fix C++ link error on Solaris 8.
6740         * modules/unistd-c++-tests (test_unistd_c___LDADD): Add $(LIB_EACCESS).
6741
6742 2010-12-25  Bruno Haible  <bruno@clisp.org>
6743
6744         readlink doc: Mention an old glibc bug.
6745         * doc/posix-functions/readlink.texi: Mention glibc 2.4 bug (BZ #2450).
6746
6747 2010-12-25  Bruno Haible  <bruno@clisp.org>
6748
6749         fcntl-h: Fix for use of C++ on glibc systems.
6750         * lib/fcntl.in.h: Include <sys/stat.h> before include_next <fcntl.h>
6751         also on glibc systems in C++ mode.
6752         Reported by Gary V. Vaughan <gary@gnu.org>.
6753
6754 2010-12-25  Bruno Haible  <bruno@clisp.org>
6755
6756         roundl-ieee: Make it work on OSF/1 5.1 with cc.
6757         * modules/roundl-ieee (Depends-on): Add floorl-ieee, ceill-ieee.
6758
6759 2010-12-25  Bruno Haible  <bruno@clisp.org>
6760
6761         truncl-ieee: Make it work on OSF/1 5.1 with cc.
6762         * doc/posix-functions/truncl.texi: Mention the OSF/1 5.1 bug.
6763         * m4/truncl.m4 (gl_FUNC_TRUNCL): If gl_FUNC_TRUNCL_IEEE is also used,
6764         test whether truncl works according to ISO C 99 with IEC 60559.
6765         * m4/truncl-ieee.m4: New file.
6766         * modules/truncl-ieee (Files): Add it and m4/minus-zero.m4,
6767         m4/signbit.m4.
6768         (configure.ac): Invoke gl_FUNC_TRUNCL_IEEE.
6769
6770 2010-12-25  Bruno Haible  <bruno@clisp.org>
6771
6772         ceill-ieee: Make it work on OSF/1 5.1 with cc.
6773         * doc/posix-functions/ceill.texi: Mention the OSF/1 5.1 bug.
6774         * m4/ceill.m4 (gl_FUNC_CEILL): If gl_FUNC_CEILL_IEEE is also used,
6775         test whether ceill works according to ISO C 99 with IEC 60559.
6776         * m4/ceill-ieee.m4: New file.
6777         * modules/ceill-ieee (Files): Add it and m4/minus-zero.m4,
6778         m4/signbit.m4.
6779         (configure.ac): Invoke gl_FUNC_CEILL_IEEE.
6780
6781 2010-12-25  Bruno Haible  <bruno@clisp.org>
6782
6783         Ensure all prerequisites of <wchar.h> are included.
6784         * m4/btowc.m4 (gl_FUNC_BTOWC): Include <stddef.h>, <stdio.h>, <time.h>
6785         before <wchar.h>.
6786         * m4/mbrlen.m4 (gl_MBRLEN_INCOMPLETE_STATE, gl_MBRLEN_RETVAL,
6787         gl_MBRLEN_NUL_RETVAL): Likewise.
6788         * m4/mbrtowc.m4 (gl_MBRTOWC_INCOMPLETE_STATE, gl_MBRTOWC_SANITYCHECK,
6789         gl_MBRTOWC_NULL_ARG, gl_MBRTOWC_RETVAL, gl_MBRTOWC_NUL_RETVAL,
6790         AC_FUNC_MBRTOWC): Likewise.
6791         * m4/mbsrtowcs.m4 (gl_MBSRTOWCS_WORKS): Likewise.
6792         * m4/mbstate_t.m4 (AC_TYPE_MBSTATE_T): Likewise.
6793         * m4/wcrtomb.m4 (gl_FUNC_WCRTOMB): Likewise.
6794         * m4/wcsrtombs.m4 (gl_WCSRTOMBS_TERMINATION, gl_WCSRTOMBS_NULL):
6795         Likewise.
6796         * m4/wctob.m4 (gl_FUNC_WCTOB): Likewise.
6797         * m4/wchar_h.m4 (gl_WCHAR_H_INLINE_OK): Likewise.
6798         (gl_WCHAR_H): Improve comments.
6799         * m4/wctype_h.m4 (gl_WCTYPE_H): Likewise.
6800
6801 2010-12-25  Bruno Haible  <bruno@clisp.org>
6802
6803         strtok_r: Fix C syntax error in autoconf macro.
6804         * m4/strtok_r.m4 (gl_FUNC_STRTOK_R): Don't use UTF-8 encoded U+00A0
6805         characters in test program.
6806
6807 2010-12-24  Bruno Haible  <bruno@clisp.org>
6808
6809         ceil, trunc, round: Fix gcc warnings.
6810         * lib/ceil.c (MIN): Undefine before redefining.
6811         * lib/trunc.c (MIN): Likewise.
6812         * lib/round.c (MIN): Likewise.
6813         Include <math.h> first.
6814
6815 2010-12-24  Bruno Haible  <bruno@clisp.org>
6816
6817         select tests: Avoid failures on OSF/1 5.1.
6818         * tests/test-select.c (test_accept_first, test_socket_pair): Ignore
6819         failure of closing the last socket; it may fail with ECONNRESET.
6820
6821 2010-12-24  Eric Blake  <eblake@redhat.com>
6822
6823         stdint: avoid HP-UX 10.20 preprocessor bug
6824         * lib/stdint.in.h (INT64_MAX, UINT64_MAX): Check via #ifdef rather
6825         than #if.
6826         * tests/test-floor2.c (main): Likewise.
6827         Reported by Peter O'Gorman.
6828
6829         pipe: make obsoletion transition easier
6830         * lib/pipe.h: Restore file as thin shim around "spawn-pipe.h".
6831         * modules/pipe (Files): Include revived file.
6832         (Include): Drop reference, to mirror getdate's behavior.
6833
6834 2010-12-24  Bruno Haible  <bruno@clisp.org>
6835
6836         sys_socket: Hide mismatch of declarations on NonStop Kernel.
6837         * lib/sys_socket.in.h (connect, bind, sendto, setsockopt): Use
6838         _GL_CXXALIAS_SYS_CAST instead of _GL_CXXALIAS_SYS.
6839         Reported by Joachim Schmitz <jojo@schmitz-digital.de>.
6840
6841 2010-12-24  Bruno Haible  <bruno@clisp.org>
6842
6843         gethostname: Ensure declaration on NonStop Kernel.
6844         * lib/unistd.in.h: Include <netdb.h> also on NonStop Kernel systems.
6845         Reported by Joachim Schmitz <jojo@schmitz-digital.de>.
6846
6847 2010-12-24  Bruno Haible  <bruno@clisp.org>
6848
6849         sys_select: Ensure all necessary types on NonStop Kernel.
6850         * lib/sys_select.in.h: If the system does not have <sys/select.h>,
6851         include <sys/time.h>.
6852         * doc/posix-headers/sys_select.texi: Mention that it's missing on
6853         NonStop Kernel.
6854         Reported by Joachim Schmitz <jojo@schmitz-digital.de>.
6855
6856 2010-12-24  Bruno Haible  <bruno@clisp.org>
6857
6858         sys_select: Remove unneeded include.
6859         * lib/sys_select.in.h: Don't include <sys/socket.h> on platforms that
6860         have <sys/select.h>.
6861
6862 2010-12-24  Bruno Haible  <bruno@clisp.org>
6863
6864         gethostname: Provide a fallback for HOST_NAME_MAX.
6865         * m4/gethostname.m4 (gl_FUNC_GETHOSTNAME): When neither HOST_NAME_MAX
6866         nor MAXHOSTNAMELEN is found in the usual system headers, use 256
6867         instead.
6868         Reported by Joachim Schmitz <jojo@schmitz-digital.de>.
6869
6870 2010-12-24  Bruno Haible  <bruno@clisp.org>
6871
6872         sigaction tests: Allow missing SA_RESETHAND and SA_RESTART.
6873         * tests/test-sigaction.c (SA_RESETHAND): Fall back to 0.
6874         (SA_RESTART): Likewise.
6875         Reported by Joachim Schmitz <jojo@schmitz-digital.de>.
6876
6877 2010-12-24  Bruno Haible  <bruno@clisp.org>
6878
6879         signal: Define NSIG.
6880         * lib/signal.in.h (NSIG): Define to 32 on NonStop Kernel.
6881         * tests/test-signal.c (nsig): New variable.
6882         Reported by Joachim Schmitz <jojo@schmitz-digital.de>.
6883
6884 2010-12-24  Bruno Haible  <bruno@clisp.org>
6885
6886         rename, renameat: Avoid test failures on OSF/1 5.1.
6887         * tests/test-rename.h (test_rename): Allow EEXIST and ENOTDIR as
6888         alternative error codes.
6889         * tests/test-renameat.c (main): Likewise.
6890
6891 2010-12-24  Bruno Haible  <bruno@clisp.org>
6892
6893         *printf: Detect large precisions bug on Solaris 10/SPARC.
6894         * m4/printf.m4 (gl_PRINTF_PRECISION): Add one more test code, provided
6895         by Paul Eggert.
6896         * tests/test-snprintf-posix.h (test_function): Add this test code here
6897         too.
6898         * tests/test-sprintf-posix.h (test_function): Likewise.
6899         * tests/test-vasnprintf-posix.c (test_function): Likewise.
6900         * tests/test-vasprintf-posix.c (test_function): Likewise.
6901         * doc/posix-functions/fprintf.texi: Mention Solaris 10 bug as worked
6902         around by gnulib.
6903         * doc/posix-functions/printf.texi: Likewise.
6904         * doc/posix-functions/snprintf.texi: Likewise.
6905         * doc/posix-functions/sprintf.texi: Likewise.
6906         * doc/posix-functions/vfprintf.texi: Likewise.
6907         * doc/posix-functions/vprintf.texi: Likewise.
6908         * doc/posix-functions/vsnprintf.texi: Likewise.
6909         * doc/posix-functions/vsprintf.texi: Likewise.
6910         * doc/posix-functions/dprintf.texi: Undo last commit.
6911         * doc/posix-functions/vdprintf.texi: Likewise.
6912
6913 2010-12-23  Paul Eggert  <eggert@cs.ucla.edu>
6914
6915         tests: port test-fdutimensat.c to Solaris 8
6916         * tests/test-fdutimensat.c (do_fdutimens): Don't assume
6917         fdutimensat works with a nonnegative fd and AT_SYMLINK_NOFOLLOW.
6918         On Solaris 8, it fails with errno == ENOSYS, because there is no
6919         futimens (so it can't use the fd), and there is no lutimens (so it
6920         can't implement AT_SYMLINK_NOFOLLOW on symlinks).
6921
6922         vsnprintf: make more consistent with snprintf; doc fixes
6923
6924         * doc/posix-functions/snprintf.texi (snprintf): The workaround for
6925         the byte count return problem was promoted from the snprintf-posix
6926         to the snprintf module.
6927         * doc/posix-functions/vsnprintf.texi (vsnprintf): Likewise.
6928         * m4/vsnprintf.m4 (gl_FUNC_VSNPRINTF): Also check
6929         gl_SNPRINTF_RETVAL_C99, for consistency with gl_FUNC_SNPRINTF.
6930         * tests/test-snprintf.c (main): Check the byte count returned.
6931         * tests/test-vsnprintf.c (main): Likewise.
6932
6933 2010-12-23  Eric Blake  <eblake@redhat.com>
6934
6935         sigpipe: relax to LGPLv2+, since it did not have any LGPLv3+ parts
6936         * modules/sigpipe (License): Relax license.
6937
6938 2010-12-22  Paul Eggert  <eggert@cs.ucla.edu>
6939
6940         doc: document Solaris printf bug with large float precisions
6941         * doc/posix-functions/dprintf.texi (dprintf):
6942         * doc/posix-functions/fprintf.texi (fprintf):
6943         * doc/posix-functions/printf.texi (printf):
6944         * doc/posix-functions/snprintf.texi (snprintf):
6945         * doc/posix-functions/sprintf.texi (sprintf):
6946         * doc/posix-functions/vdprintf.texi (vdprintf):
6947         * doc/posix-functions/vfprintf.texi (vfprintf):
6948         * doc/posix-functions/vprintf.texi (vprintf):
6949         * doc/posix-functions/vsnprintf.texi (vsnprintf):
6950         * doc/posix-functions/vsprintf.texi (vsprintf):
6951         Mention that these functions mishandle large floating point
6952         precisions on Solaris 10.  The same bug is also present in Solaris
6953         8, and I assume earlier.  This causes "cd gnulib-tests; make
6954         check" to fail on Solaris 8 (and I assume, later) when building
6955         the latest coreutils, in test-vasprintf-posix's call to
6956         my_asprintf (&result, "%.4000f %d", 1.0, 99).  I have not checked
6957         the wide flavors (e.g., wprintf) so this patch just updates the
6958         documentation for the narrow ones.
6959
6960         test-posixtm.c: add two tests
6961         * tests/test-posixtm.c: Add two tests, to highlight the
6962         bug in Solaris 10 (and earlier) localtime.  Gnulib doesn't work
6963         around this bug; this is merely to document it.
6964
6965 2010-12-22  Bruno Haible  <bruno@clisp.org>
6966
6967         getlogin_r: Work around portability problem on OSF/1.
6968         * m4/getlogin_r.m4 (gl_FUNC_GETLOGIN_R): Detect the OSF/1 problem.
6969         * lib/unistd.in.h (getlogin_r): Replace if REPLACE_GETLOGIN_R is set.
6970         * lib/getlogin_r.c (getlogin_r): When getlogin_r exists, invoke it and
6971         test for a truncated result.
6972         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize REPLACE_GETLOGIN_R.
6973         * modules/unistd (Makefile.am): Substitute REPLACE_GETLOGIN_R.
6974         * modules/getlogin_r (Depends-on): Add memchr.
6975         * doc/posix-functions/getlogin_r.texi: Mention the OSF/1 problem.
6976
6977 2010-12-22  Bruno Haible  <bruno@clisp.org>
6978
6979         ptsname: Avoid test failure on OSF/1 5.1.
6980         * modules/ptsname-tests (Depends-on): Add 'same-inode'.
6981         * tests/test-ptsname.c: Include <sys/stat.h>, same-inode.h.
6982         (same_slave): New function.
6983         (main): Use it to compare ptsname's result with the expected file name.
6984
6985 2010-12-22  Bruno Haible  <bruno@clisp.org>
6986
6987         Port extended stdio modules to HP NonStop Kernel.
6988         * lib/stdio-impl.h (_IOERR, _IOREAD, _IOWRT, _IORW) [__TANDEM]: New
6989         macros.
6990         * lib/fbufmode.c: Update comments.
6991         * lib/fflush.c: Likewise.
6992         * lib/fpurge.c: Likewise.
6993         * lib/freadable.c: Likewise.
6994         * lib/freadahead.c: Likewise.
6995         * lib/freading.c: Likewise.
6996         * lib/freadptr.c: Likewise.
6997         * lib/freadseek.c: Likewise.
6998         * lib/fseeko.c: Likewise.
6999         * lib/fseterr.c: Likewise.
7000         * lib/fwritable.c: Likewise.
7001         * lib/fwriting.c: Likewise.
7002         Reported by Joachim Schmitz <jojo@schmitz-digital.de>.
7003
7004 2010-12-22  Bruno Haible  <bruno@clisp.org>
7005
7006         ttyname_r: Work around bug on OSF/1 5.1.
7007         * doc/posix-functions/ttyname_r.texi: Mention the OSF/1 bug.
7008         * m4/ttyname_r.m4 (gl_FUNC_TTYNAME_R): Detect the OSF/1 bug. Say "no"
7009         instead of "guessing no" when the OSF/1 bug or the Solaris bug is
7010         present.
7011         * lib/ttyname_r.c (ttyname_r): Update comments.
7012
7013 2010-12-22  Bruno Haible  <bruno@clisp.org>
7014
7015         round: Implement result sign according to IEEE 754.
7016         * lib/round.c (MIN, MINUS_ZERO): New macros.
7017         (FLOOR_FREE_ROUND): Return -0.0 for -0.5 < x < 0.
7018         * tests/test-roundf-ieee.c (main): Test also values between -1 and 1.
7019         * tests/test-round-ieee.c (main): Likewise.
7020         * tests/test-roundl-ieee.c (main): Likewise.
7021
7022         trunc: Implement result sign according to IEEE 754.
7023         * lib/trunc.c (MIN, MINUS_ZERO): New macros.
7024         (FUNC): Return +0.0 for 0 < x < 1 and -0.0 for -1 < x < 0.
7025         * tests/test-trunc2.c: Include minus-zero.h.
7026         (MINUS_ZERO): New macro.
7027         (trunc_reference): Keep in sync with lib/trunc.c.
7028         * tests/test-truncf2.c: Include minus-zero.h.
7029         (MINUS_ZERO): New macro.
7030         (truncf_reference): Keep in sync with lib/trunc.c.
7031         * tests/test-truncf-ieee.c (main): Test also values between -1 and 1.
7032         * tests/test-trunc-ieee.c (main): Likewise.
7033         * tests/test-truncl-ieee.c (main): Likewise.
7034
7035         ceil: Implement result sign according to IEEE 754.
7036         * lib/ceil.c (MIN, MINUS_ZERO): New macros.
7037         (FUNC): Return -0.0 for -1 < x < 0.
7038         * tests/test-ceil2.c: Include minus-zero.h.
7039         (MINUS_ZERO): New macro.
7040         (ceil_reference): Keep in sync with lib/ceil.c.
7041         * tests/test-ceilf2.c: Include minus-zero.h.
7042         (MINUS_ZERO): New macro.
7043         (ceilf_reference): Keep in sync with lib/ceil.c.
7044         * tests/test-ceilf-ieee.c (main): Test also values between -1 and 1.
7045         * tests/test-ceil-ieee.c (main): Likewise.
7046         * tests/test-ceill-ieee.c (main): Likewise.
7047
7048         floor: Implement result sign according to IEEE 754.
7049         * lib/floor.c (FUNC): Return +0.0 for 0 < x < 1.
7050         * tests/test-floor2.c (floor_reference): Keep in sync with lib/floor.c.
7051         * tests/test-floorf2.c (floorf_reference): Likewise.
7052         * tests/test-floorf-ieee.c (main): Test also values between -1 and 1.
7053         * tests/test-floor-ieee.c (main): Likewise.
7054         * tests/test-floorl-ieee.c (main): Likewise.
7055
7056 2010-12-22  Bruno Haible  <bruno@clisp.org>
7057
7058         getaddrinfo: Update doc.
7059         * doc/posix-functions/gai_strerror.texi: Return type is also different
7060         on AIX and HP-UX.
7061
7062 2010-12-22  Paul Eggert  <eggert@cs.ucla.edu>
7063
7064         getaddrinfo, inet_ntop: Update doc for Solaris.
7065         * doc/posix-functions/gai_strerror.texi: Return type is also an
7066         issue on Solaris 9 and earlier.
7067         * doc/posix-functions/inet_ntop.texi: 4th arg type is also an issue
7068         on Solaris 10 and earlier.
7069
7070 2010-12-21  Bruno Haible  <bruno@clisp.org>
7071
7072         New module 'roundl-ieee'.
7073         * modules/roundl-ieee: New file.
7074         * m4/roundl.m4 (gl_FUNC_ROUNDL): If gl_FUNC_ROUNDL_IEEE is also used,
7075         test whether roundl works according to ISO C 99 with IEC 60559.
7076         * m4/roundl-ieee.m4: New file.
7077         * modules/roundl-ieee-tests: New file.
7078         * tests/test-roundl-ieee.c: New file, based on tests/test-roundl.c.
7079         * tests/test-roundl.c (main): Remove signbit tests.
7080         * modules/roundl-tests (Depends-on): Remove signbit.
7081         * doc/posix-functions/roundl.texi: Mention the new module.
7082
7083 2010-12-21  Bruno Haible  <bruno@clisp.org>
7084
7085         New module 'truncl-ieee'.
7086         * modules/truncl-ieee: New file.
7087         * modules/truncl-ieee-tests: New file.
7088         * tests/test-truncl-ieee.c: New file, based on tests/test-truncl.c.
7089         * tests/test-truncl.c (main): Remove signbit tests.
7090         * modules/truncl-tests (Depends-on): Remove signbit.
7091         * doc/posix-functions/truncl.texi: Mention the new module.
7092
7093 2010-12-21  Bruno Haible  <bruno@clisp.org>
7094
7095         New module 'ceill-ieee'.
7096         * modules/ceill-ieee: New file.
7097         * modules/ceill-ieee-tests: New file.
7098         * tests/test-ceill-ieee.c: New file, based on tests/test-ceill.c.
7099         * tests/test-ceill.c (main): Remove signbit tests.
7100         * modules/ceill-tests (Depends-on): Remove signbit.
7101         * doc/posix-functions/ceill.texi: Mention the new module.
7102
7103 2010-12-21  Bruno Haible  <bruno@clisp.org>
7104
7105         New module 'floorl-ieee'.
7106         * modules/floorl-ieee: New file.
7107         * modules/floorl-ieee-tests: New file.
7108         * tests/test-floorl-ieee.c: New file, based on tests/test-floorl.c.
7109         * tests/test-floorl.c (main): Remove signbit tests.
7110         * modules/floorl-tests (Depends-on): Remove signbit.
7111         * doc/posix-functions/floorl.texi: Mention the new module.
7112
7113 2010-12-21  Bruno Haible  <bruno@clisp.org>
7114
7115         New module 'round-ieee'.
7116         * modules/round-ieee: New file.
7117         * m4/round.m4 (gl_FUNC_ROUND): If gl_FUNC_ROUND_IEEE is also used, test
7118         whether round works according to ISO C 99 with IEC 60559.
7119         * m4/round-ieee.m4: New file.
7120         * modules/round-ieee-tests: New file.
7121         * tests/test-round-ieee.c: New file, based on tests/test-roundf-ieee.c.
7122         * tests/test-round1.c (main): Remove signbit tests.
7123         * modules/round-tests (Depends-on): Remove 'signbit'.
7124         * doc/posix-functions/round.texi: Mention the new module.
7125
7126 2010-12-21  Bruno Haible  <bruno@clisp.org>
7127
7128         New module 'trunc-ieee'.
7129         * modules/trunc-ieee: New file.
7130         * m4/trunc.m4 (gl_FUNC_TRUNC): If gl_FUNC_TRUNC_IEEE is also used, test
7131         whether trunc works according to ISO C 99 with IEC 60559.
7132         * m4/trunc-ieee.m4: New file.
7133         * lib/math.in.h (trunc): Replace if REPLACE_TRUNC is set.
7134         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize REPLACE_TRUNC.
7135         * modules/math (Makefile.am): Substitute REPLACE_TRUNC.
7136         * modules/trunc-ieee-tests: New file.
7137         * tests/test-trunc-ieee.c: New file, based on tests/test-truncf-ieee.c.
7138         * tests/test-trunc1.c (main): Remove signbit tests.
7139         * modules/trunc-tests (Depends-on): Remove 'signbit'.
7140         * doc/posix-functions/trunc.texi: Mention the new module.
7141
7142 2010-12-21  Bruno Haible  <bruno@clisp.org>
7143
7144         New module 'ceil-ieee'.
7145         * modules/ceil-ieee: New file.
7146         * m4/ceil.m4 (gl_FUNC_CEIL): Require gl_MATH_H_DEFAULTS. If
7147         gl_FUNC_CEIL_IEEE is also used, test whether ceil works according to
7148         ISO C 99 with IEC 60559.
7149         * m4/ceil-ieee.m4: New file.
7150         * modules/ceil (Files): Add lib/ceil.c.
7151         (Depends-on): Add 'float'.
7152         (configure.ac): Invoke gl_MATH_MODULE_INDICATOR.
7153         * lib/math.in.h (ceil): New declaration.
7154         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize GNULIB_CEIL,
7155         REPLACE_CEIL.
7156         * modules/math (Makefile.am): Substitute GNULIB_CEIL, REPLACE_CEIL.
7157         * modules/ceil-ieee-tests: New file.
7158         * tests/test-ceil-ieee.c: New file, based on tests/test-ceilf-ieee.c.
7159         * tests/test-math-c++.cc: Check the signature of 'ceil'.
7160         * doc/posix-functions/ceil.texi: Mention the new module.
7161
7162 2010-12-21  Bruno Haible  <bruno@clisp.org>
7163
7164         New module 'floor-ieee'.
7165         * modules/floor-ieee: New file.
7166         * m4/floor.m4 (gl_FUNC_FLOOR): Require gl_MATH_H_DEFAULTS. If
7167         gl_FUNC_FLOOR_IEEE is also used, test whether floor works according to
7168         ISO C 99 with IEC 60559.
7169         * m4/floor-ieee.m4: New file.
7170         * modules/floor (Files): Add lib/floor.c.
7171         (Depends-on): Add 'float'.
7172         (configure.ac): Invoke gl_MATH_MODULE_INDICATOR.
7173         * lib/math.in.h (floor): New declaration.
7174         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize GNULIB_FLOOR,
7175         REPLACE_FLOOR.
7176         * modules/math (Makefile.am): Substitute GNULIB_FLOOR, REPLACE_FLOOR.
7177         * modules/floor-ieee-tests: New file.
7178         * tests/test-floor-ieee.c: New file, based on tests/test-floorf-ieee.c.
7179         * tests/test-math-c++.cc: Check the signature of 'floor'.
7180         * doc/posix-functions/floor.texi: Mention the new module.
7181
7182 2010-12-21  Bruno Haible  <bruno@clisp.org>
7183
7184         New module 'roundf-ieee'.
7185         * modules/roundf-ieee: New file.
7186         * m4/roundf.m4 (gl_FUNC_ROUNDF): If gl_FUNC_ROUNDF_IEEE is also used,
7187         test whether roundf works according to ISO C 99 with IEC 60559.
7188         * m4/roundf-ieee.m4: New file.
7189         * modules/roundf-ieee-tests: New file.
7190         * tests/test-roundf-ieee.c: New file, based on tests/test-roundf1.c.
7191         * tests/test-roundf1.c (main): Remove signbit tests.
7192         * modules/roundf-tests (Depends-on): Remove 'signbit'.
7193         * doc/posix-functions/roundf.texi: Mention the new module.
7194
7195 2010-12-21  Bruno Haible  <bruno@clisp.org>
7196
7197         New module 'truncf-ieee'.
7198         * modules/truncf-ieee: New file.
7199         * m4/truncf.m4 (gl_FUNC_TRUNCF): If gl_FUNC_TRUNCF_IEEE is also used,
7200         test whether truncf works according to ISO C 99 with IEC 60559.
7201         * m4/truncf-ieee.m4: New file.
7202         * lib/math.in.h (truncf): Replace if REPLACE_TRUNCF is set.
7203         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize REPLACE_TRUNCF.
7204         * modules/math (Makefile.am): Substitute REPLACE_TRUNCF.
7205         * modules/truncf-ieee-tests: New file.
7206         * tests/test-truncf-ieee.c: New file, based on tests/test-truncf1.c.
7207         * tests/test-truncf1.c (main): Remove signbit tests.
7208         * modules/truncf-tests (Depends-on): Remove 'signbit'.
7209         * doc/posix-functions/truncf.texi: Mention the new module.
7210
7211 2010-12-21  Bruno Haible  <bruno@clisp.org>
7212
7213         New module 'ceilf-ieee'.
7214         * modules/ceilf-ieee: New file.
7215         * m4/ceilf.m4 (gl_FUNC_FLOORF): If gl_FUNC_CEILF_IEEE is also used,
7216         test whether ceilf works according to ISO C 99 with IEC 60559.
7217         * m4/ceilf-ieee.m4: New file.
7218         * modules/ceilf-ieee-tests: New file.
7219         * tests/test-ceilf-ieee.c: New file, based on tests/test-ceilf1.c.
7220         * tests/test-ceilf1.c (main): Remove signbit tests.
7221         * modules/ceilf-tests (Depends-on): Remove 'signbit'.
7222         * doc/posix-functions/ceilf.texi: Mention the new module.
7223
7224 2010-12-21  Bruno Haible  <bruno@clisp.org>
7225
7226         New module 'floorf-ieee'.
7227         * modules/floorf-ieee: New file.
7228         * m4/floorf.m4 (gl_FUNC_FLOORF): If gl_FUNC_FLOORF_IEEE is also used,
7229         test whether floorf works according to ISO C 99 with IEC 60559.
7230         * m4/floorf-ieee.m4: New file.
7231         * modules/floorf-ieee-tests: New file.
7232         * tests/test-floorf-ieee.c: New file, based on tests/test-floorf1.c.
7233         * tests/test-floorf1.c (main): Remove signbit tests.
7234         * modules/floorf-tests (Depends-on): Remove 'signbit'.
7235         * doc/posix-functions/floorf.texi: Mention the new module.
7236
7237 2010-12-21  Bruno Haible  <bruno@clisp.org>
7238
7239         Support for minus zero in autoconf macros.
7240         * m4/minus-zero.m4: New file, based on tests/minus-zero.h.
7241         * m4/signbit.m4 (gl_FLOAT_SIGNBIT_CODE, gl_DOUBLE_SIGNBIT_CODE,
7242         gl_LONG_DOUBLE_SIGNBIT_CODE, gl_FLOATTYPE_SIGNBIT_CODE): New macros.
7243         * tests/minus-zero.h: Update comments.
7244
7245 2010-12-21  Bruno Haible  <bruno@clisp.org>
7246
7247         Tests for module 'ceil'.
7248         * modules/ceil-tests: New file.
7249         * tests/test-ceil1.c: New file, based on tests/test-ceill.c.
7250         * tests/test-ceil2.c: New file, based on tests/test-ceilf2.c.
7251
7252 2010-12-21  Bruno Haible  <bruno@clisp.org>
7253
7254         Tests for module 'floor'.
7255         * modules/floor-tests: New file.
7256         * tests/test-floor1.c: New file, based on tests/test-floorl.c.
7257         * tests/test-floor2.c: New file, based on tests/test-floorf2.c.
7258
7259 2010-12-21  Bruno Haible  <bruno@clisp.org>
7260
7261         math: Fix indentation.
7262         * lib/math.in.h (floorf): Fix indentation.
7263
7264 2010-12-21  Bruno Haible  <bruno@clisp.org>
7265
7266         Fix cross-compilation guesses on Solaris.
7267         * m4/fopen.m4 (gl_FUNC_FOPEN): Correct shell pattern so that it does
7268         not match "solaris2.10".
7269         * m4/open.m4 (gl_FUNC_OPEN): Likewise.
7270         * m4/printf.m4 (gl_SNPRINTF_TRUNCATION_C99, gl_SNPRINTF_DIRECTIVE_N,
7271         gl_VSNPRINTF_ZEROSIZE_C99): Likewise.
7272
7273 2010-12-21  Paul Eggert  <eggert@cs.ucla.edu>
7274
7275         snprintf: port snprintf (NULL, 0, ...) to Solaris 8 and 9
7276         This fixes a problem observed with the latest coreutils snapshot
7277         that caused a test to fail on Solaris 8.  src/csplit.c's call
7278         snprintf (NULL, 0, format, UINT_MAX) returns -1 on Solaris 9 and
7279         earlier, instead of returning the number of bytes that would have
7280         been generated; this causes csplit to incorrectly report memory
7281         exhaustion.
7282         * m4/printf.m4 (gl_SNPRINTF_RETVAL_C99): Also check for
7283         snprintf (NULL, 0, ...) and (for good measure) snprintf (buf, 0, ...).
7284         Guess that it doesn't work on Solaris 2.6 through 9.  Adjust
7285         comments to match.
7286         (gl_PRINTF_SIZES_C99, gl_PRINTF_DIRECTIVE_F, gl_SNPRINTF_RETVAL_C99):
7287         Fix typo in matching older versions of Solaris: "solaris2.10"
7288         is matched by the shell pattern "solaris2.[0-9]*".  This matters
7289         only for guessing while cross-compiling.
7290         * m4/snprintf.m4 (gl_FUNC_SNPRINTF): Also check gl_SNPRINTF_RETVAL_C99.
7291
7292 2010-12-20  Paul Eggert  <eggert@cs.ucla.edu>
7293
7294         ftoastr: fix comment again
7295         * lib/ftoastr.h: Fix typo in comment.  Noted by Ben Pfaff in
7296         <http://lists.gnu.org/archive/html/bug-gnulib/2010-12/msg00149.html>.
7297         Also, simplify example a bit by using flags = 0.
7298
7299 2010-12-20  Bruno Haible  <bruno@clisp.org>
7300
7301         round*, trunc*: Update documentation regarding glibc.
7302         * doc/posix-functions/roundf.texi: Mention missing declaration problem.
7303         * doc/posix-functions/round.texi: Likewise.
7304         * doc/posix-functions/roundl.texi: Likewise.
7305         * doc/posix-functions/truncf.texi: Likewise.
7306         * doc/posix-functions/trunc.texi: Likewise.
7307         * doc/posix-functions/truncl.texi: Likewise.
7308
7309 2010-12-20  Bruno Haible  <bruno@clisp.org>
7310
7311         roundf, round, roundl: Update documentation regarding OSF/1 5.1.
7312         * doc/posix-functions/roundf.texi: Mention OSF/1 5.1 problem.
7313         * doc/posix-functions/round.texi: Likewise.
7314         * doc/posix-functions/roundl.texi: Likewise.
7315
7316 2010-12-20  Bruno Haible  <bruno@clisp.org>
7317
7318         ttyname_r: Add missing declaration on HP-UX 11.
7319         * lib/unistd.in.h (ttyname_r): Test HAVE_DECL_TTYNAME_R instead of
7320         HAVE_TTYNAME_R.
7321         * m4/ttyname_r.m4 (gl_FUNC_TTYNAME_R): Test whether ttyname_r is
7322         declared. Set HAVE_TTYNAME_R always.
7323         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize
7324         HAVE_DECL_TTYNAME_R, not HAVE_TTYNAME_R.
7325         * modules/unistd (Makefile.am): Substitute HAVE_DECL_TTYNAME_R, not
7326         HAVE_TTYNAME_R.
7327         * doc/posix-functions/ttyname_r.texi: Document the HP-UX 11 problem.
7328
7329 2010-12-20  Bruno Haible  <bruno@clisp.org>
7330
7331         getlogin, getlogin_r: Document HP-UX 11.11 bugs.
7332         * doc/posix-functions/getlogin.texi: Document HP-UX 11.11 bug.
7333         * doc/posix-functions/getlogin_r.texi: Likewise.
7334         * tests/test-getlogin.c: Include <errno.h>.
7335         (main): Avoid test failure on HP-UX 11.11.
7336         * tests/test-getlogin_r.c (main): Likewise.
7337
7338 2010-12-20  Bruno Haible  <bruno@clisp.org>
7339
7340         getlogin_r: Add missing declaration on HP-UX 11.
7341         * m4/getlogin_r.m4 (gl_FUNC_GETLOGIN_R): Test whether getlogin_r is
7342         declared also when it exists as a function.
7343         * doc/posix-functions/getlogin_r.texi: Document this workaround.
7344
7345 2010-12-20  Bruno Haible  <bruno@clisp.org>
7346
7347         wcsrtombs: Don't confuse mbstate_t with rpl_mbstate_t.
7348         * lib/wcsrtombs.c: If gnulib overrides mbstate_t, define wcsrtombs
7349         through wcrtomb.
7350
7351 2010-12-19  Paul Eggert  <eggert@cs.ucla.edu>
7352
7353         ftoastr: fix comment
7354         * lib/ftoastr.h: Fix typo in comment.  Noted by Ben Pfaff in
7355         <http://lists.gnu.org/archive/html/bug-gnulib/2010-12/msg00130.html>.
7356
7357 2010-12-19  Bruno Haible  <bruno@clisp.org>
7358
7359         isnan: Ensure it is a macro.
7360         * lib/math.in.h (isnan): Define as a macro if not already a macro.
7361         * doc/posix-functions/isnan.texi: Mention problem on IRIX, OSF/1,
7362         Solaris.
7363
7364 2010-12-19  Bruno Haible  <bruno@clisp.org>
7365
7366         ldexpl test: Fix link error on OSF/1 5.1.
7367         * modules/ldexpl-tests (Makefile.am): Define test_ldexpl_LDADD.
7368
7369 2010-12-19  Bruno Haible  <bruno@clisp.org>
7370
7371         wctype: Make it work in C++ mode on OSF/1 5.1.
7372         * lib/wctype.in.h (iswblank): Declare but not define here.
7373         * lib/iswblank.c: New file, extracted from lib/wctype.in.h.
7374         * m4/wctype_h.m4 (gl_WCTYPE_H): Arrange to compile it if needed.
7375         * modules/wctype (Files): Add lib/iswblank.c.
7376
7377 2010-12-19  Bruno Haible  <bruno@clisp.org>
7378
7379         signal: Document problem with type of SIGRTMIN, SIGRTMAX on OSF/1 5.1.
7380         * doc/posix-headers/signal.texi: Document OSF/1 5.1 problem.
7381         * lib/strsignal.c (strsignal): Cast SIGRTMIN to 'int'.
7382
7383 2010-12-19  Bruno Haible  <bruno@clisp.org>
7384
7385         sys_socket: Use POSIX compatible declarations on OSF/1 5.1.
7386         * m4/sys_socket_h.m4 (gl_HEADER_SYS_SOCKET): On OSF/1, define
7387         _POSIX_PII_SOCKET.
7388         * doc/posix-functions/recv.texi: Document the OSF/1 problem.
7389         * doc/posix-functions/recvfrom.texi: Likewise.
7390         * doc/posix-functions/send.texi: Likewise.
7391         * doc/posix-functions/sendto.texi: Likewise.
7392
7393 2010-12-19  Bruno Haible  <bruno@clisp.org>
7394
7395         tcgetsid: Add missing declaration on OSF/1 5.1.
7396         * lib/termios.in.h (tcgetsid): Test HAVE_DECL_TCGETSID instead of
7397         HAVE_TCGETSID.
7398         * m4/tcgetsid.m4 (gl_FUNC_TCGETSID): Test whether tcgetsid is declared.
7399         Don't set HAVE_TCGETSID.
7400         * m4/termios_h.m4 (gl_TERMIOS_H_DEFAULTS): Initialize
7401         HAVE_DECL_TCGETSID, not HAVE_TCGETSID.
7402         * modules/termios (Makefile.am): Substitute HAVE_DECL_TCGETSID, not
7403         HAVE_TCGETSID.
7404         * doc/posix-functions/tcgetsid.texi: Mention the OSF/1 5.1 problem.
7405
7406 2010-12-19  Bruno Haible  <bruno@clisp.org>
7407
7408         stdio: Fix problem with popen() declaration on OSF/1 5.1.
7409         * lib/stdio.in.h: During the include_next statement, let recursive
7410         includes of this file include only the system header file.
7411
7412 2010-12-19  Bruno Haible  <bruno@clisp.org>
7413
7414         iconv_open: Fix regression from 2010-12-04.
7415         * m4/iconv_open.m4 (gl_FUNC_ICONV_OPEN_UTF): Fix typo.
7416         Reported by Noah Lavine <noah.b.lavine@gmail.com>.
7417
7418 2010-12-19  Bruno Haible  <bruno@clisp.org>
7419
7420         stdbool test: Avoid a gcc warning.
7421         * tests/test-stdbool.c (main): Fail if e1 is false.
7422         Reported by Jim Meyering.
7423
7424 2010-12-19  Jim Meyering  <meyering@redhat.com>
7425
7426         setenv: restore to working order
7427         $HAVE_SETENV is used in gl_FUNC_SETENV, yet its definitions were
7428         mistakenly removed.
7429         * m4/setenv.m4 (gl_FUNC_SETENV_SEPARATE): Restore code to set
7430         HAVE_SETENV.
7431         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Restore code to initialize
7432         HAVE_SETENV.
7433
7434 2010-12-19  Bruno Haible  <bruno@clisp.org>
7435
7436         Document some different function declarations on OSF/1 5.1.
7437         * doc/posix-functions/gai_strerror.texi: Mention different declaration.
7438         * doc/posix-functions/inet_ntop.texi: Likewise.
7439         * doc/posix-functions/gethostname.texi: Likewise.
7440         * lib/unistd.in.h (gethostname): Update comment.
7441
7442 2010-12-19  Bruno Haible  <bruno@clisp.org>
7443
7444         doc: Mention vasprintf-posix module.
7445         * doc/glibc-functions/asprintf.texi: Mention the workarounds present in
7446         the 'vasprintf-posix' module.
7447         * doc/glibc-functions/vasprintf.texi: Likewise.
7448
7449 2010-12-19  Bruno Haible  <bruno@clisp.org>
7450
7451         unsetenv: Add missing declaration on OSF/1 5.1.
7452         * lib/stdlib.in.h (setenv): Test HAVE_DECL_UNSETENV, not HAVE_UNSETENV.
7453         * m4/setenv.m4 (gl_FUNC_UNSETENV): Test whether unsetenv is declared.
7454         Don't set HAVE_UNSETENV. In the test program, set _BSD.
7455         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize HAVE_DECL_UNSETENV,
7456         not HAVE_UNSETENV.
7457         * modules/stdlib (Makefile.am): Substitute HAVE_DECL_UNSETENV, not
7458         HAVE_UNSETENV.
7459         * doc/posix-functions/unsetenv.texi: Mention the OSF/1 5.1 problem.
7460
7461 2010-12-19  Bruno Haible  <bruno@clisp.org>
7462
7463         setenv: Add missing declaration on OSF/1 5.1.
7464         * lib/stdlib.in.h (setenv): Test HAVE_DECL_SETENV, not HAVE_SETENV.
7465         * m4/setenv.m4 (gl_FUNC_SETENV_SEPARATE): Test whether setenv is
7466         declared. Don't set HAVE_SETENV.
7467         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize HAVE_DECL_SETENV,
7468         not HAVE_SETENV.
7469         * modules/stdlib (Makefile.am): Substitute HAVE_DECL_SETENV, not
7470         HAVE_SETENV.
7471         * doc/posix-functions/setenv.texi: Mention the OSF/1 5.1 problem.
7472
7473 2010-12-19  Bruno Haible  <bruno@clisp.org>
7474
7475         nl_langinfo tests: Avoid gcc warning.
7476         * tests/test-nl_langinfo.c: Don't enable the GCC pragma for GCC 4.2.
7477
7478 2010-12-19  Bruno Haible  <bruno@clisp.org>
7479
7480         mknod: Avoid error in C++ mode on OSF/1 with GCC.
7481         * lib/sys_stat.in.h (mknod): Use _GL_CXXALIAS_SYS_CAST instead of
7482         _GL_CXXALIAS_SYS.
7483
7484 2010-12-19  Bruno Haible  <bruno@clisp.org>
7485
7486         stdbool: Relax test.
7487         * tests/test-stdbool.c (e): Don't require that casts from a variable's
7488         address to 'bool' work in static initializer, for compilers other than
7489         GCC.
7490
7491 2010-12-19  Bruno Haible  <bruno@clisp.org>
7492
7493         ftello: Add missing declaration on OSF/1 5.1.
7494         * lib/stdio.in.h (ftello): Test HAVE_DECL_FTELLO, not HAVE_FTELLO.
7495         * m4/ftello.m4 (gl_FUNC_FTELLO): Test whether ftello is declared.
7496         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Initialize HAVE_DECL_FTELLO.
7497         * modules/stdio (Makefile.am): Substitute HAVE_DECL_FTELLO.
7498         * doc/posix-functions/ftello.texi: Mention the OSF/1 5.1 problem.
7499
7500 2010-12-19  Bruno Haible  <bruno@clisp.org>
7501
7502         fseeko: Add missing declaration on OSF/1 5.1.
7503         * lib/stdio.in.h (fseeko): Test HAVE_DECL_FSEEKO, not HAVE_FSEEKO.
7504         * m4/fseeko.m4 (gl_FUNC_FSEEKO): Test whether fseeko is declared.
7505         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Initialize HAVE_DECL_FSEEKO.
7506         * modules/stdio (Makefile.am): Substitute HAVE_DECL_FSEEKO.
7507         * doc/posix-functions/fseeko.texi: Mention the OSF/1 5.1 problem.
7508
7509 2010-12-19  Bruno Haible  <bruno@clisp.org>
7510
7511         fchdir: Add missing declaration on OSF/1 5.1.
7512         * lib/unistd.in.h (fchdir): Provide declaration if systems lacks it.
7513         * m4/fchdir.m4 (gl_FUNC_FCHDIR): Check whether fchdir is declared.
7514         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize HAVE_DECL_FCHDIR.
7515         * modules/unistd (Makefile.am): Substitute HAVE_DECL_FCHDIR.
7516         * doc/posix-functions/fchdir.texi: Mention the OSF/1 5.1 problem.
7517
7518 2010-12-19  Bruno Haible  <bruno@clisp.org>
7519
7520         relocatable-prog-wrapper: Separate from relocatable-prog.
7521         * modules/relocatable-prog (Makefile.am): Define uninstall-hook and
7522         uninstall-relocwrapper rule here.
7523         * modules/relocatable-prog-wrapper (Makefile.am): ... not here.
7524         Reported by Ian Beckwith <ianb@erislabs.net>.
7525
7526 2010-12-19  Bruno Haible  <bruno@clisp.org>
7527
7528         unistr/u8-mbsnlen: Add missing dependency.
7529         * modules/unistr/u8-mbsnlen (Depends-on): Add unistr/u8-mbtouc.
7530         Reported by Ian Beckwith <ianb@erislabs.net>.
7531
7532 2010-12-19  Bruno Haible  <bruno@clisp.org>
7533
7534         iconv: Make it possible again to use this module without 'iconv-h'.
7535         * modules/iconv (configure.ac): Don't invoke gl_ICONV_MODULE_INDICATOR
7536         if it is not defined.
7537         Reported by Ian Beckwith <ianb@erislabs.net>.
7538
7539 2010-12-18  Paul Eggert  <eggert@cs.ucla.edu>
7540
7541         acl: port to Solaris 8 when copying from tmpfs to ufs
7542         * lib/copy-acl.c (qcopy_acl): Also allow EINVAL as an ignorable
7543         error number.  Problem observed on Solaris 8 with latest
7544         coreutils, with "mv A B", where A is on a tmpfs file system and B
7545         is on a ufs file system.  This caused coreutils' mv/part-symlink
7546         test to fail.
7547
7548         tests: set fail=0 at start
7549         * tests/init.sh (setup_): Move fail=0 initialization here ...
7550         (mktempd_): ... from here, so that tests can rely on fail being
7551         set to 0 initially.  This fixes a problem in coreutils; see:
7552         http://lists.gnu.org/archive/html/coreutils/2010-12/msg00083.html
7553
7554 2010-12-18  Bruno Haible  <bruno@clisp.org>
7555
7556         memmem-simple: Stylistic changes.
7557         * m4/memmem.m4 (gl_FUNC_MEMMEM_SIMPLE): Avoid possible gcc warning.
7558         Fix preprocessor directive indentation.
7559
7560 2010-12-15  Pádraig Brady <P@draigBrady.com>
7561
7562         memmem, memmem-simple: reorganize and expand empty needle check
7563         * m4/memmem.m4 (gl_FUNC_MEMMEM_SIMPLE, gl_FUNC_MEMMEM): Move all
7564         functional checks to memmem-simple so that one has a fully functional
7565         memmem by using just this module.
7566         Restrict the performance only check to the memmem module.
7567         Also expand the empty needle check to ensure the correct
7568         pointer is returned, not just a non NULL pointer.
7569         * doc/glibc-functions/memmem.texi: Rearrange the portability
7570         documentation to correlate with the rearranged checks.
7571         Clarify exactly how the memmem and memmem-simple modules
7572         relate to each other.
7573
7574 2010-12-15  Pádraig Brady <P@draigBrady.com>
7575             Bruno Haible  <bruno@clisp.org>
7576
7577         Improve cross-compilation guesses for uClibc.
7578         * m4/memmem.m4 (gl_FUNC_MEMMEM_SIMPLE): When cross-compiling, assume
7579         that uClibc does not have the glibc bug.
7580         * m4/strcasestr.m4 (gl_FUNC_STRCASESTR_SIMPLE): Likewise.
7581         * m4/strstr.m4 (gl_FUNC_STRSTR_SIMPLE): Likewise.
7582
7583 2010-12-14  Eric Blake  <eblake@redhat.com>
7584
7585         configmake: provide fallbacks for oldest supported autotools
7586         * m4/configmake.m4: New file.
7587         * modules/configmake (Files): Ship it.
7588         (configure.ac): Use it to guarantee fallbacks.
7589
7590 2010-12-13  Pádraig Brady <P@draigBrady.com>
7591
7592         read-file: Improve handling of large files
7593         * lib/read-file.c (fread_file): Minimize realloc()s
7594         for regular files, and better manage sizes around SIZE_MAX.
7595
7596 2010-12-13  Eric Blake  <eblake@redhat.com>
7597
7598         cloexec, fcntl: relax license
7599         * modules/cloexec (License): Change from LGPLv3+ to LGPLv2+, with
7600         consent from all contributors.
7601         * modules/fcntl (License): Likewise.
7602
7603 2010-12-10  Bruno Haible  <bruno@clisp.org>
7604
7605         Tests for module 'pipe-posix'.
7606         * modules/pipe-posix-tests: New file.
7607         * tests/test-pipe.c: New file, based on tests/test-pipe2.c.
7608
7609 2010-12-10  Bruno Haible  <bruno@clisp.org>
7610
7611         pipe-posix: Make it work in C++ mode.
7612         * lib/unistd.in.h: Don't include <io.h>, <fcntl.h> for pipe.
7613         (pipe): Use common idiom, not a macro definition.
7614         * lib/pipe.c: New file.
7615         * m4/pipe.m4: New file.
7616         * modules/pipe-posix (Description): Enhance.
7617         (Files): Add lib/pipe.c, m4/pipe.m4.
7618         (configure.ac): Invoke gl_FUNC_PIPE.
7619         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize HAVE_PIPE.
7620         * modules/unistd (Makefile.am): Substitute HAVE_PIPE.
7621         * tests/test-unistd-c++.cc: Check the signature of pipe.
7622
7623 2010-12-10  Bruno Haible  <bruno@clisp.org>
7624
7625         Rename module 'pipe' to 'spawn-pipe'.
7626         * modules/spawn-pipe: New file, renamed from modules/pipe.
7627         (Files, configure.ac, Makefile.am): Update.
7628         (Include): Mention "spawn-pipe.h" instead of "pipe.h".
7629         * modules/pipe: Reduce to an obsolete indirection to 'spawn-pipe'.
7630         * lib/spawn-pipe.h: New file, renamed from lib/pipe.h.
7631         * lib/spawn-pipe.c: New file, renamed from lib/pipe.c. Include
7632         "spawn-pipe.h" instead of "pipe.h".
7633         * m4/spawn-pipe.m4: New file, renamed from m4/pipe.m4. Rename gl_PIPE
7634         to gl_SPAWN_PIPE.
7635         * modules/spawn-pipe-tests: New file, renamed from modules/pipe-tests.
7636         (Files, Makefile.am): Update.
7637         * tests/test-spawn-pipe.sh: New file, renamed from tests/test-pipe.sh.
7638         Update.
7639         * tests/test-spawn-pipe.c: New file, renamed from tests/test-pipe.c.
7640         Include "spawn-pipe.h" instead of "pipe.h".
7641         * lib/csharpcomp.c: Include "spawn-pipe.h" instead of "pipe.h".
7642         * lib/javacomp.c: Likewise.
7643         * lib/javaversion.c: Likewise.
7644         * lib/pipe-filter-gi.c: Likewise.
7645         * lib/pipe-filter-ii.c: Likewise.
7646         * modules/csharpcomp (Depends-on): Add 'spawn-pipe', remove 'pipe'.
7647         * modules/javacomp (Depends-on): Likewise.
7648         * modules/javaversion (Depends-on): Likewise.
7649         * modules/pipe-filter-gi (Depends-on): Likewise.
7650         * modules/pipe-filter-ii (Depends-on): Likewise.
7651         * MODULES.html.sh (Executing programs): Update.
7652         * NEWS: Mention the change.
7653
7654 2010-12-10  Eric Blake  <eblake@redhat.com>
7655
7656         pipe-posix: new module
7657         * modules/pipe-posix: New file.
7658         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Set default.
7659         (gl_UNISTD_H): Check for declaration.
7660         * modules/unistd (Makefile.am): Substitute it.
7661         * lib/unistd.in.h (pipe): Provide it for mingw.
7662         * doc/posix-functions/pipe.texi (pipe): Update documentation.
7663         * MODULES.html.sh (File descriptor based Input/Output): Likewise.
7664
7665 2010-12-07  Bruno Haible  <bruno@clisp.org>
7666
7667         unistr/u8-strcmp: Avoid collision with libc function on Solaris 11.
7668         * lib/unistr.in.h (u8_strcmp) [__sun]: Declare with real name
7669         u8_strcmp_gnu.
7670         * modules/unistr/u8-strcmp (configure.ac): Bump version number.
7671
7672 2010-12-06  Bruno Haible  <bruno@clisp.org>
7673
7674         Update internal documentation.
7675         * m4/README: Document new idioms for AC_RUN_IFELSE invocations.
7676
7677 2010-12-04  Bruno Haible  <bruno@clisp.org>
7678
7679         Put more information about failed tests into the test return codes.
7680         * m4/c-stack.m4 (AC_SYS_XSI_STACK_OVERFLOW_HEURISTIC): Change test
7681         program so that it returns an enumerated value (0, 1, 2, 3, 4, ...).
7682         * m4/d-ino.m4 (gl_CHECK_TYPE_STRUCT_DIRENT_D_INO): Likewise.
7683         * m4/getcwd-path-max.m4 (gl_FUNC_GETCWD_PATH_MAX): Likewise.
7684         * m4/getcwd.m4 (gl_FUNC_GETCWD_NULL): Likewise.
7685         * m4/getdelim.m4 (gl_FUNC_GETDELIM): Likewise.
7686         * m4/getline.m4 (gl_FUNC_GETLINE): Likewise.
7687         * m4/intdiv0.m4 (gt_INTDIV0): Likewise.
7688         * m4/isapipe.m4 (gl_PREREQ_ISAPIPE): Likewise.
7689         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP): Likewise.
7690         * m4/posix_spawn.m4 (gl_POSIX_SPAWN_WORKS): Likewise.
7691         * m4/putenv.m4 (gl_FUNC_PUTENV): Likewise.
7692         * m4/sleep.m4 (gl_FUNC_SLEEP): Likewise.
7693         * m4/stdint.m4 (gl_STDINT_H): Likewise.
7694         * m4/calloc.m4 (_AC_FUNC_CALLOC_IF): Change test program so that it
7695         returns a bit mask.
7696         * m4/canonicalize.m4 (gl_FUNC_REALPATH_WORKS): Likewise.
7697         * m4/chown.m4 (gl_FUNC_CHOWN_FOLLOWS_SYMLINK): Likewise.
7698         * m4/dup2.m4 (gl_FUNC_DUP2): Likewise.
7699         * m4/fcntl-o.m4 (gl_FCNTL_O_FLAGS): Likewise.
7700         * m4/fnmatch.m4 (gl_FUNC_FNMATCH_POSIX): Likewise.
7701         * m4/frexp.m4 (gl_FUNC_FREXP_WORKS): Likewise.
7702         * m4/frexpl.m4 (gl_FUNC_FREXPL_WORKS): Likewise.
7703         * m4/getopt.m4 (gl_GETOPT_CHECK_HEADERS): Likewise.
7704         * m4/iconv.m4 (AM_ICONV_LINK): Likewise.
7705         * m4/iconv_open.m4 (gl_FUNC_ICONV_OPEN_UTF): Likewise.
7706         * m4/isfinite.m4 (gl_ISFINITEL_WORKS): Likewise.
7707         * m4/isnanf.m4 (gl_ISNANF_WORKS): Likewise.
7708         * m4/isnanl.m4 (gl_FUNC_ISNANL_WORKS): Likewise.
7709         * m4/ldexpl.m4 (gl_FUNC_LDEXPL_WORKS): Likewise.
7710         * m4/link.m4 (gl_FUNC_LINK): Likewise.
7711         * m4/linkat.m4 (gl_FUNC_LINKAT): Likewise.
7712         * m4/mbrlen.m4 (gl_MBRLEN_RETVAL): Likewise.
7713         * m4/mbrtowc.m4 (gl_MBRTOWC_RETVAL): Likewise.
7714         * m4/mbsrtowcs.m4 (gl_MBSRTOWCS_WORKS): Likewise.
7715         * m4/memchr.m4 (gl_FUNC_MEMCHR): Likewise.
7716         * m4/memmem.m4 (gl_FUNC_MEMMEM): Likewise.
7717         * m4/mkfifo.m4 (gl_FUNC_MKFIFO): Likewise.
7718         * m4/mkstemp.m4 (gl_FUNC_MKSTEMP): Likewise.
7719         * m4/mktime.m4 (AC_FUNC_MKTIME): Likewise.
7720         * m4/open.m4 (gl_FUNC_OPEN): Likewise.
7721         * m4/poll.m4 (gl_FUNC_POLL): Likewise.
7722         * m4/popen.m4 (gl_FUNC_POPEN): Likewise.
7723         * m4/printf.m4 (gl_PRINTF_SIZES_C99, gl_PRINTF_LONG_DOUBLE,
7724         gl_PRINTF_INFINITE, gl_PRINTF_INFINITE_LONG_DOUBLE,
7725         gl_PRINTF_DIRECTIVE_A, gl_PRINTF_DIRECTIVE_F, gl_PRINTF_DIRECTIVE_LS,
7726         gl_PRINTF_PRECISION): Likewise.
7727         * m4/regex.m4 (gl_REGEX): Likewise.
7728         * m4/rename.m4 (gl_FUNC_RENAME): Likewise.
7729         * m4/rmdir.m4 (gl_FUNC_RMDIR): Likewise.
7730         * m4/setenv.m4 (gl_FUNC_SETENV_SEPARATE): Likewise.
7731         * m4/stat.m4 (gl_FUNC_STAT): Likewise.
7732         * m4/stpncpy.m4 (gl_FUNC_STPNCPY): Likewise.
7733         * m4/strcasestr.m4 (gl_FUNC_STRCASESTR): Likewise.
7734         * m4/strerror_r.m4 (gl_FUNC_STRERROR_R): Likewise.
7735         * m4/strsignal.m4 (gl_FUNC_STRSIGNAL): Likewise.
7736         * m4/strstr.m4 (gl_FUNC_STRSTR): Likewise.
7737         * m4/strtod.m4 (gl_FUNC_STRTOD): Likewise.
7738         * m4/symlink.m4 (gl_FUNC_SYMLINK): Likewise.
7739         * m4/tsearch.m4 (gl_FUNC_TSEARCH): Likewise.
7740         * m4/ttyname_r.m4 (gl_FUNC_TTYNAME_R): Likewise.
7741         * m4/unlink-busy.m4 (gl_FUNC_UNLINK_BUSY_TEXT): Likewise.
7742         * m4/unlink.m4 (gl_FUNC_UNLINK): Likewise.
7743         * m4/utimensat.m4 (gl_FUNC_UTIMENSAT): Likewise.
7744         * m4/utimes.m4 (gl_FUNC_UTIMES): Likewise.
7745         * m4/wcrtomb.m4 (gl_FUNC_WCRTOMB): Likewise.
7746         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Likewise.
7747         * m4/signbit.m4 (gl_SIGNBIT_TEST_PROGRAM): Likewise.
7748         (gl_FLOATTYPE_SIGN_LOCATION): Change test program so that it returns an
7749         enumerated value.
7750         * m4/acl.m4 (gl_ACL_GET_FILE): Use "if ... return 1; return 0;" style.
7751
7752 2010-12-04  Bruno Haible  <bruno@clisp.org>
7753
7754         Update for Solaris 11 2010-11.
7755         * doc/{glibc,posix}-{functions,headers}: Add info about Solaris 11
7756         Express, released in November 2010.
7757
7758 2010-12-04  Bruno Haible  <bruno@clisp.org>
7759
7760         nproc: Relax license.
7761         * modules/nproc (License): Change to LGPL, with consent by Glen Lenker
7762         and Paul Eggert.
7763         Requested by Ludovic Courtès <ludo@gnu.org>.
7764
7765 2010-12-01  Paul Eggert  <eggert@cs.ucla.edu>
7766
7767         utimecmp: fine-grained src to nearby coarse-grained dest
7768
7769         * lib/utimecmp.c (utimecmp): When UTIMECMP_TRUNCATE_SOURCE is set,
7770         and the source is on a file system with higher-resolution time
7771         stamps, than the destination, and _PC_TIMESTAMP_RESOLUTION does
7772         not work, and the time stamps are close together, the algorithm to
7773         determine the exact resolution from the read-back mtime was buggy:
7774         it had a "!=" where it should have had an "==".  This bug has been
7775         in the code ever since it was introduced to gnulib.
7776         Problem reported by Dan Jacobson in
7777         <http://debbugs.gnu.org/cgi/bugreport.cgi?bug=7529>.
7778
7779 2010-11-30  Bruno Haible  <bruno@clisp.org>
7780
7781         strerror_r-posix: Fix autoconf test.
7782         * m4/strerror_r.m4 (gl_FUNC_STRERROR_R): Fix typo.
7783
7784 2010-11-28  Bruno Haible  <bruno@clisp.org>
7785             Paul Eggert  <eggert@cs.ucla.edu>
7786
7787         Tests for module 'getdomainname'.
7788         * modules/getdomainname-tests: New file.
7789         * tests/test-getdomainname.c: New file, based on
7790         tests/test-gethostname.c.
7791
7792 2010-11-28  Bruno Haible  <bruno@clisp.org>
7793             Paul Eggert  <eggert@cs.ucla.edu>
7794
7795         getdomainname: Use the system function when possible.
7796         * lib/unistd.in.h: Include <netdb.h>, for getdomainname's declaration.
7797         (getdomainname): Replace if needed. Provide the declaration if it is
7798         missing. Don't use _GL_CXXALIAS_SYS_CAST.
7799         * lib/getdomainname.c: Include <limits.h> and <sys/systeminfo.h>.
7800         (getdomainname): When the system has getdomainname, call the system
7801         function. When sysinfo (SI_SRPC_DOMAIN, ...) is possible, use that.
7802         * m4/getdomainname.m4 (gl_FUNC_GETDOMAINNAME): Require
7803         gl_HEADER_SYS_SOCKET and gl_HEADER_NETDB. Test whether the function is
7804         found in libnsl. Look for the declaration also in <netdb.h>. Replace
7805         the function if its second argument is of type 'int' or if it is found
7806         in libnsl.
7807         (gl_PREREQ_GETDOMAINNAME): Define HAVE_GETDOMAINNAME. Check for
7808         <sys/systeminfo.h> and sysinfo().
7809         * modules/getdomainname (Depends-on): Add netdb, sys_socket.
7810         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize
7811         HAVE_DECL_GETDOMAINNAME and REPLACE_GETDOMAINNAME instead of
7812         HAVE_GETDOMAINNAME.
7813         * modules/unistd (Makefile.am): Substitute HAVE_DECL_GETDOMAINNAME and
7814         REPLACE_GETDOMAINNAME instead of HAVE_GETDOMAINNAME.
7815         * doc/glibc-functions/getdomainname.texi: Document the problems with
7816         the getdomainname declaration.
7817
7818 2010-11-28  Bruno Haible  <bruno@clisp.org>
7819
7820         sys_socket: Ensure ss_family field on AIX.
7821         * lib/sys_socket.in.h (ss_family): New macro definition.
7822         * m4/sys_socket_h.m4 (gl_HEADER_SYS_SOCKET): Set
7823         HAVE_STRUCT_SOCKADDR_STORAGE_SS_FAMILY. Set SYS_SOCKET_H if necessary.
7824         (gl_SYS_SOCKET_H_DEFAULTS): Initialize
7825         HAVE_STRUCT_SOCKADDR_STORAGE_SS_FAMILY.
7826         * modules/sys_socket (Makefile.am): Substitute
7827         HAVE_STRUCT_SOCKADDR_STORAGE_SS_FAMILY.
7828         * doc/posix-headers/sys_socket.texi: Mention the AIX bug.
7829
7830 2010-11-27  Bruno Haible  <bruno@clisp.org>
7831
7832         readline: Improve configure output.
7833         * m4/readline.m4 (gl_FUNC_READLINE): Make the
7834         "checking for readline..." result understandable.
7835
7836 2010-11-27  Bruno Haible  <bruno@clisp.org>
7837
7838         *printf-posix: Detect a bug on Solaris 10/x86.
7839         * m4/printf.m4 (gl_PRINTF_PRECISION): Detect crash with large precision
7840         for floating-point output.
7841         * tests/test-vasnprintf-posix.c (test_function): Test precision with %f
7842         directive.
7843         * tests/test-snprintf-posix.h (test_function): Likewise.
7844         * tests/test-sprintf-posix.h (test_function): Likewise.
7845         * tests/test-vasprintf-posix.c (test_function): Likewise.
7846         * doc/posix-functions/fprintf.texi: Mention Solaris/x86 bug.
7847         * doc/posix-functions/printf.texi: Likewise.
7848         * doc/posix-functions/snprintf.texi: Likewise.
7849         * doc/posix-functions/sprintf.texi: Likewise.
7850         * doc/posix-functions/vfprintf.texi: Likewise.
7851         * doc/posix-functions/vprintf.texi: Likewise.
7852         * doc/posix-functions/vsnprintf.texi: Likewise.
7853         * doc/posix-functions/vsprintf.texi: Likewise.
7854         * doc/glibc-functions/obstack_printf.texi: Likewise.
7855         * doc/glibc-functions/obstack_vprintf.texi: Likewise.
7856
7857 2010-11-27  Bruno Haible  <bruno@clisp.org>
7858
7859         Fix link error when module libunistring-optional is in use.
7860         * modules/striconveh-tests (Makefile.am): Link with $(LIBUNISTRING).
7861         * modules/striconveha-tests (Makefile.am): Likewise.
7862
7863 2010-11-27  Bruno Haible  <bruno@clisp.org>
7864
7865         regex: Mention link dependencies.
7866         * modules/regex (Link): New section.
7867         * modules/rpmatch (Link): Likewise.
7868         * modules/regex-quote-tests (Makefile.am): Link with $(LIBINTL).
7869
7870 2010-11-27  Bruno Haible  <bruno@clisp.org>
7871
7872         ftoastr: Fix compilation error on Solaris.
7873         * lib/ftoastr.c: Include <config.h>.
7874
7875 2010-11-27  Bruno Haible  <bruno@clisp.org>
7876
7877         getloadavg: Update documentation.
7878         * doc/glibc-functions/getloadavg.texi: Mention the Solaris problem.
7879
7880 2010-11-27  Bruno Haible  <bruno@clisp.org>
7881
7882         sys_socket: Fix test whether the functions are declared.
7883         * m4/sys_socket_h.m4 (gl_HEADER_SYS_SOCKET): Include <sys/socket.h>,
7884         not <sys/select.h>.
7885
7886 2010-11-27  Bruno Haible  <bruno@clisp.org>
7887
7888         getpass: Make sure to get system declaration on some platforms.
7889         * m4/getpass.m4 (gl_FUNC_GETPASS, gl_FUNC_GETPASS_GNU): Require
7890         gl_USE_SYSTEM_EXTENSIONS.
7891         * modules/getpass (Depends-on): Add extensions.
7892
7893 2010-11-26  Bruno Haible  <bruno@clisp.org>
7894
7895         iconv-h: Fix test-iconv-h-c++ failure on Solaris 11 2010-11.
7896         * lib/iconv.in.h (iconv_open, iconv, iconv_close): Define only if the
7897         'iconv' module is present.
7898         (ICONV_CONST): New macro.
7899         * m4/iconv_h.m4 (gl_ICONV_H_DEFAULTS): Initialize GNULIB_ICONV and
7900         ICONV_CONST.
7901         * m4/iconv.m4 (AM_ICONV): If the gnulib module 'iconv-h' is present,
7902         set ICONV_CONST.
7903         * m4/iconv_open.m4 (gl_FUNC_ICONV_OPEN_UTF): Don't set ICONV_CONST
7904         here.
7905         * modules/iconv (configure.ac): Invoke gl_ICONV_MODULE_INDICATOR.
7906         * modules/iconv-h (Makefile.am): Substitute GNULIB_ICONV.
7907         * tests/test-iconv-h.c (ICONV_CONST): Don't define here.
7908         * tests/test-iconv-h-c++.cc (ICONV_CONST): Don't define here.
7909         (iconv_open, iconv, iconv_close): Test only if the 'iconv' module is
7910         present.
7911
7912 2010-11-25  Paul Eggert  <eggert@cs.ucla.edu>
7913
7914         ftoastr: comment fix
7915         * lib/ftoastr.c: "little" -> "little or no" in comment
7916
7917 2010-11-24  Paul Eggert  <eggert@cs.ucla.edu>
7918
7919         stdint: port to GCC 4.3 + OSX + Octave
7920         On this platform, stdint.h is buggy and defines int64_t to long
7921         long int.  The replacement defined it to long int, causing
7922         problems with C++ style name mangling.  Instead, trust the system
7923         definition if INT64_MAX is defined, and likewise for the unsigned
7924         variant.   Problem reported by Jarno Rajahalme in
7925         <http://lists.gnu.org/archive/html/bug-gnulib/2010-04/msg00143.html>.
7926         * lib/stdint.in.h (GL_INT64_T): Define if INT64_MAX is defined,
7927         and don't mess with int64_t and INT64_MAX in this case.
7928         (GL_UINT64_T): Likewise for UINT64_MAX and uint64_t.
7929
7930 2010-11-24  Bruno Haible  <bruno@clisp.org>
7931
7932         doc: Corrections regarding MacOS X 10.4 and 10.5.
7933         * doc/{glibc,posix,pastposix}-functions/*.texi: Update info about
7934         MacOS X.
7935         Reported by Simon Josefsson.
7936
7937 2010-11-22  Ben Pfaff  <blp@cs.stanford.edu>
7938
7939         Uninstall ".bin" files installed by relocwrapper.
7940         * modules/relocatable-prog-wrapper (uninstall-relocwrapper):
7941         Recursively run "make uninstall" with ".bin" prefixed to EXEEXT,
7942         unless it is already there.
7943
7944 2010-11-21  Bruno Haible  <bruno@clisp.org>
7945
7946         Update for NetBSD 5.0.
7947         * m4/printf.m4 (gl_PRINTF_INFINITE_LONG_DOUBLE): Don't guess yes on
7948         NetBSD; the test fails on NetBSD 5.0.
7949         * doc/{glibc,posix,pastposix}-{headers,functions}/*.texi: Update info
7950         about NetBSD.
7951
7952 2010-11-21  Bruno Haible  <bruno@clisp.org>
7953
7954         Update for HP-UX 11.23 and HP-UX 11.31.
7955         * doc/{glibc,posix}-{headers,functions}/*.texi: Update info about
7956         HP-UX.
7957
7958 2010-11-21  Bruno Haible  <bruno@clisp.org>
7959
7960         Update for MacOS X 10.5.
7961         * m4/printf.m4 (gl_PRINTF_INFINITE_LONG_DOUBLE): Don't guess yes on
7962         MacOS X; the test fails on MacOS X 10.5.8.
7963         * doc/{glibc,posix,pastposix}-{headers,functions}/*.texi: Update info
7964         about MacOS X.
7965
7966 2010-11-20  Joel E. Denny  <joeldenny@joeldenny.org>
7967
7968         bootstrap: add bootstrap_sync option.
7969         See discussion at
7970         <http://lists.gnu.org/archive/html/bug-gnulib/2010-10/msg00369.html>,
7971         <http://lists.gnu.org/archive/html/bug-gnulib/2010-11/msg00200.html>.
7972         * build-aux/bootstrap: Accept --bootstrap-sync to update
7973         bootstrap if it is not identical to the local gnulib's
7974         bootstrap.  Accept bootstrap_sync=true in bootstrap.conf to
7975         enable this by default.  Accept --no-bootstrap-sync to disable
7976         it.
7977
7978 2010-11-20  Bruno Haible  <bruno@clisp.org>
7979
7980         Ensure that <features.h> is included before __GLIBC__ is tested.
7981         * lib/printf-parse.h: Include <features.h>.
7982         * m4/vasnprintf.m4 (gl_PREREQ_PRINTF_PARSE): Require gl_FEATURES_H.
7983         Reported by Mike Frysinger <vapier@gentoo.org>.
7984
7985         Ensure that <features.h> is included before __GLIBC__ is tested.
7986         * lib/wchar.in.h: Include <features.h>.
7987         * m4/wchar_h.m4 (gl_WCHAR_H): Require gl_FEATURES_H.
7988         * modules/wchar (Makefile.am): Substitute HAVE_FEATURES_H.
7989         Reported by Mike Frysinger <vapier@gentoo.org>.
7990
7991         Ensure that <features.h> is included before __GLIBC__ is tested.
7992         * lib/arpa_inet.in.h: Include <features.h>.
7993         * m4/arpa_inet_h.m4 (gl_HEADER_ARPA_INET): Require gl_FEATURES_H.
7994         * modules/arpa_inet (Makefile.am): Substitute HAVE_FEATURES_H.
7995         Reported by Mike Frysinger <vapier@gentoo.org>.
7996
7997         Ensure that <features.h> is included before __GLIBC__ is tested.
7998         * build-aux/link-warning.h: Include <features.h>.
7999         * modules/link-warning (configure.ac): Require gl_FEATURES_H.
8000         (Makefile.am): Substitute HAVE_FEATURES_H into link-warning.h.
8001         Reported by Mike Frysinger <vapier@gentoo.org>.
8002
8003         Ensure that <features.h> is included before __GLIBC__ is tested.
8004         * m4/gnulib-common.m4 (gl_FEATURES_H): New macro.
8005         Reported by Mike Frysinger <vapier@gentoo.org>.
8006
8007 2010-11-20  Bruno Haible  <bruno@clisp.org>
8008
8009         memmem: Fix autoconf test.
8010         * m4/memmem.m4 (gl_FUNC_MEMMEM): Test HAVE_DECL_MEMMEM, not HAVE_MEMMEM.
8011
8012 2010-11-20  Bruno Haible  <bruno@clisp.org>
8013
8014         Port to uClibc.
8015         * build-aux/link-warning.h (GL_LINK_WARNING): Treat uClibc like glibc.
8016         * lib/fcntl.in.h: Likewise.
8017         * lib/hard-locale.c (GLIBC_VERSION): Likewise.
8018         * lib/mbrtowc.c (mbrtowc): Likewise.
8019         * lib/relocatable.c (find_shared_library_fullname): Likewise.
8020         * lib/strerror_r.c: Likewise.
8021         * lib/unistr/u8-strnlen.c: Likewise.
8022         * lib/vasnprintf.c (decimal_point_char): Likewise.
8023         * m4/arpa_inet_h.m4 (gl_HEADER_ARPA_INET): Likewise.
8024         * m4/duplocale.m4 (gl_FUNC_DUPLOCALE): Likewise.
8025         * m4/fsusage.m4 (gl_FILE_SYSTEM_USAGE): Likewise.
8026         * m4/glibc21.m4 (gl_GLIBC21): Likewise.
8027         * tests/test-sigaction.c (handler, main): Likewise.
8028         * lib/freading.h: Treat uClibc like a non-glibc platform.
8029         * lib/freading.c: Likewise.
8030         * lib/gettext.h: Likewise.
8031         * lib/localename.c (gl_locale_name_thread_unsafe, HAVE_LOCALE_NULL):
8032         Likewise.
8033         * lib/printf-parse.h (FLAG_LOCALIZED): Likewise.
8034         * lib/printf-parse.c (PRINTF_PARSE): Likewise.
8035         * lib/propername.c (proper_name_utf8): Likewise.
8036         * lib/spawn.in.h: Likewise.
8037         * lib/striconv.c (mem_cd_iconv, str_cd_iconv, str_iconv): Likewise.
8038         * lib/striconveh.c (iconveh_open, iconv_carefully, iconv_carefully_1,
8039         mem_cd_iconveh_internal): Likewise.
8040         * lib/striconveha.c (mem_iconveha, str_iconveha): Likewise.
8041         * lib/string.in.h (memchr, memrchr, rawmemchr, strchrnul, strpbrk,
8042         strstr, strcasestr): Likewise.
8043         * lib/unicodeio.c (unicode_to_mb): Likewise.
8044         * lib/uniconv/u16-conv-from-enc.c (UTF16_NAME): Likewise.
8045         * lib/uniconv/u16-conv-to-enc.c (UTF16_NAME): Likewise.
8046         * lib/uniconv/u16-strconv-to-enc.c (UTF16_NAME): Likewise.
8047         * lib/uniconv/u32-conv-from-enc.c (UTF32_NAME): Likewise.
8048         * lib/uniconv/u32-conv-to-enc.c (UTF32_NAME): Likewise.
8049         * lib/uniconv/u32-strconv-to-enc.c (UTF32_NAME): Likewise.
8050         * lib/unistr/u8-stpncpy.c: Likewise.
8051         * lib/vasnprintf.c (VASNPRINTF): Likewise.
8052         * lib/xmalloc.c (HAVE_GNU_CALLOC): Likewise.
8053         * m4/getdelim.m4 (gl_FUNC_GETDELIM): Likewise.
8054         * m4/getline.m4 (gl_FUNC_GETLINE): Likewise.
8055         * m4/glibc2.m4 (gt_GLIBC2): Likewise.
8056         * m4/iconv_open.m4 (gl_FUNC_ICONV_OPEN): Likewise.
8057         * m4/memmem.m4 (gl_FUNC_MEMMEM_SIMPLE, gl_FUNC_MEMMEM): Likewise.
8058         * m4/printf.m4 (gl_PRINTF_DIRECTIVE_A): Likewise.
8059         * m4/strcasestr.m4 (gl_FUNC_STRCASESTR_SIMPLE, gl_FUNC_STRCASESTR):
8060         Likewise.
8061         * m4/strstr.m4 (gl_FUNC_STRSTR_SIMPLE, gl_FUNC_STRSTR): Likewise.
8062         * m4/strtod.m4 (gl_FUNC_STRTOD): Likewise.
8063         * m4/sys_ioctl_h.m4 (gl_SYS_IOCTL_H): Likewise.
8064         * m4/sys_select_h.m4 (gl_HEADER_SYS_SELECT): Likewise.
8065         * m4/sys_socket_h.m4 (gl_HEADER_SYS_SOCKET): Likewise.
8066         * m4/sys_times_h.m4 (gl_SYS_TIMES_H): Likewise.
8067         * m4/unistd_h.m4 (gl_UNISTD_H): Likewise.
8068         * m4/wchar_h.m4 (gl_WCHAR_H): Likewise.
8069         * tests/test-getopt.h (OPTIND_MIN): Likewise.
8070         * tests/test-striconveha.c (main): Likewise.
8071         * tests/test-vasnprintf-posix.c (test_function): Likewise.
8072         * tests/test-vasnprintf-posix3.c (test_function, main): Likewise.
8073         * doc/posix-functions/getdelim.texi: Mention an uClibc bug.
8074         * doc/posix-functions/getline.texi: Likewise.
8075         Reported by Mike Frysinger <vapier@gentoo.org>.
8076
8077 2010-11-20  Bruno Haible  <bruno@clisp.org>
8078
8079         nproc: Fix condition.
8080         * lib/nproc.c: Test HAVE_PTHREAD_GETAFFINITY_NP, not
8081         HAVE_PTHREAD_AFFINITY_NP.
8082
8083 2010-11-20  Bruno Haible  <bruno@clisp.org>
8084
8085         Fix a comment.
8086         * lib/vasnprintf.c (VASNPRINTF): Fix comment.
8087
8088 2010-11-19  Paul Eggert  <eggert@cs.ucla.edu>
8089
8090         ftoastr: don't assume snprintf
8091         * lib/ftoastr.c (snprintf) [! GNULIB_SNPRINTF_POSIX]:
8092         Implement a subset of snprintf here, by using sprintf safely.
8093         * modules/ftoastr (Depends-on): Remove snprintf.
8094
8095 2010-11-19  Jim Meyering  <meyering@redhat.com>
8096
8097         test-rename.h: fix compilation failure
8098         * tests/test-rename.h (test_rename): Add omitted "}".
8099
8100 2010-11-17  Jim Meyering  <meyering@redhat.com>
8101
8102         maint.mk: add a URL discussing the no-@acronym policy
8103         * top/maint.mk (sc_texinfo_acronym): Add a URL in a comment.
8104
8105 2010-11-18  Paul Eggert  <eggert@cs.ucla.edu>
8106
8107         ftoastr: depend on snprintf, improve comments
8108         * lib/ftoastr.c: Also mention Loitsch's draft.
8109         * lib/ftoastr.h: Require WIDTH to be nonnegative.  This isn't
8110         needed in the current implementation, but it might simplify
8111         speeding up the code later.
8112         * modules/ftoastr: Depend on snprintf; this improves portability.
8113         Suggested by Bruno Haible in the same email.
8114
8115         ftoastr: port to hosts lacking strtof and strtold
8116         Problem reported by Bruno Haible in
8117         <http://lists.gnu.org/archive/html/bug-gnulib/2010-11/msg00242.html>.
8118         * lib/ftoastr.c (STRTOF): Define to strtod if in a pre-C99
8119         environment and strtold (and presumably strtof) are not available.
8120         * modules/ftoastr (Files): Add m4/c-strtod.m4.
8121         (configure.ac): Require gl_C99_STRTOLD.
8122
8123 2010-11-18  Bruno Haible  <bruno@clisp.org>
8124
8125         c-strtold: Avoid link error on AIX 7.
8126         * lib/c-strtod.c: Test also HAVE_STRTOD_L or HAVE_STRTOLD_L.
8127         * m4/c-strtod.m4 (gl_C_STRTOD): Test whether strtod_l exists.
8128         (gl_C_STRTOLD): Test whether strtold_l exists.
8129         Reported by Albert Chin <bug-gnulib@mlists.thewrittenword.com>.
8130
8131 2010-11-17  Paul Eggert  <eggert@cs.ucla.edu>
8132
8133         intprops: new macro INT_BITS_STRLEN_BOUND
8134         * lib/intprops.h (INT_BITS_STRLEN_BOUND): New macro, needed by
8135         ftoastr.h.  This exposes an internal of intprops.h that was formerly
8136         not exposed.  Also, it uses a slightly tighter bound than before;
8137         though this makes no practical difference, we might as well be as
8138         tight as we easily can.
8139
8140         ftoastr: new module, for lossless conversion of floats to short strings
8141         * lib/ftoastr.h, lib/ftoastr.c, lib/dtoastr.c, lib/ldtoastr.c:
8142         * modules/ftoastr: New files.
8143
8144 2010-11-15  Paul Eggert  <eggert@cs.ucla.edu>
8145
8146         bootstrap: port to Solaris sed
8147         * build-aux/bootstrap (get_version): Port to Solaris sed.
8148         See Ralf Wildenhues's note in
8149         <http://lists.gnu.org/archive/html/bug-gnulib/2010-11/msg00156.html>.
8150
8151 2010-11-14  Jim Meyering  <meyering@redhat.com>
8152
8153         maint.mk: rename variable: s/noteworthy/gl_noteworthy_news_/
8154         * top/maint.mk (gl_noteworthy_news_): Rename from "noteworthy"
8155         and move definition closer to sole use.
8156
8157 2010-11-13  Jim Meyering  <meyering@redhat.com>
8158
8159         remove autoconf-2.57 work-around requiring AC_PROG_EGREP and AC_PROG_CPP
8160         Now we require at least autoconf-2.59, which means the work-around
8161         is no longer needed.
8162         * m4/alloca.m4 (gl_FUNC_ALLOCA): Remove work-around.
8163         * m4/dirfd.m4 (gl_FUNC_DIRFD): Likewise.
8164         * m4/mmap-anon.m4 (gl_FUNC_MMAP_ANON): Likewise.
8165         * m4/strtoimax.m4 (gl_FUNC_STRTOIMAX): Likewise.
8166         * m4/strtoumax.m4 (gl_FUNC_STRTOUMAX): Likewise.
8167
8168 2010-11-13  Bruno Haible  <bruno@clisp.org>
8169
8170         rename, renameat: Avoid test failures at NFS mounted locations.
8171         * tests/test-rename.h (dentry_exists, assert_nonexistent): New
8172         functions.
8173         (test_rename): Use assert_nonexistent.
8174         * tests/test-rename.c: Include <dirent.h>.
8175         * tests/test-renameat.c: Likewise.
8176         Reported by Gary V. Vaughan <gary@gnu.org>.
8177
8178         rename, renameat: Document Linux bug with NFS
8179         <http://lists.gnu.org/archive/html/bug-gnulib/2010-11/msg00154.html>.
8180         * doc/posix-functions/rename.texi: Mention the NFS bug on Linux.
8181         * doc/posix-functions/renameat.texi: Likewise.
8182         Suggested by Eric Blake.
8183
8184 2010-11-13  Bruno Haible  <bruno@clisp.org>
8185
8186         rename test: Add comments.
8187         * tests/test-rename.h (test_rename): Add structure and comments.
8188
8189 2010-11-13  Eric Blake  <eblake@redhat.com>
8190
8191         maintainer-makefile: cover a few more files
8192         * top/maint.mk (sc_prohibit_test_double_equal): Also cover shell
8193         scripts generated within C files, for libvirt.
8194
8195 2010-11-13  Bruno Haible  <bruno@clisp.org>
8196
8197         unistr/u8-mbtouc: Improve handling of ill-formed UTF-8 input.
8198         * lib/unistr/u8-mbtouc.c (u8_mbtouc): For an invalid multibyte
8199         character, return the number of bytes that belong together, not always
8200         1.
8201         * lib/unistr/u8-mbtouc-unsafe.c (u8_mbtouc_unsafe): Likewise.
8202         * lib/unistr/u8-mbtouc-aux.c (u8_mbtouc_aux): Likewise.
8203         * lib/unistr/u8-mbtouc-unsafe-aux.c (u8_mbtouc_unsafe_aux): Likewise.
8204         * lib/unistr/u8-mbsnlen.c (u8_mbsnlen): Use u8_mbtouc to determine the
8205         number of bytes of an invalid character.
8206         * tests/unistr/test-u8-mbtouc.c (test_safe_function): New function.
8207         (main): Invoke it.
8208         * tests/unistr/test-u8-mbtouc.h (test_function): Update two test
8209         results.
8210         * tests/unistr/test-u8-mbsnlen.c (main): Test various kinds of
8211         malformed byte sequences.
8212         * modules/unistr/u8-mbtouc (configure.ac): Bump version number.
8213         * modules/unistr/u8-mbtouc-unsafe (configure.ac): Likewise.
8214         * modules/unistr/u8-mbsnlen (configure.ac): Likewise.
8215         Reported by Ben Pfaff and Paolo Bonzini.
8216
8217 2010-11-13  Bruno Haible  <bruno@clisp.org>
8218
8219         openat: Work around glibc bug with fchownat() and empty file names.
8220         * m4/openat.m4 (gl_FUNC_FCHOWNAT_EMPTY_FILENAME_BUG): New macro.
8221         (gl_FUNC_FCHOWNAT): Invoke it.
8222         * lib/fchownat.c (rpl_fchownat): Handle the empty file name specially.
8223         * doc/posix-functions/fchownat.texi: Document the glibc bug.
8224         Reported by Gary V. Vaughan <gary@gnu.org>.
8225
8226 2010-11-13  Bruno Haible  <bruno@clisp.org>
8227
8228         openat: Ensure autoconf macro ordering.
8229         * m4/openat.m4 (gl_FUNC_FCHOWNAT_DEREF_BUG): Require
8230         gl_USE_SYSTEM_EXTENSIONS.
8231         (gl_FUNC_FCHOWNAT): Require gl_UNISTD_H_DEFAULTS.
8232
8233 2010-11-13  Bruno Haible  <bruno@clisp.org>
8234
8235         Update comments.
8236         * lib/unistr/u8-check.c: Update file name in comments.
8237         * lib/unistr/u8-mblen.c: Likewise.
8238         * lib/unistr/u8-prev.c: Likewise.
8239         * lib/unistr/u8-strmblen.c: Likewise.
8240         * lib/unistr/u8-strmbtouc.c: Likewise.
8241
8242 2010-11-13  Jim Meyering  <meyering@redhat.com>
8243
8244         tests: avoid test failure on Solaris 10 due to lack of PATH export
8245         * tests/test-update-copyright.sh: Don't forget to export PATH.
8246
8247         init.sh: ensure that IFS is defined, just in case...
8248         * tests/init.sh (setup_): Ensure that IFS is defined,
8249         so that saving and restoring it works as expected.  This
8250         appears to be useful at least for an old version of dash
8251         from a long time ago (RH 6).  See here for details:
8252         http://thread.gmane.org/gmane.comp.gnu.coreutils.general/436/focus=455
8253
8254         maint.mk: tighten "test a == b" check
8255         * top/maint.mk (sc_prohibit_test_double_equal): Restrict this
8256         test to files that contain something like #!/bin/sh.
8257         Without this, coreutils would get two false positives in
8258         the comments of C source files.
8259
8260 2010-11-12  Eric Blake  <eblake@redhat.com>
8261
8262         bootstrap: fix typo in previous attempt
8263         * build-aux/bootstrap (buildreq): Correct the grouping.
8264         Reported by Paul Eggert.
8265
8266         maintainer-makefile: prohibit test x == x
8267         * top/maint.mk (sc_prohibit_test_double_equal): New rule.
8268         Based on a report by Matthias Bolte.
8269
8270         bootstrap: allow FreeBSD gzip
8271         * build-aux/bootstrap (get_version): Parse FreeBSD gzip version,
8272         which has no '.' and goes to stderr.
8273         * build-aux/bootstrap.conf (buildreq): Improve the sample file.
8274         Reported by Matthias Bolte.
8275
8276         maintainer-makefile: check for i18n setup
8277         * top/maint.mk (sc_bindtextdomain): Check for evidence that _()
8278         will likely work.
8279
8280 2010-11-12  Bruno Haible  <bruno@clisp.org>
8281
8282         sleep, nanosleep: Work around Linux 2.6.9 nanosleep bug.
8283         * lib/sleep.c (rpl_sleep): Split in chunks no larger than 24 days.
8284         * lib/nanosleep.c (nanosleep): Likewise.
8285
8286 2010-11-11  Bruno Haible  <bruno@clisp.org>
8287
8288         fcntl-h: Fix for use of C++ on glibc systems.
8289         * lib/fcntl.in.h: Include <sys/stat.h> before include_next <fcntl.h>
8290         also on glibc systems in C++ mode.
8291         Reported by Gary V. Vaughan <gary@gnu.org>.
8292
8293 2010-11-11  Christian Weisgerber  <naddy@mips.inka.de>  (tiny change)
8294
8295         mknod: avoid false failure with dash
8296         * m4/mknod.m4 (gl_FUNC_MKNOD): Use portable shell syntax.
8297
8298 2010-11-11  Paul Eggert  <eggert@cs.ucla.edu>
8299
8300         unlink: Fix "is it should" typo in diagnostic.
8301         * m4/unlink.m4 (gl_FUNC_UNLINK): Fix typo, as per Reuben Thomas in
8302         <http://lists.gnu.org/archive/html/bug-gnulib/2010-11/msg00106.html>.
8303
8304 2010-11-11  Bruno Haible  <bruno@clisp.org>
8305
8306         Tests for module 'strerror_r-posix'.
8307         * modules/strerror_r-posix-tests: New file.
8308         * tests/test-strerror_r.c: New file.
8309         * tests/test-string-c++.cc: Check the signature of strerror_r.
8310
8311         New module 'strerror_r-posix'.
8312         * lib/string.in.h (strerror_r): New declaration.
8313         * lib/strerror_r.c: New file.
8314         * m4/strerror_r.m4: New file.
8315         * m4/string_h.m4 (gl_HEADER_STRING_H_BODY): Check for the declaration
8316         of strerror_r.
8317         (gl_HEADER_STRING_H_DEFAULTS): Initialize GNULIB_STRERROR_R,
8318         HAVE_DECL_STRERROR_R, REPLACE_STRERROR_R.
8319         * modules/strerror_r-posix: New file.
8320         * modules/string (Makefile.am): Substitute GNULIB_STRERROR_R,
8321         HAVE_DECL_STRERROR_R, REPLACE_STRERROR_R.
8322         * doc/posix-functions/strerror_r.texi: Mention the new module and the
8323         portability problems.
8324
8325 2010-11-11  Torsten Scheck  <Torsten.Scheck@Leica-Microsystems.com> (tiny change)
8326
8327         * build-aux/pmccabe2html: Fixed a off-by-one error, so last input
8328         line is also considered for output. Quoted function name in shell
8329         command, so temporary files for functions like MyClass::operator()
8330         are removed correctly without errors.
8331
8332 2010-11-09  Bruno Haible  <bruno@clisp.org>
8333
8334         * doc/posix-functions/strerror.texi: List more failing platforms.
8335
8336         * doc/posix-functions/strerror.texi: Add a comment.
8337
8338 2010-11-07  Paul Eggert  <eggert@cs.ucla.edu>
8339
8340         fdopendir: fix bug on MacOS X when low on file descriptors
8341
8342         * lib/fdopendir.c (REPLACE_FCHDIR): #define to 0 if not defined.
8343         (fdopendir_with_dup, fd_clone_opendir): Now have extra CWD arg.
8344         All callers changed.
8345         (fdopendir): Invoke save_cwd at the top level, not after using
8346         multiple dup() calls to use up file descriptors.  Then retry
8347         fdopendir_with_dup.  This avoids failure with EMFILE if FD is 1
8348         less than the maximum number of open file descriptors, because
8349         save_cwd fails with errno == EMFILE.  Problem reported by tsteven4
8350         on Mac OS X 10.6.4 for tar 1.24
8351         <http://lists.gnu.org/archive/html/bug-tar/2010-10/msg00084.html>
8352         <http://lists.gnu.org/archive/html/bug-tar/2010-11/msg00000.html>
8353         and for tar 1.25
8354         <http://lists.gnu.org/archive/html/bug-tar/2010-11/msg00038.html>.
8355
8356 2010-11-07  Bruno Haible  <bruno@clisp.org>
8357
8358         vasnprintf: Support I flag on glibc systems.
8359         * lib/printf-parse.h (FLAG_LOCALIZED): New macro.
8360         * lib/printf-parse.c (PRINTF_PARSE): Handle the 'I' flag.
8361         * lib/vasnprintf.c (VASNPRINTF): Pass the 'I' flag on to the system's
8362         snprintf function.
8363         * tests/test-vasnprintf-posix.c (test_function): Test the 'I' flag on
8364         glibc systems.
8365         * tests/test-vasnprintf-posix3.c: New file.
8366         * modules/vasnprintf-posix-tests (Files): Add it.
8367         (TESTS, check_PROGRAMS): Add test-vasnprintf-posix3.
8368
8369 2010-11-05  Thien-Thi Nguyen  <ttn@gnuvola.org>  (tiny change)
8370
8371         [html] Fix copy/paste bug: Use unique name for compiler warnings.
8372         * MODULES.html.sh: For compiler warnings, use name
8373         `ansic_ext_compwarn' since `ansic_ext_misc' is already taken.
8374
8375 2010-11-05  Eric Blake  <eblake@redhat.com>
8376
8377         ceil, floor: avoid spurious failure with icc
8378         * tests/test-ceilf2.c (ceilf_reference): Avoid icc's use of DAZ
8379         [denormals-as-zero] when optimizing without -mieee-fp option.
8380         * tests/test-floorf2.c (floorf_reference): Likewise.
8381         * tests/test-ceilf1.c (dummy): New function.
8382         (main): Use it to outsmart icc's optimization.
8383         * tests/test-floorf1.c (dummy, main): Likewise.
8384
8385         tests: require working signbit
8386         * modules/ceilf-tests (Depends-on): Add signbit.
8387         * modules/ceill-tests (Depends-on): Likewise.
8388         * modules/floorf-tests (Depends-on): Likewise.
8389         * modules/floorl-tests (Depends-on): Likewise.
8390         * modules/round-tests (Depends-on): Likewise.
8391         * modules/roundf-tests (Depends-on): Likewise.
8392         * modules/roundl-tests (Depends-on): Likewise.
8393         * modules/trunc-tests (Depends-on): Likewise.
8394         * modules/truncf-tests (Depends-on): Likewise.
8395         * modules/truncl-tests (Depends-on): Likewise.
8396
8397         strtod: work around icc bug
8398         * lib/strtod.c (minus_zero): Define to working value.
8399         (strtod): Use it to avoid icc bug.
8400
8401         copysign: enhance tests
8402         * modules/copysign-tests (Files): Add minus-zero.h.
8403         * tests/test-copysign.c (main): Also test zeros.
8404
8405 2010-11-04  Eric Blake  <eblake@redhat.com>
8406
8407         ceil, floor, round, trunc: enhance tests of -0
8408         * tests/test-ceilf1.c (main): Ensure correct sign of result.
8409         * tests/test-ceill.c (main): Likewise.
8410         * tests/test-floorf1.c (main): Likewise.
8411         * tests/test-floorl.c (main): Likewise.
8412         * tests/test-round1.c (main): Likewise.
8413         * tests/test-roundf1.c (main): Likewise.
8414         * tests/test-roundl.c (main): Likewise.
8415         * tests/test-trunc1.c (main): Likewise.
8416         * tests/test-truncf1.c (main): Likewise.
8417         * tests/test-truncl.c (main): Likewise.
8418
8419 2010-11-04  Eric Blake  <eblake@redhat.com>
8420
8421         frexp, tests: work around ICC bug with -zero
8422         * m4/frexp.m4 (gl_FUNC_FREXP_WORKS): Compute -0.0 in a way that
8423         works with more compilers.
8424         * tests/minus-zero.h: New file.
8425         * modules/ceilf-tests (Files): Include it.
8426         * modules/ceill-tests (Files): Likewise.
8427         * modules/floorf-tests (Files): Likewise.
8428         * modules/floorl-tests (Files): Likewise.
8429         * modules/frexp-nolibm-tests (Files): Likewise.
8430         * modules/frexp-tests (Files): Likewise.
8431         * modules/frexpl-nolibm-tests (Files): Likewise.
8432         * modules/frexpl-tests (Files): Likewise.
8433         * modules/isnan-tests (Files): Likewise.
8434         * modules/isnand-nolibm-tests (Files): Likewise.
8435         * modules/isnand-tests (Files): Likewise.
8436         * modules/isnanf-nolibm-tests (Files): Likewise.
8437         * modules/isnanf-tests (Files): Likewise.
8438         * modules/isnanl-nolibm-tests (Files): Likewise.
8439         * modules/isnanl-tests (Files): Likewise.
8440         * modules/round-tests (Files): Likewise.
8441         * modules/roundf-tests (Files): Likewise.
8442         * modules/roundl-tests (Files): Likewise.
8443         * modules/ldexpl-tests (Files): Likewise.
8444         * modules/signbit-tests (Files): Likewise.
8445         * modules/snprintf-posix-tests (Files): Likewise.
8446         * modules/sprintf-posix-tests (Files): Likewise.
8447         * modules/strtod-tests (Files): Likewise.
8448         * modules/trunc-tests (Files): Likewise.
8449         * modules/truncf-tests (Files): Likewise.
8450         * modules/truncl-tests (Files): Likewise.
8451         * modules/vsnprintf-posix-tests (Files): Likewise.
8452         * modules/vsprintf-posix-tests (Files): Likewise.
8453         * modules/vasnprintf-posix-tests (Files): Likewise.
8454         * modules/vasprintf-posix-tests (Files): Likewise.
8455         * tests/test-ceilf1.c (main): Use it.
8456         * tests/test-ceill.c (main): Likewise.
8457         * tests/test-floorf1.c (main): Likewise.
8458         * tests/test-floorl.c (main): Likewise.
8459         * tests/test-frexp.c (main): Likewise.
8460         * tests/test-frexpl.c (main): Likewise.
8461         * tests/test-isnan.c (main): Likewise.
8462         * tests/test-isnand.h (main): Likewise.
8463         * tests/test-isnanf.h (main): Likewise.
8464         * tests/test-isnanl.h (main): Likewise.
8465         * tests/test-ldexpl.c (main): Likewise.
8466         * tests/test-round.c (main): Likewise.
8467         * tests/test-roundf.c (main): Likewise.
8468         * tests/test-roundl.c (main): Likewise.
8469         * tests/test-signbit.c (test_signbitf, test_signbitd)
8470         (test_signbitl): Likewise.
8471         * tests/test-snprintf-posix.h (test_function): Likewise.
8472         * tests/test-sprintf-posix.h (test_function): Likewise.
8473         * tests/test-strtod.c (main): Likewise.
8474         * tests/test-trunc1.c (main): Likewise.
8475         * tests/test-truncf1.c (main): Likewise.
8476         * tests/test-truncl.c (main): Likewise.
8477
8478         isnanl: work around icc bug
8479         * lib/isnan.c (FUNC): Compute run-time NaN under ICC as well.
8480
8481 2010-11-03  Eric Blake  <eblake@redhat.com>
8482
8483         tests: fix compiler warnings
8484         * tests/test-getopt.h (test_getopt): Fix condition.
8485         * tests/test-getopt_long.h (test_getopt_long): Likewise.
8486         * tests/test-pipe2.c (main): Likewise.
8487         * tests/test-quotearg-simple.c (main): Avoid icc warning.
8488
8489         utimens: fix broken m4 test
8490         * m4/utimens.m4 (gl_UTIMENS): Include correct headers.
8491
8492 2010-10-28  Bruno Haible  <bruno@clisp.org>
8493
8494         posix_spawn*, getdtablesize: Relax license.
8495         * modules/posix_spawn (License): Change to LGPLv2+.
8496         * modules/posix_spawnp (License): Likewise.
8497         * modules/posix_spawn-internal (License): Likewise.
8498         * modules/posix_spawnattr_init (License): Likewise.
8499         * modules/posix_spawnattr_getflags (License): Likewise.
8500         * modules/posix_spawnattr_setflags (License): Likewise.
8501         * modules/posix_spawnattr_getpgroup (License): Likewise.
8502         * modules/posix_spawnattr_setpgroup (License): Likewise.
8503         * modules/posix_spawnattr_getschedparam (License): Likewise.
8504         * modules/posix_spawnattr_setschedparam (License): Likewise.
8505         * modules/posix_spawnattr_getschedpolicy (License): Likewise.
8506         * modules/posix_spawnattr_setschedpolicy (License): Likewise.
8507         * modules/posix_spawnattr_getsigdefault (License): Likewise.
8508         * modules/posix_spawnattr_setsigdefault (License): Likewise.
8509         * modules/posix_spawnattr_getsigmask (License): Likewise.
8510         * modules/posix_spawnattr_setsigmask (License): Likewise.
8511         * modules/posix_spawnattr_destroy (License): Likewise.
8512         * modules/posix_spawn_file_actions_init (License): Likewise.
8513         * modules/posix_spawn_file_actions_addclose (License): Likewise.
8514         * modules/posix_spawn_file_actions_adddup2 (License): Likewise.
8515         * modules/posix_spawn_file_actions_addopen (License): Likewise.
8516         * modules/posix_spawn_file_actions_destroy (License): Likewise.
8517         * modules/getdtablesize (License): Likewise.
8518         Requested by Adam Stokes <ajs@redhat.com> for use in netcf.
8519
8520 2010-10-26  Bruno Haible  <bruno@clisp.org>
8521
8522         unistd: Refine workaround from 2009-12-23 against Cygwin bug.
8523         * lib/unistd.in.h: Don't include <stdio.h> and <fcntl.h>, except on
8524         Cygwin and mingw.
8525         Suggested by Eric Blake.
8526
8527 2010-10-26  Bruno Haible  <bruno@clisp.org>
8528
8529         stdio: Work around compilation error due to renameat() on Solaris 10.
8530         * lib/stdio.in.h: Include <unistd.h> on Solaris.
8531         * lib/renameat.c: Don't include <unistd.h> here.
8532         * doc/posix-functions/renameat.texi: Mention the Solaris problem.
8533         Reported by Paul Eggert and Eric Blake.
8534
8535 2010-10-26  Paul Eggert  <eggert@cs.ucla.edu>
8536
8537         renameat: port to Solaris 10, which declares renameat in unistd.h
8538
8539         * lib/renameat.c: Include unistd.h before stdio.h, because
8540         Solaris 10 declares renameat in unistd.h.  Problem encountered
8541         when building GNU tar 1.24 on Solaris 10.
8542
8543 2010-10-26  Christian Weisgerber  <naddy@mips.inka.de>  (tiny change)
8544
8545         fdopendir: fix C89 compilation
8546         * lib/fdopendir.c (fd_clone_opendir): Move declaration for older
8547         compilers.
8548
8549 2010-10-23  Paul Eggert  <eggert@cs.ucla.edu>
8550
8551         inttostr: simplify by removing unnecessary redundancy
8552         * lib/anytostr.c: Don't include verify.h.
8553         (anytostr): Don't verify that TYPE_SIGNED (inttype) equals
8554         inttype_is_signed.  Instead, disable the bogus GCC warnings, so that
8555         there's no need for inttype_is_signed and for calling TYPE_SIGNED.
8556         * lib/imaxtostr.c (inttype_is_signed): Remove; no longer needed.
8557         * lib/inttostr.c, lib/offtostr.c, lib/uinttostr.c, lib/umaxtostr.c:
8558         Likewise.
8559         * modules/inttostr (Depends-on): Remove 'verify'.
8560
8561 2010-10-23  Bruno Haible  <bruno@clisp.org>
8562
8563         nl_langinfo: Mention problem with CRNCYSTR on NetBSD 5.0.
8564         * doc/posix-functions/nl_langinfo.texi: Mention problem with CRNCYSTR.
8565         Reported by Eric Blake.
8566
8567 2010-10-23  Bruno Haible  <bruno@clisp.org>
8568
8569         Tests: Fix LOCALE_JA on MirBSD 10.
8570         * m4/locale-ja.m4 (gt_LOCALE_JA): Reject a locale identifier that leads
8571         to an UTF-8 locale.
8572         * m4/locale-fr.m4 (gt_LOCALE_FR): Likewise.
8573         * m4/locale-zh.m4 (gt_LOCALE_ZH_CN): Likewise.
8574         Reported by Eric Blake.
8575
8576 2010-10-21  Bruno Haible  <bruno@clisp.org>
8577
8578         nl_langinfo test: Avoid test failure on NetBSD 5.
8579         * tests/test-nl_langinfo.c (main): Relax test of nl_langinfo(CRNCYSTR).
8580         Reported by Eric Blake.
8581
8582 2010-10-21  Eric Blake  <eblake@redhat.com>
8583
8584         c-stack: work around libsigsegv 2.8 bug
8585         * lib/c-stack.c (SIGSTKSZ): Increase size to avoid alternate stack
8586         overflow on at least PowerPC64.
8587
8588 2010-10-17  Bruno Haible  <bruno@clisp.org>
8589
8590         userspec: Drop redundant file.
8591         * modules/userspec (Files): Remove lib/inttostr.h.
8592
8593 2010-10-17  Bruno Haible  <bruno@clisp.org>
8594
8595         nl_langinfo tests: Silence some warnings.
8596         * tests/test-nl_langinfo.c: Silence -Wtype-limits warnings.
8597         Reported by Jim Meyering.
8598
8599 2010-10-17  Bruno Haible  <bruno@clisp.org>
8600
8601         Make use of GCC's attribute __alloc_size__.
8602         * lib/xalloc.h (ATTRIBUTE_ALLOC_SIZE): New macro.
8603         (xmalloc, xzalloc, xcalloc, xrealloc, xmemdup, xnmalloc, xnrealloc,
8604         xcharalloc): Declare with ATTRIBUTE_ALLOC_SIZE.
8605         * lib/eealloc.h (eemalloc, eerealloc): Declare with attribute
8606         __alloc_size__.
8607         * lib/pagealign_alloc.h (pagealign_alloc, pagealign_xalloc): Likewise.
8608         Suggested by Jim Meyering.
8609
8610 2010-10-16  Joel E. Denny  <joeldenny@joeldenny.org>
8611
8612         bootstrap: anchor .gitignore entries.
8613         * build-aux/bootstrap (insert_sorted_if_absent): Replace all uses
8614         with...
8615         (insert_vc_ignore): ... this new function, which prepends `/' to
8616         all .gitignore entries before passing them to
8617         insert_sorted_if_absent.
8618
8619 2010-10-16  Bruno Haible  <bruno@clisp.org>
8620
8621         nextafter: Fix configure check.
8622         * modules/nextafter (configure.ac): Correct expected prototype.
8623
8624 2010-10-16  Bruno Haible  <bruno@clisp.org>
8625
8626         termios: Update documentation.
8627         * doc/posix-headers/termios.texi: Mention remaining mingw problems.
8628
8629 2010-10-16  Bruno Haible  <bruno@clisp.org>
8630
8631         tests: Make them compile with TinyCC.
8632         * tests/test-strstr.c (main): Remove parentheses around array
8633         initializer.
8634
8635 2010-10-15  Eric Blake  <eblake@redhat.com>
8636
8637         ignore-value: make header idempotent
8638         * lib/ignore-value.h: Add double-inclusion guards.
8639         Reported by Stefan Berger.
8640
8641 2010-10-15  Jim Meyering  <meyering@redhat.com>
8642
8643         GNUmakefile: handle "stable" target, not "major"
8644         * top/GNUmakefile (_is-dist-target): s/major/stable/ to match the
8645         lists in maint.mk and announce-gen.  Without this, "make stable"
8646         would fail to ensure that $(VERSION) is up to date.
8647
8648 2010-10-15  Ludovic Courtès  <ludo@gnu.org>
8649
8650         * lib/isnan.c (FUNC): Treat TinyCC (`__TINYC__') like `__SUNPRO_C'
8651         & co.
8652
8653 2010-10-14  Bruno Haible  <bruno@clisp.org>
8654
8655         vasnprintf: Don't set errno to 0.
8656         * lib/vasnprintf.c (VASNPRINTF): Save and restore errno around the
8657         block that sets it to 0.
8658         Reported by Gianluigi Tiesi <sherpya@netfarm.it>.
8659
8660 2010-10-14  Bruno Haible  <bruno@clisp.org>
8661
8662         socketlib: Fix.
8663         * modules/socketlib (Files): Add m4/sys_socket_h.m4. Needed for
8664         gl_PREREQ_SYS_H_WINSOCK2.
8665         Reported by Ian Beckwith <ianb@erislabs.net>.
8666
8667 2010-10-13  Jim Meyering  <meyering@redhat.com>
8668
8669         test-select-stdin.c: avoid warn_unused_result warnings
8670         * tests/test-select-stdin.c: Include "macros.h".
8671         ASSERT that read and fflush succeed.
8672
8673 2010-10-13  Jim Meyering  <meyering@redhat.com>
8674
8675         git-version-gen: do require git-VC'd files in cwd
8676         * build-aux/git-version-gen: Reject a git version string
8677         if there are no commits associated with the current directory.
8678         This avoids an unlikely false-positive (unrelated dir whose parent
8679         repository also contains a tag matching v*), as pointed out
8680         by Giuseppe Scrivano in
8681         http://thread.gmane.org/gmane.comp.lib.gnulib.bugs/21843/focus=23664
8682
8683 2010-10-13  Paul Eggert  <eggert@cs.ucla.edu>
8684
8685         argv-iter: omit nonconforming declaration
8686         * lib/argv-iter.h (enum argv_iter_err): Omit the useless
8687         enum arg_iter_err declaration, which doesn't conform to C99.
8688         Solaris 10 cc warns about this.
8689
8690 2010-10-13  Eric Blake  <eblake@redhat.com>
8691
8692         termios: fix compilation on mingw
8693         * m4/termios_h.m4 (gl_TERMIOS_H_DEFAULTS): Set default.
8694         (gl_TERMIOS_H): Adjust it on mingw.
8695         * modules/termios (Makefile.am): Substitute new key.
8696         * lib/termios.in.h (includes): Make include_next conditional.
8697         * doc/posix-headers/termios.texi (termios.h): Update
8698         documentation.
8699         Reported by Daniel P. Berrange.
8700
8701 2010-10-13  Jim Meyering  <meyering@redhat.com>
8702
8703         git-version-gen: don't require that .git/ be in the current dir
8704         * build-aux/git-version-gen: Adjust this script so that it works
8705         when run from any working directory beneath the top-level .git/-
8706         containing directory.  Inspired by a patch from Giuseppe Scrivano,
8707         http://thread.gmane.org/gmane.comp.lib.gnulib.bugs/21843/focus=21847
8708
8709         test-select: avoid warn_unused_result warnings
8710         * tests/test-select.c: Include "macros.h".
8711         ASSERT that each call to read, write, and pipe succeeds.
8712         While not technically required, also check each "close".
8713         * modules/select-tests (Files): Add tests/macros.h.
8714
8715         test-symlinkat: remove declaration of unused local
8716         * tests/test-symlinkat.c (main): Remove unused local, "buf".
8717
8718         test-inttostr: avoid shadowing warnings
8719         * tests/test-inttostr.c (main): Rename local, "buf" to "b",
8720         and use malloc rather than the stack for the same reason as
8721         mentioned in the comment justifying the other allocation.
8722
8723 2010-10-11  Bruno Haible  <bruno@clisp.org>
8724
8725         stdlib: Allow multiple gnulib generated replacements to coexist.
8726         * lib/stdlib.in.h (struct random_data): Avoid identical redefinition.
8727         Reported by Sam Steingold <sds@gnu.org>.
8728
8729 2010-10-11  Jim Meyering  <meyering@redhat.com>
8730
8731         fix a documentation typo
8732         * doc/posix-functions/futimens.texi (futimens): Fix typo: s/itme/item/
8733
8734 2010-10-11  Eric Blake  <eblake@redhat.com>
8735
8736         futimens: work around Solaris 11 bug
8737         * m4/futimens.m4 (gl_FUNC_FUTIMENS): Detect the bug.
8738         * tests/test-futimens.h (test_futimens): Enhance, rather than
8739         weaken test.
8740         * doc/posix-functions/futimens.texi (futimens): Document the bug.
8741
8742 2010-10-11  Paul Eggert  <eggert@cs.ucla.edu>
8743
8744         Indentation.
8745         * lib/spawn.in.h (verify_POSIX_SPAWN_USEVFORK_no_overlap): Indent
8746         higher-level operators more to the left.
8747
8748 2010-10-11  Jim Meyering  <meyering@redhat.com>
8749
8750         test-futimens: avoid unwarranted test failure on Solaris 5.11
8751         * tests/test-futimens.h (test_futimens): When provoking EBADF, use an
8752         invalid file descriptor, so we don't provoke EFAULT from Solaris 5.11,
8753         because it tries to dereference the NULL name argument.
8754
8755 2010-10-11  Bruno Haible  <bruno@clisp.org>
8756
8757         Indentation.
8758         * lib/spawn.in.h (verify_POSIX_SPAWN_USEVFORK_no_overlap): Improve
8759         indentation.
8760
8761 2010-10-11  Jim Meyering  <meyering@redhat.com>
8762
8763         spawn.in.h: make indentation consistent with parentheses
8764         * lib/spawn.in.h (verify_POSIX_SPAWN_USEVFORK_no_overlap):
8765         Make indentation consistent with parentheses.
8766
8767 2010-10-11  Gary V. Vaughan  <gary@gnu.org>
8768
8769         Fix mismatched parens in previous commit
8770         * lib/spawn.in.h (verify_POSIX_SPAWN_USEVFORK_no_overlap): Fix mismatched
8771         parens.
8772
8773 2010-10-10  Paul Eggert  <eggert@cs.ucla.edu>
8774
8775         rewrite int foo[2*X-1] to verify(X) or to int foo[X?1:-1]
8776
8777         * lib/float+.h (verify_sizeof_flt, verify_sizeof_dbl):
8778         (verify_sizeof_ldbl): Rewrite 2*X-1 to X?1:-1.
8779         * lib/malloca.c: Include "verify.h".
8780         (verify1): Remove, replacing with a verify call.
8781         * lib/relocwrapper.c (verify1): Likewise.
8782         * lib/vasnprintf.c (mp_limb_verify, mp_twolimb_verify, TCHAR_T_verify):
8783         Likewise.
8784         * modules/malloca (Depends-on): Add 'verify'.
8785         * modules/relocatable-prog-wrapper (Depends-on): Add 'verify'.
8786         * modules/vasnprintf (Depends-on): Add 'verify'.
8787         * modules/unistdio/u8-vasnprintf (Depends-on): Likewise.
8788         * modules/unistdio/u8-u8-vasnprintf (Depends-on): Likewise.
8789         * modules/unistdio/u16-vasnprintf (Depends-on): Likewise.
8790         * modules/unistdio/u16-u16-vasnprintf (Depends-on): Likewise.
8791         * modules/unistdio/u32-vasnprintf (Depends-on): Likewise.
8792         * modules/unistdio/u32-u32-vasnprintf (Depends-on): Likewise.
8793         * modules/unistdio/ulc-vasnprintf (Depends-on): Likewise.
8794
8795         prefer (X ? 1 : -1) when converting from boolean (1,0) to int (1,-1)
8796
8797         Formerly the style was sometimes 2*X - 1, because the C standard
8798         was wrongly thought to disallow ?: in integral constant expressions.
8799         * lib/inet_ntop.c (verify_int_size): Rewrite 2*X-7 (!) to 4<=X?1:-1.
8800         * lib/signal.in.h (verify_NSIG_constraint): Rewrite 2*X-1 to X?1:-1.
8801         * lib/spawn.in.h (verify_POSIX_SPAWN_USEVFORK_no_overlap): Likewise.
8802         * lib/stdint.in.h (_verify_intmax_size): Likewise.
8803         * lib/time.in.h (struct __time_t_must_be_integral): Rewrite
8804         2 * ((time_t) 1 / 2 == 0) - 1 to (time_t) 1; this suffices to
8805         verify that time_t cannot be floating.
8806
8807 2010-10-08  Eric Blake  <eblake@redhat.com>
8808
8809         time: enforce recent POSIX ruling that time_t is integral
8810         * lib/time.in.h (__time_t_must_be_integral): Detect any
8811         problematic systems, allowing the rest of gnulib to assume POSIX.
8812
8813 2010-10-08  Jim Meyering  <meyering@redhat.com>
8814
8815         fdopendir: fix a bug on systems lacking openat and /proc support
8816         OpenBSD 4.7 is one such system.  The most noticeable effect was
8817         failure of any application making nontrivial use of fts: rm, du,
8818         chown, chmod etc.  E.g., "mkdir -p a/b; ./rm -rf a" would fail with
8819           ./rm: traversal failed: `a': Bad file descriptor
8820         Debugging that, you see that even though FD 6 was closed just
8821         prior to the opendir call in fd_clone_opendir, its resulting
8822         dir->dd_fd was 8, rather than the expected value of 6:
8823
8824         Breakpoint 3, fdopendir_with_dup (fd=6, older_dupfd=-1) at fdopendir.c:93
8825         93                close (fd);
8826         (gdb) n
8827         94                dir = fd_clone_opendir (dupfd);
8828         (gdb) n
8829         95                saved_errno = errno;
8830         (gdb) p dir->dd_fd
8831         $11 = 8
8832
8833         Notice how it closes FD 6, then gets a DIR* pointer using FD 8.
8834         The problem is that on OpenBSD, fd_clone_opendir has to resort
8835         to using the old-style save/restore CWD mechanism, due to its
8836         lack of openat/proc support, and *that* would steal the FD (6)
8837         that opendir was supposed to use.
8838
8839         The fix is to squirrel away the desired FD so that save_cwd uses a
8840         different one, and then free the dest FD right before calling opendir.
8841         That guarantees opendir will use the required file descriptor.
8842
8843         * lib/fdopendir.c (fd_clone_opendir): Handle the above.
8844
8845 2010-10-08  Bruno Haible  <bruno@clisp.org>
8846
8847         sys_select: Avoid warning due to undeclared memset() on OpenBSD 4.5.
8848         * lib/sys_select.in.h: Include <string.h> also on OpenBSD.
8849
8850 2010-10-08  Bruno Haible  <bruno@clisp.org>
8851
8852         nanosleep: Make replacement POSIX compliant.
8853         * lib/nanosleep.c (nanosleep): Return -1/EINVAL if the delay's tv_nsec
8854         is out of range.
8855         Reported by Jim Meyering.
8856
8857 2010-10-08  Paul Eggert  <eggert@cs.ucla.edu>
8858
8859         bootstrap: add hook for altering gnulib.mk, for Bison
8860         * build-aux/bootstrap (gnulib_mk_hook): New function, so that
8861         the Bison bootstrapping process can rewrite file names and variables
8862         in this file before later parts of 'bootstrap' use the file.
8863         Bison wants to include lib/gnulib.mk from the top-level makefile,
8864         so it needs the file names in this file to be relative to the top
8865         level, not relative to lib; plus it needs variable names to be
8866         rewritten.
8867         (slurp): Use the new function.
8868
8869         bootstrap: reformat for readability
8870         * build-aux/bootstrap: Rewrite to avoid lines longer than 80 columns.
8871
8872 2010-10-08  Eric Blake  <eblake@redhat.com>
8873
8874         docs: update cygwin progress
8875         * doc/posix-functions/cacos.texi (cacos): Added after cygwin
8876         1.7.7.
8877         * doc/posix-functions/cacosf.texi (cacosf): Likewise.
8878         * doc/posix-functions/cacosh.texi (cacosh): Likewise.
8879         * doc/posix-functions/cacoshf.texi (cacoshf): Likewise.
8880         * doc/posix-functions/carg.texi (carg): Likewise.
8881         * doc/posix-functions/cargf.texi (cargf): Likewise.
8882         * doc/posix-functions/casin.texi (casin): Likewise.
8883         * doc/posix-functions/casinf.texi (casinf): Likewise.
8884         * doc/posix-functions/casinh.texi (casinh): Likewise.
8885         * doc/posix-functions/casinhf.texi (casinhf): Likewise.
8886         * doc/posix-functions/catan.texi (catan): Likewise.
8887         * doc/posix-functions/catanf.texi (catanf): Likewise.
8888         * doc/posix-functions/catanh.texi (catanh): Likewise.
8889         * doc/posix-functions/catanhf.texi (catanhf): Likewise.
8890         * doc/posix-functions/ccos.texi (ccos): Likewise.
8891         * doc/posix-functions/ccosf.texi (ccosf): Likewise.
8892         * doc/posix-functions/ccosh.texi (ccosh): Likewise.
8893         * doc/posix-functions/ccoshf.texi (ccoshf): Likewise.
8894         * doc/posix-functions/cexp.texi (cexp): Likewise.
8895         * doc/posix-functions/cexpf.texi (cexpf): Likewise.
8896         * doc/posix-functions/cimag.texi (cimag): Likewise.
8897         * doc/posix-functions/cimagf.texi (cimagf): Likewise.
8898         * doc/posix-functions/clog.texi (clog): Likewise.
8899         * doc/posix-functions/clogf.texi (clogf): Likewise.
8900         * doc/posix-functions/conj.texi (conj): Likewise.
8901         * doc/posix-functions/conjf.texi (conjf): Likewise.
8902         * doc/posix-functions/cpow.texi (cpow): Likewise.
8903         * doc/posix-functions/cpowf.texi (cpowf): Likewise.
8904         * doc/posix-functions/cproj.texi (cproj): Likewise.
8905         * doc/posix-functions/cprojf.texi (cprojf): Likewise.
8906         * doc/posix-functions/creal.texi (creal): Likewise.
8907         * doc/posix-functions/crealf.texi (crealf): Likewise.
8908         * doc/posix-functions/csin.texi (csin): Likewise.
8909         * doc/posix-functions/csinf.texi (csinf): Likewise.
8910         * doc/posix-functions/csinh.texi (csinh): Likewise.
8911         * doc/posix-functions/csinhf.texi (csinhf): Likewise.
8912         * doc/posix-functions/csqrt.texi (csqrt): Likewise.
8913         * doc/posix-functions/csqrtf.texi (csqrtf): Likewise.
8914         * doc/posix-functions/ctan.texi (ctan): Likewise.
8915         * doc/posix-functions/ctanf.texi (ctanf): Likewise.
8916         * doc/posix-functions/ctanh.texi (ctanh): Likewise.
8917         * doc/posix-functions/ctanhf.texi (ctanhf): Likewise.
8918         * doc/posix-headers/complex.texi (complex.h): Likewise.
8919
8920 2010-10-07  Jim Meyering  <meyering@redhat.com>
8921
8922         parse-datetime: avoid compilation failure on OpenBSD 4.7
8923         * lib/parse-datetime.y (_STDLIB_H) [_STDLIB_H_]: Define.
8924         This works around a compilation failure on OpenBSD 4.7:
8925         http://thread.gmane.org/gmane.comp.parsers.bison.bugs/3418
8926
8927 2010-10-07  Eric Blake  <eblake@redhat.com>
8928
8929         docs: update cygwin progress
8930         * doc/glibc-functions/mkostemp.texi (mkostemp): Added in cygwin
8931         1.7.6.
8932         * doc/glibc-functions/mkostemps.texi (mkostemps): Likewise.
8933         * doc/posix-headers/fenv.texi (fenv.h): Added after cygwin 1.7.7.
8934         * doc/posix-functions/feclearexcept.texi (feclearexcept): Likewise.
8935         * doc/posix-functions/fegetenv.texi (fegetenv): Likewise.
8936         * doc/posix-functions/fegetexceptflag.texi (fegetexceptflag):
8937         Likewise.
8938         * doc/posix-functions/fegetround.texi (fegetround): Likewise.
8939         * doc/posix-functions/feholdexcept.texi (feholdexcept): Likewise.
8940         * doc/posix-functions/feraiseexcept.texi (feraiseexcept):
8941         Likewise.
8942         * doc/posix-functions/fesetenv.texi (fesetenv): Likewise.
8943         * doc/posix-functions/fesetexceptflag.texi (fesetexceptflag):
8944         Likewise.
8945         * doc/posix-functions/fesetround.texi (fesetround): Likewise.
8946         * doc/posix-functions/fetestexcept.texi (fetestexcept): Likewise.
8947         * doc/posix-functions/feupdateenv.texi (feupdateenv): Likewise.
8948         * doc/glibc-functions/feenableexcept.texi (feenableexcept):
8949         Likewise.
8950         * doc/glibc-functions/fedisableexcept.texi (fedisableexcept):
8951         Likewise.
8952         * doc/glibc-functions/fegetexcept.texi (fegetexcept): Likewise.
8953
8954         docs: update parse-datetime history
8955         * doc/parse-datetime.texi (Authors of parse_datetime): Better
8956         documentation of this function's history and alternatives.
8957
8958         cygwin: use more robust version check
8959         * m4/memmem.m4 (gl_FUNC_MEMMEM_SIMPLE, gl_FUNC_MEMMEM): Don't
8960         exclude an eventual cygwin 1.9.1.
8961         * m4/strstr.m4 (gl_FUNC_STRSTR_SIMPLE, gl_FUNC_STRSTR): Likewise.
8962         * m4/strcasestr.m4 (gl_FUNC_STRCASESTR_SIMPLE)
8963         (gl_FUNC_STRCASESTR): Likewise.
8964         Reported by Bruno Haible.
8965
8966 2010-10-06  Bruno Haible  <bruno@clisp.org>
8967
8968         string, sys_select: Avoid #including large headers unless necessary.
8969         * lib/string.in.h: Don't include <unistd.h> except on NetBSD.
8970         * lib/sys_select.in.h: Don't include <string.h> except on Solaris,
8971         OSF/1, BeOS, Haiku.
8972         Reported by Jim Meyering.
8973
8974 2010-10-05  Eric Blake  <eblake@redhat.com>
8975
8976         memmem, strstr, strcasestr: fix bug with long periodic needle
8977         * lib/str-two-way.h (two_way_long_needle): Avoid bug with long
8978         periodic needle having false positive.
8979         * m4/memmem.m4 (gl_FUNC_MEMMEM_SIMPLE): Detect bug in glibc 2.12
8980         and cygwin 1.7.7.
8981         (gl_FUNC_MEMMEM): Be more pessimistic when cross-compiling.
8982         * m4/strcasestr.m4 (gl_FUNC_STRCASESTR_SIMPLE)
8983         (gl_FUNC_STRCASESTR): Likewise.
8984         * m4/strstr.m4 (gl_FUNC_STRSTR_SIMPLE, gl_FUNC_STRSTR): Likewise.
8985         * tests/test-memmem.c (main): Expose the bug.
8986         * tests/test-strcasestr.c (main): Likewise.
8987         * tests/test-strstr.c (main): Likewise.
8988         * tests/test-c-strcasestr.c (main): Likewise.
8989         * doc/glibc-functions/memmem.texi (memmem): Document the bug.
8990         * doc/posix-functions/strstr.texi (strstr): Likewise.
8991         * doc/glibc-functions/strcasestr.texi (strcasestr): Likewise.
8992         Reported via http://sourceware.org/bugzilla/show_bug.cgi?id=12092
8993
8994 2010-10-05  Paul Eggert  <eggert@cs.ucla.edu>
8995
8996         parse-datetime: do some more renaming
8997         * doc/parse-datetime.texi (Authors of parse_datetime): Call it
8998         parse_datetime, not get_date.  Mention the renaming.
8999         * lib/parse-datetime.y:  Call it parse_datetime, not getdate,
9000         in comments.
9001         * m4/bison.m4: Likewise.
9002
9003 2010-10-05  Eric Blake  <eblake@redhat.com>
9004
9005         parse-datetime: better name than get_date
9006         * NEWS: Reword the deprecation notice.
9007         * modules/get_date: Rename to modules/parse-datetime.
9008         * modules/get_date-tests: Rename to modules/parse-datetime-tests.
9009         * m4/get_date.m4: Rename to m4/parse-datetime.m4.
9010         * lib/get_date.y: Rename to lib/parse-datetime.y.
9011         * tests/test-get_date.c: Rename to tests/test-parse-datetime.c.
9012         * doc/get_date.texi: Rename to doc/parse-datetime.texi.
9013         * doc/getdate.texi: Provide fallback wrapper.
9014         * lib/getdate.h: Move guts, and wrap...
9015         * lib/parse-datetime.h: ...new file.
9016         * lib/parse-datetime.y (get_date): Rename...
9017         (parse_datetime): ...to this.
9018         * m4/parse-datetime.m4 (gl_GET_DATE): Rename...
9019         (gl_PARSE_DATETIME): ...to this.
9020         * doc/posix-functions/getdate.texi (get_date): Provide fallback
9021         documentation.
9022         * modules/getdate (Files): Provide fallback docs and header.
9023         (Notice, Depends-on): Update references.
9024         * tests/test-parse-datetime.c: Likewise.
9025         * DEPENDENCIES: Likewise.
9026         * MODULES.html.sh (Date and time <time.h>): Likewise.
9027         * doc/parse-datetime.texi (Date input formats)
9028         (Authors of parse_datetime): Likewise.
9029         * modules/parse-datetime (Files, configure.ac, Makefile.am)
9030         (Include): Likewise.
9031         * modules/parse-datetime-tests (Files, Makefile.am): Likewise.
9032         * gnulib-tool: Likewise.
9033         * m4/bison.m4 (gl_BISON): Likewise.
9034         Suggested by Bruno Haible.
9035
9036 2010-10-05  Paul Eggert  <eggert@cs.ucla.edu>
9037
9038         more ports to Solaris tr, which needs [] around ranges
9039         * gnulib-tool: Solaris tr needs [] around ranges.
9040         * m4/fnmatch.m4 (gl_FUNC_FNMATCH_POSIX): Likewise.
9041         * tests/test-pipe-filter-gi1.c (main): Likewise.
9042         * tests/test-pipe-filter-ii1.c (main): Likewise.
9043
9044 2010-10-05  Eric Blake  <eblake@redhat.com>
9045
9046         bootstrap: fix Solaris regression
9047         * build-aux/bootstrap (check_versions): Solaris tr still needs []
9048         around ranges.
9049         Reported by Pádraig Brady.
9050
9051         bootstrap: work with pkg-config
9052         * build-aux/bootstrap (check_versions): Also transliterate - in
9053         prerequisite name.
9054         (print_versions): Be robust to any \ in $buildreq.  Avoid listing
9055         prerequisites that were already found, to avoid confusion.
9056         Reported by Justin Clift.
9057
9058         faccessat: remove unused wrappers
9059         * lib/openat.h (accessat, euidaccesat): Delete, since the mere
9060         presence of these wrappers dragged in -lgen on Solaris.
9061         Reported by Clemens Brogi; fix suggested by Paul Eggert.
9062
9063 2010-10-05  Jim Meyering  <meyering@redhat.com>
9064
9065         tests: require @PRAGMA_COLUMNS@ with each @PRAGMA_SYSTEM_HEADER@
9066         * Makefile (sc_pragma_columns): New syntax-check rule.
9067
9068 2010-10-04  Bruno Haible  <bruno@clisp.org>
9069
9070         gnulib-tool: Synthesize appropriate _LDFLAGS for a libtool library.
9071         * gnulib-tool (func_emit_lib_Makefile_am): When preparing for a libtool
9072         library, put '-no-undefined' and the link dependencies into _LDFLAGS.
9073         Reported by Bruce Korb and Eric Blake.
9074
9075 2010-10-04  Bruno Haible  <bruno@clisp.org>
9076
9077         threadlib: Make option --with-libpth-prefix work.
9078         * m4/threadlib.m4 (gl_THREADLIB_BODY): When testing whether pth works,
9079         use $LIBPTH, not just -lpth.
9080
9081 2010-10-04  Bruno Haible  <bruno@clisp.org>
9082
9083         Avoid line length limitation from HP NonStop system header files.
9084         * m4/include_next.m4 (gl_INCLUDE_NEXT): Define also PRAGMA_COLUMNS.
9085         * lib/arpa_inet.in.h: Use PRAGMA_COLUMNS.
9086         * lib/ctype.in.h: Likewise.
9087         * lib/dirent.in.h: Likewise.
9088         * lib/errno.in.h: Likewise.
9089         * lib/fcntl.in.h: Likewise.
9090         * lib/float.in.h: Likewise.
9091         * lib/getopt.in.h: Likewise.
9092         * lib/iconv.in.h: Likewise.
9093         * lib/inttypes.in.h: Likewise.
9094         * lib/langinfo.in.h: Likewise.
9095         * lib/locale.in.h: Likewise.
9096         * lib/math.in.h: Likewise.
9097         * lib/netdb.in.h: Likewise.
9098         * lib/netinet_in.in.h: Likewise.
9099         * lib/poll.in.h: Likewise.
9100         * lib/pthread.in.h: Likewise.
9101         * lib/pty.in.h: Likewise.
9102         * lib/sched.in.h: Likewise.
9103         * lib/se-selinux.in.h: Likewise.
9104         * lib/search.in.h: Likewise.
9105         * lib/signal.in.h: Likewise.
9106         * lib/spawn.in.h: Likewise.
9107         * lib/stdarg.in.h: Likewise.
9108         * lib/stddef.in.h: Likewise.
9109         * lib/stdint.in.h: Likewise.
9110         * lib/stdio.in.h: Likewise.
9111         * lib/stdlib.in.h: Likewise.
9112         * lib/string.in.h: Likewise.
9113         * lib/strings.in.h: Likewise.
9114         * lib/sys_file.in.h: Likewise.
9115         * lib/sys_ioctl.in.h: Likewise.
9116         * lib/sys_select.in.h: Likewise.
9117         * lib/sys_socket.in.h: Likewise.
9118         * lib/sys_stat.in.h: Likewise.
9119         * lib/sys_time.in.h: Likewise.
9120         * lib/sys_times.in.h: Likewise.
9121         * lib/sys_utsname.in.h: Likewise.
9122         * lib/sys_wait.in.h: Likewise.
9123         * lib/sysexits.in.h: Likewise.
9124         * lib/termios.in.h: Likewise.
9125         * lib/time.in.h: Likewise.
9126         * lib/unistd.in.h: Likewise.
9127         * lib/wchar.in.h: Likewise.
9128         * lib/wctype.in.h: Likewise.
9129         * modules/arpa_inet (Makefile.am): Substitute PRAGMA_COLUMNS.
9130         * modules/ctype (Makefile.am): Likewise.
9131         * modules/dirent (Makefile.am): Likewise.
9132         * modules/errno (Makefile.am): Likewise.
9133         * modules/fcntl-h (Makefile.am): Likewise.
9134         * modules/float (Makefile.am): Likewise.
9135         * modules/getopt-posix (Makefile.am): Likewise.
9136         * modules/iconv-h (Makefile.am): Likewise.
9137         * modules/inttypes (Makefile.am): Likewise.
9138         * modules/langinfo (Makefile.am): Likewise.
9139         * modules/locale (Makefile.am): Likewise.
9140         * modules/math (Makefile.am): Likewise.
9141         * modules/netdb (Makefile.am): Likewise.
9142         * modules/netinet_in (Makefile.am): Likewise.
9143         * modules/poll-h (Makefile.am): Likewise.
9144         * modules/pthread (Makefile.am): Likewise.
9145         * modules/pty (Makefile.am): Likewise.
9146         * modules/sched (Makefile.am): Likewise.
9147         * modules/search (Makefile.am): Likewise.
9148         * modules/selinux-h (Makefile.am): Likewise.
9149         * modules/signal (Makefile.am): Likewise.
9150         * modules/spawn (Makefile.am): Likewise.
9151         * modules/stdarg (Makefile.am): Likewise.
9152         * modules/stddef (Makefile.am): Likewise.
9153         * modules/stdint (Makefile.am): Likewise.
9154         * modules/stdio (Makefile.am): Likewise.
9155         * modules/stdlib (Makefile.am): Likewise.
9156         * modules/string (Makefile.am): Likewise.
9157         * modules/strings (Makefile.am): Likewise.
9158         * modules/sys_file (Makefile.am): Likewise.
9159         * modules/sys_ioctl (Makefile.am): Likewise.
9160         * modules/sys_select (Makefile.am): Likewise.
9161         * modules/sys_socket (Makefile.am): Likewise.
9162         * modules/sys_stat (Makefile.am): Likewise.
9163         * modules/sys_time (Makefile.am): Likewise.
9164         * modules/sys_times (Makefile.am): Likewise.
9165         * modules/sys_utsname (Makefile.am): Likewise.
9166         * modules/sys_wait (Makefile.am): Likewise.
9167         * modules/sysexits (Makefile.am): Likewise.
9168         * modules/termios (Makefile.am): Likewise.
9169         * modules/time (Makefile.am): Likewise.
9170         * modules/unistd (Makefile.am): Likewise.
9171         * modules/wchar (Makefile.am): Likewise.
9172         * modules/wctype (Makefile.am): Likewise.
9173
9174 2010-10-04  Bruno Haible  <bruno@clisp.org>
9175
9176         read-file tests: Avoid a test failure on NonStop Kernel.
9177         * tests/test-read-file.c (main): Don't assume that /etc/resolv.conf is
9178         a regular file.
9179         Reported by Joachim Schmitz <schmitz@hp.com>.
9180
9181 2010-10-03  Bruno Haible  <bruno@clisp.org>
9182
9183         gnulib-tool: Fixes for --create-testdir with --libtool.
9184         * gnulib-tool (func_get_automake_snippet): Don't augment
9185         EXTRA_lib_SOURCES for the pt_chown module, since pt_chown.o goes into
9186         an executable.
9187         (func_create_testdir): Handle module 'alloca' like func_import.
9188         Reported by Bruce Korb <bruce.korb@gmail.com>.
9189
9190 2010-10-03  Paul Eggert  <eggert@cs.ucla.edu>
9191
9192         Avoid some lines longer than 80 characters.
9193         * lib/stdint.in.h: Break long comment lines.
9194         * lib/math.in.h: Likewise.
9195         (_GL_NUM_UINT_WORDS): New macro, for readability.
9196         (gl_signbitf, gl_signbitd, gl_signbitl): Use it.
9197         * lib/stdio.in.h: Break lines in _GL_WARN_ON_USE calls.
9198         * lib/stdlib.in.h: Likewise.
9199         * lib/spawn.in.h: Likewise.
9200         * lib/sys_socket.in.h: Update an URL.
9201         * lib/sys_stat.in.h: Break long line.
9202
9203 2010-10-03  Reuben Thomas  <rrt@sc3d.org>
9204
9205         Improve pmccabe2html.
9206         * build-aux/pmccabe2html: Add CYCLO_SRCS variable, and make
9207         cyclo-$(PACKAGE).html depend on it, so the HTML file is remade
9208         when the sources change. Remove the line in the HTML about "Used
9209         ranges" (which implied that there might be other unused ranges),
9210         rename "Resume" to "Summary" (easier to understand for more users).
9211         * build-aux/pmccabe.css: Removing the dashed dividers, some unused
9212         styles, and some unnecessary blank lines.
9213
9214 2010-10-03  Bruno Haible  <bruno@clisp.org>
9215             Joachim Schmitz  <schmitz@hp.com>  (tiny change)
9216
9217         acl: Add support for ACLs on NonStop Kernel.
9218         * m4/acl.m4 (gl_FUNC_ACL): For Solaris, test for facl(), not for acl().
9219         Check whether the function aclsort() exists.
9220         * lib/acl-internal.h: For Solaris, test HAVE_FACL, not HAVE_ACL.
9221         (acl_nontrivial) [HAVE_ACLSORT]: New declaration.
9222         * lib/file-has-acl.c: For Solaris, test HAVE_FACL, not HAVE_ACL.
9223         (acl_nontrivial [HAVE_ACLSORT]: New function.
9224         (file_has_acl): Implement for NonStop Kernel.
9225         * lib/set-mode-acl.c: For Solaris, test HAVE_FACL, not HAVE_ACL.
9226         (qset_acl): Implement for NonStop Kernel.
9227         * lib/copy-acl.c (qcopy_acl): Implement for NonStop Kernel.
9228         * tests/test-sameacls.c: For Solaris, test HAVE_FACL, not HAVE_ACL.
9229         (main): Implement for NonStop Kernel.
9230         * tests/test-file-has-acl.sh (acl_flavor): Set to 'nsk' on NonStop
9231         Kernel. Handle this flavor.
9232         * tests/test-set-mode-acl.sh: Likewise.
9233         * tests/test-copy-acl.sh: Likewise.
9234         * tests/test-copy-file.sh: Likewise.
9235
9236 2010-10-03  Bruno Haible  <bruno@clisp.org>
9237
9238         Info about ACLs on NonStop Kernel.
9239         * doc/acl-resources.txt: Add info about NonStop Kernel.
9240         References by Joachim Schmitz <schmitz@hp.com>.
9241
9242 2010-10-02  Bruno Haible  <bruno@clisp.org>
9243
9244         Define missing EDQUOT on NonStop Kernel.
9245         * lib/errno.in.h (EDQUOT): Assign a value if missing.
9246         * lib/strerror.c (rpl_strerror): Handle missing EDQUOT.
9247         * m4/errno_h.m4 (gl_HEADER_ERRNO_H): Also test whether EDQUOT is
9248         missing.
9249         * doc/posix-headers/errno.texi: Mention the NSK bug.
9250         * doc/posix-functions/strerror.texi: Mention the workaround on NSK.
9251         Reported by Joachim Schmitz <schmitz@hp.com>.
9252
9253 2010-10-02  Bruno Haible  <bruno@clisp.org>
9254
9255         Update doc for POSIX:2008.
9256         * doc/posix-headers/*.texi [except ucontext.texi, sys_timeb.texi]:
9257         Update URL of POSIX specification.
9258
9259 2010-10-02  Bruno Haible  <bruno@clisp.org>
9260
9261         gnulib-tool: In testdirs, use the newest available config.{guess.sub}.
9262         * gnulib-tool (func_create_testdir): Use config.guess and config.sub
9263         from gnulib, not from Automake.
9264
9265 2010-10-02  Bruno Haible  <bruno@clisp.org>
9266
9267         New module 'system-posix'.
9268         * modules/system-posix: New file.
9269         * lib/stdlib.in.h: Include <sys/wait.h> only when the 'system-posix'
9270         module is present.
9271         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize
9272         GNULIB_SYSTEM_POSIX.
9273         * modules/stdlib (Depends-on): Remove sys_wait.
9274         (Makefile.am): Substitute GNULIB_SYSTEM_POSIX.
9275         * doc/posix-functions/system.texi: Mention the new module.
9276         * doc/posix-headers/stdlib.texi: Likewise.
9277         * tests/test-stdlib.c: If GNULIB_TEST_SYSTEM_POSIX is not defined,
9278         define test_sys_wait_macros to a no-op.
9279         Reported by Sam Steingold <sds@gnu.org>.
9280
9281 2010-09-30  Bruno Haible  <bruno@clisp.org>
9282
9283         More renaming from 'getdate' to 'get_date'.
9284         * doc/get_date.texi: Renamed from doc/getdate.texi.
9285         * modules/get_date (Files): Update.
9286         * MODULES.html.sh (Date and time <time.h>): Update.
9287         * DEPENDENCIES: Update.
9288         * gnulib-tool: Update comment.
9289         * m4/bison.m4 (gl_BISON): Likewise.
9290         * m4/get_date.m4 (gl_GET_DATE): Likewise.
9291
9292 2010-09-30  Justin Clift  <jclift@redhat.com>  (tiny change)
9293
9294         bootstrap: support ACLOCAL_FLAGS during aclocal
9295         * build-aux/bootstrap (aclocal): Honor ACLOCAL_FLAGS, so the user
9296         can add additional -I dir for third-party .m4 files.
9297
9298 2010-09-30  Eric Blake  <eblake@redhat.com>
9299
9300         bootstrap: use glibtoolize on MacOS
9301         * build-aux/bootstrap (check_versions): Convert libtool into
9302         libtoolize.
9303         (tool search): Move libtool check earlier, and look for
9304         glibtoolize for MacOS.
9305         (gnulib_tool_options): Auto-add --libtool when appropriate.
9306         Reported by Justin Clift.
9307
9308         poll: fix typo that broke test on MacOS
9309         * m4/poll.m4 (gl_FUNC_POLL): Add missing test.
9310         Reported by Justin Clift.
9311
9312         getdate: rename to get_date
9313         Note: getdate.h is not renamed, to minimize client impact.
9314         * modules/getdate: Mark obsolete.  Move old contents...
9315         * modules/get_date: ...to new module name.
9316         * modules/getdate-tests: Move...
9317         * modules/get_date-tests: ...here.
9318         * m4/getdate.m4: Move...
9319         * m4/get_date.m4: ...here, and rename gl_GETDATE to gl_GET_DATE.
9320         * lib/getdate.y: Move...
9321         * lib/get_date.y: ...here.
9322         * tests/test-getdate.c: Move...
9323         * tests/test-get_date.c: ...here.
9324         * doc/posix-functions/getdate.texi (getdate): Update name.
9325         * NEWS: Mention the change.
9326
9327 2010-09-29  Bruno Haible  <bruno@clisp.org>
9328
9329         Separate the module 'waitpid' from the module 'sys_wait'.
9330         * lib/sys_wait.in.h (waitpid): Declare only if the 'waitpid' module is
9331         present.
9332         * m4/sys_wait_h.m4 (gl_SYS_WAIT_MODULE_INDICATOR): Invoke
9333         gl_MODULE_INDICATOR_FOR_TESTS.
9334         (gl_SYS_WAIT_H_DEFAULTS): Initialize GNULIB_WAITPID.
9335         * modules/sys_wait (Depends-on): Remove waitpid.
9336         (Makefile.am): Substitute GNULIB_WAITPID.
9337         * modules/waitpid (configure.ac): Invoke gl_SYS_WAIT_MODULE_INDICATOR.
9338         * tests/test-sys_wait-c++.cc (GNULIB_NAMESPACE::waitpid): Check the
9339         signature only if the 'waitpid' module is present.
9340         * doc/posix-functions/waitpid.texi: Mention the 'waitpid' module.
9341         * NEWS: Mention the change.
9342         * modules/grantpt (Depends-on): Add waitpid.
9343         * modules/wait-process (Depends-on): Likewise.
9344
9345 2010-09-29  Bruno Haible  <bruno@clisp.org>
9346
9347         More tests for module 'sys_wait'.
9348         * modules/sys_wait-c++-tests: New file.
9349         * tests/test-sys_wait-c++.cc: New file.
9350         * modules/sys_wait-tests (Depends-on): Add sys_wait-c++-tests.
9351         Reported by Tatsuro MATSUOKA <tmacchant5@yahoo.co.jp>.
9352
9353 2010-09-29  Bruno Haible  <bruno@clisp.org>
9354
9355         New module 'waitpid'.
9356         * lib/waitpid.c: New file, extracted from lib/sys_wait.in.h.
9357         * lib/sys_wait.in.h: Include <sys/types.h>, c++defs.h, warn-on-use.h.
9358         Don't include <process.h>.
9359         (waitpid): Declare only, using modern idiom.
9360         * m4/waitpid.m4: New file.
9361         * m4/sys_wait_h.m4 (gl_SYS_WAIT_H): Check whether waitpid is declared.
9362         * modules/waitpid: New file.
9363         * modules/sys_wait (Depends-on): Add c++defs, warn-on-use, waitpid.
9364         (Makefile.am): Update.
9365         Reported by Tatsuro MATSUOKA <tmacchant5@yahoo.co.jp>.
9366
9367 2010-09-28  Bruno Haible  <bruno@clisp.org>
9368
9369         poll: Assume ANSI C.
9370         * lib/poll.c (poll): Use an ANSI C declaration.
9371
9372 2010-09-28  Bruno Haible  <bruno@clisp.org>
9373
9374         poll-h: Create poll.h on all platforms.
9375         * lib/poll.in.h: Use double-inclusion guard. Don't define POLL*,
9376         struct pollfd, nfds_t, INFTIM when the system has <poll.h>.
9377         * m4/poll_h.m4 (gl_POLL_H): Set HAVE_POLL_H. Invoke
9378         gl_CHECK_NEXT_HEADERS. Don't set POLL_H.
9379         (gl_REPLACE_POLL_H): Don't set POLL_H.
9380         (gl_POLL_H_DEFAULTS): Don't initialize POLL_H.
9381         * modules/poll-h (Depends-on): Add include_next.
9382         (Makefile.am): Create poll.h unconditionally. Substitute also
9383         HAVE_POLL_H, INCLUDE_NEXT, PRAGMA_SYSTEM_HEADER, NEXT_POLL_H.
9384
9385 2010-09-28  Bruno Haible  <bruno@clisp.org>
9386
9387         Tests for module 'poll-h'.
9388         * modules/poll-h-c++-tests: New file.
9389         * tests/test-poll-h-c++.cc: New file.
9390
9391         Tests for module 'poll-h'.
9392         * modules/poll-h-tests: New file.
9393         * tests/test-poll-h.c: New file.
9394
9395 2010-09-28  Bruno Haible  <bruno@clisp.org>
9396
9397         poll-h: Ensure POLL{RD,WR}{NORM,BAND} are defined on glibc platforms.
9398         * modules/poll-h (Depends-on): Add 'extensions'.
9399
9400 2010-09-28  Bruno Haible  <bruno@clisp.org>
9401
9402         New module 'poll-h'.
9403         * lib/poll.in.h: Include c++defs.h and warn-on-use.h.
9404         (poll): Use modern idiom.
9405         * modules/poll-h: New file.
9406         * modules/poll (Files): Remove lib/poll.in.h.
9407         (Depends-on): Add poll-h.
9408         (configure.ac): Invoke gl_POLL_MODULE_INDICATOR.
9409         (Makefile.am): Move code for generation of poll.h to modules/poll-h.
9410         * m4/poll_h.m4: New file.
9411         * m4/poll.m4 (gl_FUNC_POLL): Require gl_POLL_H. Don't check for poll.h
9412         here. Don't set POLL_H here. Instead, set HAVE_POLL and REPLACE_POLL
9413         and invoke gl_REPLACE_POLL_H.
9414         * lib/poll.c: Use common idiom.
9415         * tests/test-poll.c: Likewise.
9416         * doc/posix-headers/poll.texi: Mention the poll-h module.
9417         Suggested by Eric Blake.
9418
9419 2010-09-26  Bruno Haible  <bruno@clisp.org>
9420
9421         sys_wait: Implement WSTOPSIG.
9422         * lib/sys_wait.in.h (WSTOPSIG): New macro.
9423         Reported by Simon Josefsson.
9424
9425 2010-09-26  Simon Josefsson  <simon@josefsson.org>
9426
9427         stdlib, sys_wait: Avoid compilation error on mingw.
9428         * lib/sys_wait.in.h: Include <signal.h>, for SIGTERM.
9429
9430 2010-09-26  Bruno Haible  <bruno@clisp.org>
9431
9432         stdlib tests: Avoid code duplication.
9433         * modules/stdlib-tests (Files): Add tests/test-sys_wait.h.
9434         * modules/sys_wait-tests (Files): Likewise.
9435         * tests/test-sys_wait.h: New file, extracted from tests/test-stdlib.c.
9436         * tests/test-stdlib.c: Include test-sys_wait.h.
9437         (main): Invoke test_sys_wait_macros.
9438         * tests/test-sys_wait.c: Include test-sys_wait.h.
9439         (main): Invoke test_sys_wait_macros.
9440
9441 2010-09-25  Simon Josefsson  <simon@josefsson.org>
9442
9443         * modules/getaddrinfo (Depends-on): Depend on the sockets module.
9444         * lib/getaddrinfo.c (use_win32_p): Call gl_sockets_startup to make
9445         sure Windows sockets are working before calling getaddrinfo.
9446         * tests/test-getaddrinfo.c (main): Don't call WSAStartup here.
9447         * doc/gnulib.texi (Windows sockets): Fix typo.
9448
9449 2010-09-25  Bruno Haible  <bruno@clisp.org>
9450
9451         Tests for module 'regex-quote'.
9452         * modules/regex-quote-tests: New file.
9453         * tests/test-regex-quote.c: New file.
9454
9455         New module 'regex-quote'.
9456         * lib/regex-quote.h: New file.
9457         * lib/regex-quote.c: New file.
9458         * modules/regex-quote: New file.
9459         Suggested by Reuben Thomas <rrt@sc3d.org>.
9460
9461 2010-09-24  Bruno Haible  <bruno@clisp.org>
9462
9463         unistr/u8-strchr: Fix a test failure on i586 glibc systems.
9464         * tests/unistr/test-strchr.h (test_strchr): Disable an invalid check.
9465
9466 2010-09-23  Bruno Haible  <bruno@clisp.org>
9467
9468         setenv: Relax license.
9469         * modules/setenv (License): Change to LGPLv2+, with consent by Eric
9470         Blake.
9471         Requested by Eric Blake.
9472
9473 2010-09-22  Bruno Haible  <bruno@clisp.org>
9474
9475         termios: Relax license.
9476         * modules/termios (License): Change to LGPLv2+.
9477         Requested by Eric Blake.
9478
9479 2010-09-22  Bruno Haible  <bruno@clisp.org>
9480
9481         threadlib: Allow the package to change the default to 'no'.
9482         * m4/threadlib.m4 (gl_THREADLIB_EARLY_BODY): When
9483         gl_THREADLIB_DEFAULT_NO is defined, change the default to 'no'.
9484         Reported by Paul Eggert.
9485
9486 2010-09-22  Pádraig Brady  <P@draigbrady.com>
9487             Bruno Haible  <bruno@clisp.org>
9488
9489         Fix endless loop in mbmemcasecoll.
9490         * lib/mbmemcasecoll.c (apply_towlower): When mbrtowc returns 0, copy 1
9491         byte.
9492         * tests/test-mbmemcasecmp.h (test_ascii): Test embedded NULs.
9493
9494 2010-09-22  Bruno Haible  <bruno@clisp.org>
9495
9496         Tests for module 'memcoll'.
9497         * modules/memcoll-tests: New file.
9498         * tests/test-memcoll.c: New file, based on tests/test-memcmp.c.
9499
9500         memcoll, xmemcoll: Clarify size vs. length.
9501         * modules/memcoll.c (memcoll0): Clarify specification.
9502         * modules/xmemcoll.c (xmemcoll0): Likewise. Reduce by 1 the lengths
9503         passed to collate_error.
9504
9505 2010-09-22  Bruno Haible  <bruno@clisp.org>
9506
9507         Tests for module 'memcasecmp'.
9508         * modules/memcasecmp-tests: New file.
9509         * tests/test-memcasecmp.c: New file, based on tests/test-memcmp.c.
9510
9511 2010-09-22  Paul Eggert  <eggert@cs.ucla.edu>
9512
9513         * lib/pthread.in.h: Add split double-inclusion guard, and include
9514         system <pthread.h> if there is one.  Use @@-style as in other
9515         .in.h files.  Define PTHREAD_COND_INITIALIZER etc. only if system
9516         pthread.h doesn't.
9517         (pthread_mutexattr_destroy, pthread_mutexattr_init):
9518         (pthread_mutexattr_settype, pthread_mutex_trylock):
9519         New static inline functions, if there's no system <pthread.h>.
9520         (pthread_spinlock_t, pthread_spin_init, pthread_spin_destroy):
9521         (pthread_spin_lock, pthread_spin_trylock, pthread_spin_unlock):
9522         Approximate with mutexes if the system lacks spinlocks, as in
9523         MacOS.
9524         * m4/pthread.m4 (gl_PTHREAD_CHECK): Require gl_PTHREAD_DEFAULTS.
9525         Add gl_CHECK_NEXT_HEADERS for pthread.h, and support the usual
9526         @@-style.  Check for spinlocks separately.
9527         (gl_PTHREAD_DEFAULTS): New macro.
9528         * modules/pthread: Redo to use a more typical style for in.h files.
9529
9530 2010-09-21  Eric Blake  <eblake@redhat.com>
9531
9532         net_if: enhance tests
9533         * tests/test-net_if.c (main): Move signature checks earlier.
9534         Print failures to stderr.
9535         * doc/posix-functions/if_freenameindex.texi (if_freenameindex):
9536         Document the bug that we do not yet fix.
9537
9538 2010-09-21  Reuben Thomas  <rrt@sc3d.org>
9539
9540         * doc/gnulib.texi (Out of memory handling): Rewrite section to be
9541         about gnulib, not GSS.
9542
9543 2010-09-21  Reuben Thomas  <rrt@sc3d.org>
9544
9545         * build-aux/pmccabe2html: Look for sources in src/ instead of lib/.
9546         * build-aux/pmccabe2html: Set cut_dir properly, and add mode line
9547         for Emacs.
9548         * build-aux/pmccabe2html: Make Makefile.am example code more
9549         cut-and-paste friendly.
9550
9551 2010-09-21  Simon Josefsson  <simon@josefsson.org>
9552
9553         * tests/test-net_if.c: New file.
9554         * modules/net_if-tests: New file.
9555
9556 2010-09-20  Paul Eggert  <eggert@cs.ucla.edu>
9557
9558         pthread: add pthread_spin_destroy
9559         * lib/pthread.in.h (pthread_spin_destroy): New function.
9560
9561 2010-09-19  Bruno Haible  <bruno@clisp.org>
9562
9563         gnulib-tool: Fix --help output.
9564         * gnulib-tool (func_usage): Fix help message.
9565         Reported by Reuben Thomas <rrt@sc3d.org>.
9566
9567 2010-09-18  Jim Meyering  <meyering@redhat.com>
9568
9569         maint.mk: avoid unexpanded \n in two diagnostics
9570         * top/maint.mk (sc_prohibit_always_true_header_tests):
9571         Don't use a literal \n in a halt=... assignment.  It would not be
9572         expanded, and the two \n bytes would appear in the diagnostic output
9573         rather than the desired newline.  Use halt=$$(printf ... instead.
9574         (sc_vulnerable_makefile_CVE-2009-4029): Likewise.
9575
9576 2010-09-18  Bruno Haible  <bruno@clisp.org>
9577
9578         netinet_in: Doc tweak.
9579         * doc/posix-headers/netinet_in.texi: Mention an affected platform.
9580         Reported by Mats Erik Andersson <mats.andersson@gisladisker.se>.
9581
9582 2010-09-18  Jim Meyering  <meyering@redhat.com>
9583
9584         init.sh: correct an outdated comment
9585         * tests/init.sh (create_exe_shims_):  s/function/alias/
9586
9587         init.sh: don't let an ephemeral "*.exe" make us skip all dir entries
9588         * tests/init.sh (find_exe_basenames_): Don't give up on a directory if
9589         a file named "*.exe" is removed between the glob expansion and the
9590         processing of that oddly named file.
9591
9592 2010-09-17  Eric Blake  <eblake@redhat.com>
9593
9594         mirbsd: add some more support
9595         * m4/c-stack.m4 (AC_SYS_XSI_STACK_OVERFLOW_HEURISTIC): MirBSD is
9596         in BSD family.
9597         * m4/gc-random.m4 (gl_GC_RANDOM): MirBSD supports same random
9598         devices as OpenBSD.
9599         * m4/host-os.m4 (mirbsd): Add MirBSD.
9600
9601         tests: fix unportable assumption on sys/wait.h
9602         * tests/test-sys_wait.c (main): Relax test.
9603         * tests/test-stdlib.c (main): Likewise.
9604
9605         init.sh: accomodate directory with no .exes
9606         * tests/init.sh: Accomodate directory containing only scripts.
9607
9608         tests: avoid compiler warning
9609         * tests/test-stdlib.c (main): Use the variable.
9610
9611         fdutimens, fdutimensat: update signature, again
9612         * lib/utimens.h (gl_futimens): Delete, and move signature...
9613         (fdutimens): ...here.
9614         (fdutimensat): Rearrange signature.
9615         (lutimensat): Rename variable for clarity.
9616         * lib/fdutimensat.c (fdutimensat): Update signature.
9617         * lib/utimens.c (fdutimens): Likewise.
9618         (gl_futimens): Delete.
9619         (utimens, lutimens): Update callers.
9620         * lib/futimens.c (futimens): Likewise.
9621         * tests/test-fdutimensat.c: Likewise.
9622         * tests/test-utimens.c: Likewise.
9623         * tests/test-futimens.h: Update comment.
9624         * NEWS: Mention this.
9625         Suggested by Paul Eggert.
9626
9627 2010-09-17  Bruno Haible  <bruno@clisp.org>
9628
9629         Take over the maintenance of some older macros from Autoconf.
9630         * m4/error.m4 (AC_FUNC_ERROR_AT_LINE): New macro, from GNU Autoconf.
9631         * m4/lstat.m4 (AC_FUNC_LSTAT_FOLLOWS_SLASHED_SYMLINK): New macro, from
9632         GNU Autoconf.
9633         * m4/memcmp.m4 (AC_FUNC_MEMCMP): New macro, from GNU Autoconf.
9634         * m4/mktime.m4 (AC_FUNC_MKTIME): Change comment.
9635
9636 2010-09-17  Eric Blake  <eblake@redhat.com>
9637
9638         fdutimensat: drop atflag validation
9639         * lib/fdutimensat.c (fdutimensat): Allow AT_SYMLINK_NOFOLLOW even
9640         with valid fd, to close a race scenario where futimens is
9641         unsupported and FILE was replaced by a symlink.
9642         * tests/test-fdutimensat.c (do_fdutimens, main): Adjust test
9643         accordingly.
9644         Suggested by Paul Eggert.
9645
9646 2010-09-16  Bruno Haible  <bruno@clisp.org>
9647
9648         unlockpt: Fix declaration within GNULIB_POSIXCHECK.
9649         * lib/stdlib.in.h (unlockpt): Fix warning declaration.
9650
9651 2010-09-16  Bruno Haible  <bruno@clisp.org>
9652
9653         login_tty: Fix detection of function on FreeBSD, OpenBSD, NetBSD.
9654         * m4/pty.m4 (gl_FUNC_LOGIN_TTY): Augment LIBS while checking whether
9655         login_tty exists.
9656         Reported by Mats Erik Andersson <mats.andersson@gisladisker.se>.
9657
9658 2010-09-16  Bruno Haible  <bruno@clisp.org>
9659
9660         login_tty: Make the replacement code work on BSD systems.
9661         * lib/login_tty.c: Include <sys/ioctl.h>.
9662         (login_tty): Use ioctl TIOCSCTTY when available.
9663         * modules/login_tty (Depends-on): Add sys_ioctl.
9664         Reported by Mats Erik Andersson <mats.andersson@gisladisker.se>.
9665
9666 2010-09-16  Bruno Haible  <bruno@clisp.org>
9667
9668         login_tty: Stricter unit test.
9669         * modules/login_tty-tests (Depends-on): Add tcgetsid.
9670         * tests/test-login_tty.c (main): Also check the results of tcgetpgrp()
9671         and tcgetsid() after login_tty.
9672         Reported by Mats Erik Andersson <mats.andersson@gisladisker.se>.
9673
9674 2010-09-16  Bruno Haible  <bruno@clisp.org>
9675
9676         New module 'tcgetsid'.
9677         * lib/tcgetsid.c: New file.
9678         * m4/tcgetsid.m4: New file.
9679         * modules/tcgetsid: New file.
9680         * modules/termios (Depends-on): Add c++defs, warn-on-use.
9681         (Makefile.am): Ensure c++defs.h, warn-on-use.h get included. Substitute
9682         GNULIB_TCGETSID, HAVE_TCGETSID.
9683         * lib/termios.in.h: Include <sys/types.h>.
9684         (tcgetsid): New declaration.
9685         * m4/termios_h.m4 (gl_TERMIOS_H): Check whether tcgetsid is declared.
9686         (gl_TERMIOS_H_DEFAULTS): Initialize GNULIB_TCGETSID, HAVE_TCGETSID.
9687         * doc/posix-functions/tcgetsid.texi: Mention the new module.
9688         * tests/test-termios-c++.cc: Check GNULIB_NAMESPACE::tcgetsid.
9689
9690 2010-09-16  Bruno Haible  <bruno@clisp.org>
9691
9692         Tests for module 'termios'.
9693         * modules/termios-c++-tests: New file.
9694         * modules/termios-tests: New file.
9695         * tests/test-termios-c++.cc: New file.
9696         * tests/test-termios.c: New file.
9697
9698         New module 'termios'.
9699         * modules/termios: New file.
9700         * lib/termios.in.h: New file.
9701         * m4/termios_h.m4: New file.
9702         * doc/posix-headers/termios.texi: Mention the new module.
9703
9704 2010-09-16  Eric Blake  <eblake@redhat.com>
9705
9706         fdutimensat: add an atflag parameter
9707         * lib/fdutimensat.c (fdutimensat): Add new parameter.
9708         * lib/utimens.h (fdutimensat): Update prototype.
9709         * tests/test-fdutimensat.c: Adjust test to match.
9710         * NEWS: Document the change.
9711         Suggested by Paul Eggert.
9712
9713 2010-09-16  Bruno Haible  <bruno@clisp.org>
9714
9715         Fix typos in comments.
9716         * lib/striconveh.h: Fix typo in comment.
9717         * lib/login_tty.c (login_tty): Likewise.
9718
9719 2010-09-15  Bruno Haible  <bruno@clisp.org>
9720
9721         stdlib: clarify MirBSD WEXITSTATUS bug
9722         * lib/stdlib.in.h: Clarify the MirBSD bug regarding WEXITSTATUS.
9723         * doc/posix-headers/stdlib.texi (stdlib.h): Likewise.
9724
9725 2010-09-15  Eric Blake  <eblake@redhat.com>
9726
9727         stdlib: work around MirBSD WEXITSTATUS bug
9728         * lib/stdlib.in.h (includes): Guarantee WEXITSTATUS.
9729         * modules/stdlib (Depends-on): Add sys_wait.
9730         * tests/test-sys_wait.c (main): Enhance test.
9731         * tests/test-stdlib.c (main): Likewise.
9732         * doc/posix-headers/stdlib.texi (stdlib.h): Document the bug.
9733
9734         docs: mention MacOS issue with WEXITSTATUS(constant)
9735         * doc/posix-headers/sys_wait.texi (sys/wait.h): Document the
9736         issue.
9737         * doc/posix-headers/stdlib.texi (stdlib.h): Likewise.
9738
9739         strnlen: add tests
9740         * modules/strnlen-tests: New file.
9741         * tests/test-strnlen.c: Likewise.
9742
9743 2010-09-14  Bruno Haible  <bruno@clisp.org>
9744
9745         unistr/base: Avoid link errors when module 'libunistring' is also used.
9746         * lib/unistr.in.h (u8_mbtouc_unsafe, u16_mbtouc_unsafe,
9747         u32_mbtouc_unsafe, u8_mbtouc, u16_mbtouc, u32_mbtouc, u8_mbtoucr,
9748         u16_mbtoucr, u32_mbtoucr, u8_uctomb_aux, u16_uctomb_aux, u32_uctomb):
9749         Declare also when HAVE_LIBUNISTRING is set.
9750         Reported by Pádraig Brady <P@draigbrady.com>.
9751
9752 2010-09-14  Eric Blake  <eblake@redhat.com>
9753
9754         test-rawmemchr: make more robust
9755         * modules/rawmemchr-tests (Files): Add zerosize-ptr.h, mmap-anon.m4.
9756         (Depends-on, configure.ac): Add needed prerequisites to use it.
9757         * modules/memchr-tests (Files, Depends-on, configure.ac):
9758         Likewise, to avoid implicit reliance on memchr module prereqs.
9759         * tests/test-memchr.c (main): Ensure proper masking.
9760         * tests/test-rawmemchr.c (main): Likewise.  Detect oversized
9761         reads.
9762
9763         memchr: detect glibc Alpha bug
9764         Avoids http://sourceware.org/bugzilla/show_bug.cgi?id=12019.
9765         * m4/memchr.m4 (gl_FUNC_MEMCHR): Detect glibc 2.11.2 failure on
9766         Alpha.
9767         * doc/posix-functions/memchr.texi (memchr): Tweak wording.
9768         * tests/test-memchr.c (main): Enhance test.
9769         Reported by Nelson H. F. Beebe.
9770
9771 2010-09-13  Paul Eggert  <eggert@cs.ucla.edu>
9772
9773         fts, getcwd, glob: audit for dirfd returning -1
9774         * lib/fts.c (opendir): Remove #define; no longer used.
9775         (opendirat): New arg PDIR_FD.  All callers changed.
9776         (fts_build, _opendir2): Use new opendirat to avoid the need for
9777         dirfd, or for checking whether dirfd returns a negative value.
9778         Don't use opendir; always use openat followed by fdopendir.
9779         * lib/getcwd.c (__getcwd): Don't reset fd; fdopendir no longer clobbers
9780         it.
9781         * lib/glob.c (link_exists_p): Add comment explaining why dirfd never
9782         returns -1 here.
9783         * modules/fts (Depends-on): Remove dirfd.
9784         * modules/getcwd (Depends-on): Likewise.
9785
9786 2010-09-13  Eric Blake  <eblake@redhat.com>
9787
9788         float: fix broken MirBSD header
9789         * m4/float_h.m4 (gl_FLOAT_H): MirBSD copied OpenBSD's bug.
9790         * doc/posix-headers/float.texi (float.h): Document it.
9791
9792 2010-09-13  Paul Eggert  <eggert@cs.ucla.edu>
9793
9794         fts: use O_NOFOLLOW to avoid race condition when opening a directory
9795         * lib/fts.c (opendirat): New arg extra_flags.
9796         (__opendir2): Use it to avoid following symlinks when opening
9797         a directory, if symlinks are not supposed to be followed.  See
9798         <http://lists.gnu.org/archive/html/bug-gnulib/2010-09/msg00213.html>.
9799
9800         fdopendir: preserve argument fd before returning
9801         * lib/fdopendir.c: Adjust comments to say POSIX, not Solaris.
9802         (fdopendir_with_dup, fd_clone_opendir): New static functions.
9803         (fdopendir): Use them, arranging for FD to be open to the same
9804         directory that it was when it started.  (It might be temporarily
9805         closed while fdopendir is running, so this not thread- or
9806         signal-safe.)  Be careful to do the right thing even when file
9807         descriptors are scarce and dup fails with errno == EMFILE.  See
9808         <http://lists.gnu.org/archive/html/bug-gnulib/2010-09/msg00208.html>.
9809
9810 2010-09-10  Paolo Bonzini  <bonzini@gnu.org>
9811
9812         regex: Pass the system regex if its only problem is 32-bit regoff_t.
9813         * NEWS: Document change.
9814         * m4/regex.m4: Disable test for regoff_t size.
9815
9816 2010-09-13  Jim Meyering  <meyering@redhat.com>
9817
9818         fts: don't operate on an invalid file descriptor after failed dup
9819         * lib/fts.c (fts_build): Don't call set_cloexec_flag on a
9820         negative file descriptor.
9821
9822 2010-09-12  Paul Eggert  <eggert@cs.ucla.edu>
9823
9824         savedir: add streamsavedir, deprecate fdsavedir
9825         * NEWS: Mention deprecation of fdsavedir.
9826         * lib/savedir.c (streamsavedir): New extern function, whose name
9827         ends in "savedir" to be consistent with the others.  This differs
9828         from savedirstream in that it doesn't close its argument.  The
9829         next version of GNU tar will use this instead of fdsavedir, to
9830         avoid some race conditions and conserve file descriptors.
9831         (savedirstream): Reimplement as a wrapper around streamsavedir.
9832         (fdsavedir): Add a comment deprecating this function.  As far as
9833         I know, only GNU tar used it, and GNU tar doesn't need it any more.
9834         * lib/savedir.h (streamsavedir): New decl.
9835         (fdsavedir): Add a comment deprecating this.
9836
9837 2010-09-10  Bruno Haible  <bruno@clisp.org>
9838
9839         langinfo: Fix last commit.
9840         * m4/langinfo_h.m4 (gl_LANGINFO_H): Initialize
9841         HAVE_LANGINFO_T_FMT_AMPM, HAVE_LANGINFO_YESEXPR.
9842         Reported by Tom G. Christensen <tgc@jupiterrise.com>.
9843
9844 2010-09-10  Bruno Haible  <bruno@clisp.org>
9845
9846         relocatable-prog-wrapper: Fix compilation failure due to O_EXEC.
9847         * lib/progreloc.c (O_EXEC): Define fallback.
9848
9849 2010-09-10  Paul Eggert  <eggert@cs.ucla.edu>
9850
9851         fcntl-h: define O_CLOEXEC and O_EXEC if not defined; use new defines
9852         * NEWS: Document recent changes to fcntl-h.
9853         * doc/posix-headers/fcntl.texi (fcntl.h): Document that
9854         O_CLOEXEC is now defined to 0 if it is not defined, like other flags.
9855         Also, O_EXEC is now defined to be O_RDONLY if O_EXEC is not defined.
9856         Similarly for O_SEARCH; this last was already true, but not documented.
9857         * lib/fcntl.in.h (O_CLOEXEC): Define to 0 if not defined.
9858         * lib/dup-safer-flag.c (O_CLOEXEC): Remove now-useless #define.
9859         * lib/dup3.c, lib/pipe2.c, tests/test-dup-safer.c, tests/test-fcntl.c:
9860         Likewise.
9861         * lib/popen-safer.c (open_noinherit): Check whether O_CLOEXEC
9862         is zero, not whether it is defined.
9863         * tests/test-dup3.c, tests/test-pipe2.c (main): Likewise.
9864         * lib/progreloc.c (find_executable): Use O_EXEC rather than O_RDONLY.
9865         * lib/open.c (open): Check for O_SEARCH as well as for O_RDONLY.
9866
9867 2010-09-10  Bruno Haible  <bruno@clisp.org>
9868
9869         langinfo, nl_langinfo: Fix for IRIX 5.3.
9870         * m4/langinfo_h.m4 (gl_LANGINFO_H): Test whether langinfo.h defines
9871         T_FMT_AMPM, YESEXPR. Set HAVE_LANGINFO_T_FMT_AMPM,
9872         HAVE_LANGINFO_YESEXPR.
9873         * modules/langinfo (Makefile.am): Substitute HAVE_LANGINFO_T_FMT_AMPM,
9874         HAVE_LANGINFO_YESEXPR.
9875         * lib/langinfo.in.h (T_FMT_AMPM, GNULIB_defined_T_FMT_AMPM): Define if
9876         HAVE_LANGINFO_T_FMT_AMPM is 0.
9877         (YESEXPR, NOEXPR, GNULIB_defined_YESEXPR): Define if
9878         HAVE_LANGINFO_YESEXPR is 0.
9879         * lib/nl_langinfo.c (rpl_nl_langinfo): Handle also T_FMT_AMPM, YESEXPR,
9880         NOEXPR.
9881         * doc/posix-headers/langinfo.texi: Mention the IRIX 5.3 problem.
9882         * doc/posix-functions/nl_langinfo.texi: Likewise.
9883         Reported by Eric Blake.
9884
9885 2010-09-10  Bruno Haible  <bruno@clisp.org>
9886
9887         pty, readutmp: Fix for FreeBSD 8.0 and OpenBSD 4.6.
9888         * doc/glibc-functions/login_tty.texi: Mention the include file problem
9889         on FreeBSD 8.0 and OpenBSD 4.6.
9890         * lib/pty.in.h: Include <sys/types.h> before <libutil.h>.
9891         * m4/pty_h.m4 (gl_PTY_H): Likewise.
9892         * m4/pty.m4 (gl_FUNC_FORKPTY, gl_FUNC_OPENPTY): Likewise.
9893         * m4/readutmp.m4 (gl_READUTMP): Include <sys/types.h> before <utmp.h>.
9894         Invoke AC_INCLUDES_DEFAULT instead of using the undocumented variable
9895         ac_includes_default.
9896         Reported by Mats Erik Andersson <mats.andersson@gisladisker.se>.
9897
9898 2010-09-09  Eric Blake  <eblake@redhat.com>
9899
9900         strsignal: work around NetBSD bug
9901         * m4/strsignal.m4 (gl_FUNC_STRSIGNAL): Also check in <unistd.h>.
9902         * lib/string.in.h (includes): Likewise.
9903         * doc/posix-functions/strsignal.texi (strsignal): Document the
9904         bug.
9905         Reported by Nelson H. F. Beebe.
9906
9907         gnulib-tool: work with NetBSD /bin/sh
9908         * gnulib-tool (func_cache_var, func_cache_lookup_module)
9909         (func_get_description, func_get_comment, func_get_status)
9910         (func_get_notice, func_get_applicability, func_get_filelist)
9911         (func_get_dependencies, func_get_autoconf_early_snippet)
9912         (func_get_autoconf_snippet, func_get_automake_snippet)
9913         (func_get_include_directive, func_get_link_directive)
9914         (func_get_license, func_get_maintainer, func_import): Avoid
9915         shell syntax errors from parsing syntax extensions.
9916
9917 2010-09-09  Bruno Haible  <bruno@clisp.org>
9918
9919         gnulib-tool: Avoid stderr output on IRIX related to 'alias', 'unalias'.
9920         * gnulib-tool: Don't fiddle with file descriptors 0, 1, 2. Instead, use
9921         a reliable way to determine whether the 'alias' command works.
9922
9923 2010-09-08  Jim Meyering  <meyering@redhat.com>
9924
9925         init.sh: penalize a set-x-impaired shell; don't disqualify it
9926         * tests/init.sh: Too many shells corrupt application stderr when
9927         you set -x, so we can't afford to disqualify them, since at least
9928         on Irix-6.5, that would disqualify all bourne shells.
9929         Instead, use a two-pass approach.
9930         On the first pass, try to find a shell that meets the stricter
9931         condition that set -x does not corrupt stderr.
9932         If no shell meets the stricter condition, retest each candidate
9933         shell, but without that extra condition.  Finally, when
9934         VERBOSE=yes is requested and set -x might cause trouble, simply
9935         issue a warning and refrain from enabling debug output.
9936
9937 2010-09-08  Eric Blake  <eblake@redhat.com>
9938
9939         unsetenv: fix OpenBSD bug
9940         * m4/setenv.m4 (gl_FUNC_UNSETENV): Check for OpenBSD bug.
9941         * doc/posix-functions/unsetenv.texi (unsetenv): Update
9942         documentation.
9943         Reported by Jim Meyering.
9944
9945         strtod: work around IRIX 6.5 bug
9946         * lib/strtod.c (strtod): Reparse number on shorter string if
9947         exponent parse was invalid.
9948         * tests/test-strtod.c (main): Add check for "0x1p 2".
9949         Reported by Tom G. Christensen.
9950
9951         getopt: optimize previous patch
9952         * m4/getopt.m4 (gl_GETOPT_CHECK_HEADERS): Correctly check for
9953         empty variable.  Speed up awk script.
9954         Reported by Paolo Bonzini.
9955
9956 2010-09-08  Jim Meyering  <meyering@redhat.com>
9957
9958         test.sh: disqualify shells for which set -x corrupts stderr
9959         * tests/init.sh: Add a test to disqualify /bin/sh from SunOS 5.11
9960         and OpenBSD 4.7.  They make it so with "set -x", environment settings
9961         appear in stderr output.  For example, this command:
9962             /bin/sh -c 'set -x; P=1 true 2> err' 2>/dev/null; cat err
9963         prints "P=1" on those two systems:
9964
9965 2010-09-08  Bruno Haible  <bruno@clisp.org>
9966
9967         gnulib-tool: Avoid stderr output on IRIX related to 'alias', 'unalias'.
9968         * gnulib-tool: Use stderr redirection around the 'alias' and 'unalias'
9969         commands, because some shells ignore redirections when there is an
9970         error in the command lookup.
9971         Reported by Eric Blake.
9972
9973 2010-09-07  Reuben Thomas  <rrt@sc3d.org>
9974
9975         * lib/regex.h: Fix a mention of `regex_compile' (should be
9976         `re_compile_pattern').
9977         Correct and clarify documentation for RE_CONTEXT_INVALID_DUP.
9978         (re_set_registers): Correct name of parameter in comment.
9979
9980         * doc/regex.texi: Add documentation for missing syntax flags.
9981         Remove commented-out documentation of defunct syntax option
9982         RE_NO_EMPTY_ALTS.
9983         Correct name of RE_CHAR_CLASSES in one incorrect occurrence.
9984         Add documentation of re_set_registers.
9985         Document trick to re-use a pattern buffer by setting fastmap manually.
9986         Update documentation of struct re_pattern_buffer per public members.
9987         Uncomment documentation of equivalence class operators and
9988         collating symbol operators, since they are now implemented,
9989         Explain leftmost-longest matching in relation to alternatives.
9990         Tidy documentation of substring matching.
9991         Remove POSIX documentation, which is done better in
9992         glibc, and refer the reader there. Keep BSD API documentation, as
9993         that is not readily available elsewhere.
9994
9995 2010-09-07  Eric Blake  <eblake@redhat.com>
9996
9997         getopt: handle POSIXLY_CORRECT set but not exported
9998         * m4/getopt.m4 (gl_GETOPT_CHECK_HEADERS): Restore pre-existing
9999         export state of POSIXLY_CORRECT, due to bash set -o posix.
10000         Reported by Dustin J. Mitchell.
10001
10002 2010-09-05  Bruno Haible  <bruno@clisp.org>
10003
10004         gnulib-tool: Highlight the changed options.
10005         * gnulib-tool (func_usage): Display the --import, --add-import,
10006         --remove-import explanations in bold font.
10007
10008 2010-09-06  Karl Berry  <karl@gnu.org>
10009
10010         * doc/gnulib-tool.texi (Modified imports): doc tweaks.
10011
10012 2010-09-05  Bruno Haible  <bruno@clisp.org>
10013
10014         uniwidth/width: Update comment.
10015         * lib/uniwidth/width.c (uc_width): Update comment for Unicode >= 3.1.
10016         Reported by Emanuele Giaquinta <emanuele.giaquinta@gmail.com>.
10017
10018 2010-09-05  Bruno Haible  <bruno@clisp.org>
10019
10020         isinf, isnan: Relax license.
10021         * modules/isinf (License): Change from GPL to LGPL, with consent from
10022         Ben Pfaff.
10023         * modules/isnan (License): Likewise.
10024         Requested by Ludovic Courtès.
10025
10026 2010-09-04  Bruno Haible  <bruno@clisp.org>
10027
10028         gnulib-tool: Help migration from --import to --add-import or --update.
10029         * gnulib-tool: Emit a verbose error message when --import is used
10030         without any module name.
10031
10032 2010-09-04  Bruno Haible  <bruno@clisp.org>
10033
10034         Update doc about gnulib-tool.
10035         * doc/gnulib-tool.texi (VCS Issues): Explain 'gnulib-tool --import' vs.
10036         'gnulib-tool --update' in more detail.
10037         Reported by Eric Blake.
10038
10039 2010-09-04  Bruno Haible  <bruno@clisp.org>
10040
10041         gnulib-tool: Change --import. New options --add/remove-import.
10042         * gnulib-tool: New options --add-import, --remove-import.
10043         (func_usage): Document them.
10044         (have_associative): Define always.
10045         (func_import): In import mode, don't merge the specified settings with
10046         the cached settings. Implement remove-import mode.
10047         * doc/gnulib-tool.texi (Modified imports): Mention the new options.
10048         Explain when to use them versus --import.
10049         (Simple update): Use --add-import instead of --import.
10050         * NEWS: Mention the change.
10051
10052 2010-09-04  Bruno Haible  <bruno@clisp.org>
10053
10054         * doc/gnulib-tool.texi (Initial import): Update paragraph about
10055         separate gnulib.mk.
10056
10057 2010-09-04  Bruno Haible  <bruno@clisp.org>
10058
10059         gnulib-tool: Don't talk about CVS any more.
10060         * gnulib-tool (func_usage, func_import): Write "version control"
10061         instead of CVS.
10062
10063 2010-09-04  Jim Meyering  <meyering@redhat.com>
10064
10065         maint.mk: avoid obscure sc_copyright_check failure in coreutils
10066         * top/maint.mk (v_etc_file): Prepend $(gnulib_dir)/, to avoid
10067         false positives (whose names may be ill-chosen) when searching
10068         non-VC'd files.  Otherwise, a file named "a b/lib/version-etc.c"
10069         would cause a false-positive.
10070
10071         avoid coreutils "make distcheck" failure
10072         Coreutils tests with an absolute build directory name that contains
10073         a space.  Not quoting this directory name caused a failure.
10074         * tests/test-vc-list-files-git.sh: Quote PATH dir name.
10075         * tests/test-vc-list-files-cvs.sh: Likewise.
10076
10077 2010-09-04  Bruno Haible  <bruno@clisp.org>
10078
10079         gnulib-tool: Avoid error when run in a package without Makefile.am.
10080         * gnulib-tool: When collecting the m4dirs in a package that does not
10081         have a Makefile.am, eliminate those directories that contain no
10082         gnulib-cache.m4. Fix expression that counts these directories.
10083
10084 2010-09-04  Bruno Haible  <bruno@clisp.org>
10085
10086         update-copyright test: Improve output when perl is missing or too old.
10087         * tests/test-update-copyright.sh: Move test of Perl version down after
10088         the test whether Perl exists. Provide an explanation relating Perl's
10089         error message to Automake's SKIP: message.
10090
10091 2010-09-04  Bruno Haible  <bruno@clisp.org>
10092
10093         Don't augment PATH in TESTS_ENVIRONMENT.
10094         * modules/update-copyright-tests (Makefile.am): In TESTS_ENVIRONMENT,
10095         set abs_aux_dir instead of augmenting PATH.
10096         * modules/vc-list-files-tests (Makefile.am): Likewise.
10097         * tests/test-update-copyright.sh: Augment PATH here.
10098         * tests/test-vc-list-files-cvs.sh: Augment PATH here, through
10099         path_prepend_.
10100         * tests/test-vc-list-files-git.sh: Likewise.
10101
10102 2010-09-04  Jim Meyering  <meyering@redhat.com>
10103
10104         tests: prohibit augmenting PATH via TESTS_ENVIRONMENT
10105         * Makefile (sc_prohibit_augmenting_PATH_via_TESTS_ENVIRONMENT): New rule.
10106
10107 2010-09-04  Bruno Haible  <bruno@clisp.org>
10108
10109         strdup: Fix compilation error in C++ mode.
10110         * lib/string.in.h (strdup): In C++ mode with GNULIB_NAMESPACE, undefine
10111         the macro.
10112
10113 2010-09-04  Bruno Haible  <bruno@clisp.org>
10114
10115         dirfd: Fix compilation error in C++ mode on MacOS X, *BSD, IRIX.
10116         * lib/dirent.in.h (dirfd): In C++ mode with GNULIB_NAMESPACE, turn the
10117         macro into a function.
10118         Reported by Jarno Rajahalme <jarno.rajahalme@nsn.com>.
10119
10120 2010-09-04  Bruno Haible  <bruno@clisp.org>
10121
10122         Set PATH_SEPARATOR the same way autoconf does.
10123         * build-aux/relocatable.sh.in (func_find_curr_installdir): Determine
10124         the value of PATH_SEPARATOR the same way autoconf-generated configure
10125         scripts do.
10126         * m4/lib-ld.m4 (AC_LIB_PROG_LD): Likewise.
10127         * m4/progtest.m4 (AM_PATH_PROG_WITH_TEST): Likewise.
10128
10129 2010-09-04  Stefano Lattarini  <stefano.lattarini@gmail.com>  (tiny change)
10130
10131         Set PATH_SEPARATOR the same way autoconf does.
10132         * gnulib-tool (func_gnulib_dir): Determine the value of PATH_SEPARATOR
10133         the same way autoconf-generated configure scripts do.
10134         * posix-modules: Likewise.
10135
10136 2010-09-02  Paul Eggert  <eggert@cs.ucla.edu>
10137
10138         hash: fix safe_hasher const typo
10139         * lib/hash.c (safe_hasher): Result is pointer, not pointer to
10140         const; otherwise, there is a type error later.
10141
10142 2010-09-02  Jim Meyering  <meyering@redhat.com>
10143
10144         test-update-copyright.sh: require perl 5.8.0
10145         * tests/test-update-copyright.sh: Require 5.8.0,
10146         which Tom G. Christensen has confirmed is adequate,
10147         while 5.6.1 is not.
10148
10149 2010-09-02  Eric Blake  <eblake@redhat.com>
10150
10151         tests: init.sh improvements for re-exec'ing with zsh
10152         * tests/init.sh: Borrow autoconf POSIX-mode sanitization.  Pass
10153         -vx through shell re-exec.
10154         Reported by Tom G. Christensen.
10155
10156         wctype: fix typo in previous commit
10157         * m4/wctype_h.m4 (gl_WCTYPE_H): Fix spelling.
10158         Reported by Ludovic Courtès.
10159
10160 2010-09-02  Jim Meyering  <meyering@redhat.com>
10161
10162         test-update-copyright.sh: skip test if Perl is too old
10163         * tests/test-update-copyright.sh: Exit 77 if Perl is too old.
10164         Reported by Tom G. Christensen.
10165
10166 2010-09-02  Bruno Haible  <bruno@clisp.org>
10167
10168         wctype: Avoid compilation error on IRIX 6.5.30.
10169         * lib/wctype.in.h (iswblank): Declare with a replacement if
10170         REPLACE_ISWBLANK is set.
10171         * m4/wctype_h.m4 (gl_WCTYPE_H): Check also whether iswblank is
10172         declared. Set REPLACE_ISWBLANK.
10173         * modules/wctype (Makefile.am): Substitute REPLACE_ISWBLANK.
10174         * doc/posix-functions/iswblank.texi: Mention the IRIX 6.5.30 problem.
10175         * doc/posix-headers/wctype.texi: Likewise.
10176         Reported by Tom G. Christensen <tgc@jupiterrise.com>.
10177
10178 2010-09-01  Bruno Haible  <bruno@clisp.org>
10179
10180         New module 'socketlib'.
10181         * modules/socketlib: New file.
10182         * m4/socketlib.m4: New file, extracted from m4/sockets.m4.
10183         * m4/sockets.m4 (gl_SOCKETS): Require gl_SOCKETLIB.
10184         * modules/sockets (Depends-on): Add socketlib.
10185         Suggested by Sam Steingold <sds@gnu.org>.
10186
10187 2010-09-01  Paul Eggert  <eggert@cs.ucla.edu>
10188
10189         fcntl-h, etc.: prefer O_SEARCH to O_RDONLY when applicable
10190
10191         POSIX 2008 specifies a new 'open' flag O_SEARCH, which can be used
10192         when one needs search access to a directory but not read access.
10193         On systems where it is available, it works in some cases where
10194         O_RDONLY does not, namely on directories that are searchable but
10195         not readable, and which need only to be searchable.  If O_SEARCH
10196         is not available, fall back to the traditional method of using
10197         O_RDONLY.
10198
10199         * lib/fcntl.in.h (O_SEARCH): #define to O_RDONLY if not defined.
10200         * lib/chdir-long.c (cdb_advance_fd): Use O_SEARCH, not O_RDONLY,
10201         when opening a directory that needs only to be searchable.
10202         * lib/chdir-safer.c (chdir_no_follow): Likewise.
10203         * lib/fts.c (diropen, fts_open, fd_ring_check): Likewise.
10204         * lib/openat-proc.c (openat_proc_name): Likewise.
10205         * lib/openat.c (openat_needs_fchdir): Likewise.
10206         * lib/save-cwd.c (save_cwd): Likewise.
10207         * lib/savewd.c (savewd_save, savewd_chdir): Likewise.
10208
10209 2010-08-28  Bruno Haible  <bruno@clisp.org>
10210
10211         New module 'host-cpu-c-abi'.
10212         * modules/host-cpu-c-abi: New file.
10213         * m4/host-cpu-c-abi.m4: New file, based on part of
10214         clisp/src/m4/general.m4.
10215         Requested by Sam Steingold <sds@gnu.org>.
10216
10217 2010-08-31  Eric Blake  <eblake@redhat.com>
10218         and Jim Meyering  <meyering@redhat.com>
10219
10220         hash: factor, and guard against misbehaving hasher function
10221         * lib/hash.c (safe_hasher): New function, to encapsulate the checking
10222         of table->hasher's return value.  Also protect against a hash value
10223         so large that adding it to table->bucket results in a NULL pointer.
10224         (hash_lookup, hash_get_next, hash_find_entry, transfer_entries):
10225         Use it in place of open-coded check-and-abort.
10226
10227 2010-08-30  Bruno Haible  <bruno@clisp.org>
10228
10229         hash: silence spurious clang warning
10230         * lib/hash.c (hash_get_next): Remove unnecessary test against NULL.
10231         Reported by Eric Blake.
10232
10233 2010-08-30  Eric Blake  <eblake@redhat.com>
10234
10235         strstr, memmem, strcasestr: avoid leaked shell message
10236         * m4/strstr.m4 (gl_FUNC_STRSTR): Avoid "Alarm clock" message from
10237         FreeBSD.
10238         * m4/strcasestr.m4 (gl_FUNC_STRCASESTR): Likewise.
10239         * m4/memmem.m4 (gl_FUNC_MEMMEM): Likewise.
10240
10241         tests: silence clang warning
10242         * tests/test-malloca.c (do_allocation): Avoid dead store.
10243
10244 2010-08-29  Bruno Haible  <bruno@clisp.org>
10245
10246         gettext: Fix recent mistake.
10247         * m4/intl.m4 (gt_CHECK_DECL): Fix typo introduced on 2010-08-26.
10248
10249 2010-08-29  Bruno Haible  <bruno@clisp.org>
10250
10251         selinux-h: Offer a --without-selinux option.
10252         * m4/selinux-selinux-h.m4 (gl_HEADERS_SELINUX_SELINUX_H): If
10253         --without-selinux was specified, skip all tests and define
10254         HAVE_SELINUX_SELINUX_H to 0.
10255         (gl_LIBSELINUX): Offer --without-selinux option. If it is specified,
10256         set LIB_SELINUX to empty.
10257         * m4/selinux-context-h.m4 (gl_HEADERS_SELINUX_CONTEXT_H): Require
10258         gl_LIBSELINUX. If --without-selinux was specified, replace
10259         selinux/context.h.
10260         Reported by Johan Hattne <johan.hattne@utsouthwestern.edu>.
10261
10262 2010-08-29  Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
10263             Bruno Haible  <bruno@clisp.org>
10264
10265         Make the module 'realloc-gnu' work again on AIX and OSF/1.
10266         * m4/realloc.m4 (gl_FUNC_REALLOC_GNU): Define HAVE_REALLOC_GNU instead
10267         of HAVE_REALLOC.
10268         * lib/realloc.c (NEED_REALLOC_GNU): Enable behaviour also when
10269         GNULIB_REALLOC_GNU && !HAVE_REALLOC_GNU.
10270         (SYSTEM_MALLOC_GLIBC_COMPATIBLE): Adjust definition.
10271         * modules/realloc-gnu (configure.ac): Use gl_MODULE_INDICATOR.
10272
10273 2010-08-29  Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
10274             Bruno Haible  <bruno@clisp.org>
10275
10276         Make the module 'calloc-gnu' work again on AIX and OSF/1.
10277         * m4/calloc.m4 (gl_FUNC_CALLOC_GNU): Define HAVE_CALLOC_GNU instead of
10278         HAVE_CALLOC.
10279         * lib/xmalloc.c: Update accordingly.
10280         * lib/calloc.c (NEED_CALLOC_GNU): Enable also when
10281         GNULIB_CALLOC_GNU && !HAVE_CALLOC_GNU.
10282         * modules/calloc-gnu (configure.ac): Invoke gl_MODULE_INDICATOR.
10283
10284 2010-08-29  Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
10285             Bruno Haible  <bruno@clisp.org>
10286
10287         Make the module 'malloc-gnu' work again on AIX and OSF/1.
10288         * m4/malloc.m4 (gl_FUNC_MALLOC_GNU): Define HAVE_MALLOC_GNU instead of
10289         HAVE_MALLOC.
10290         * lib/malloc.c (NEED_MALLOC_GNU): Enable behaviour also when
10291         GNULIB_MALLOC_GNU && !HAVE_MALLOC_GNU.
10292         * modules/malloc-gnu (configure.ac): Use gl_MODULE_INDICATOR.
10293
10294 2010-08-29  Bruno Haible  <bruno@clisp.org>
10295
10296         Update modules list.
10297         * MODULES.html.sh (Memory management functions <stdlib.h>): Add
10298         malloc-gnu, calloc-gnu, realloc-gnu. Remove malloc, calloc, realloc.
10299         (String handling <string.h>): Add astrxfrm.
10300         (File system functions): Add readlinkat.
10301
10302 2010-08-28  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
10303
10304         Tests for module 'realloc-gnu'.
10305         * modules/realloc-gnu-tests: New file.
10306         * tests/test-realloc-gnu.c: New file.
10307
10308         Tests for module 'calloc-gnu'.
10309         * modules/calloc-gnu-tests: New file.
10310         * tests/test-calloc-gnu.c: New file.
10311
10312         Tests for module 'malloc-gnu'.
10313         * modules/malloc-gnu-tests: New file.
10314         * tests/test-malloc-gnu.c: New file.
10315
10316 2010-08-28  Bruno Haible  <bruno@clisp.org>
10317
10318         Rename module 'realloc' -> 'realloc-gnu'.
10319         * modules/realloc-gnu: New file, copied from modules/realloc.
10320         * modules/realloc: Convert to a redirection to 'realloc-gnu'. Mark as
10321         obsolete.
10322         * modules/mgetgroups (Depends-on): Update.
10323         * doc/posix-functions/realloc.texi: Update.
10324         * NEWS: Mention the change.
10325
10326         Rename module 'calloc' -> 'calloc-gnu'.
10327         * modules/calloc-gnu: New file, copied from modules/calloc.
10328         * modules/calloc: Convert to a redirection to 'calloc-gnu'. Mark as
10329         obsolete.
10330         * doc/posix-functions/calloc.texi: Update.
10331         * NEWS: Mention the change.
10332
10333         Rename module 'malloc' -> 'malloc-gnu'.
10334         * modules/malloc-gnu: New file, copied from modules/malloc.
10335         * modules/malloc: Convert to a redirection to 'malloc-gnu'. Mark as
10336         obsolete.
10337         * modules/argp (Depends-on): Update.
10338         * modules/regex (Depends-on): Update.
10339         * doc/posix-functions/malloc.texi: Update.
10340         * NEWS: Mention the change.
10341
10342 2010-08-28  Eric Blake  <eblake@redhat.com>
10343
10344         pread, pwrite: add missing dependency
10345         * modules/pread (Depends-on): Add extensions.
10346         * modules/pwrite (Depends-on): Likewise.
10347
10348 2010-08-28  Bruno Haible  <bruno@clisp.org>
10349
10350         unistr/u*-strchr: Fix tests dependencies.
10351         * modules/unistr/u8-strchr-tests (Depends-on): Add unistr/u32-to-u8.
10352         * modules/unistr/u16-strchr-tests (Depends-on): Add unistr/u32-to-u16.
10353         Reported by Ian Beckwith <ianb@erislabs.net>.
10354
10355 2010-08-28  Bruno Haible  <bruno@clisp.org>
10356
10357         read-file: Don't occupy too much unused memory.
10358         * lib/read-file.c (fread_file): Shrink the buffer at the end.
10359
10360 2010-08-28  Giuseppe Scrivano  <gscrivano@gnu.org>
10361             Eric Blake  <eblake@redhat.com>
10362             Bruno Haible  <bruno@clisp.org>
10363
10364         read-file: Avoid memory reallocations with regular files.
10365         * lib/read-file.c: Include <sys/stat.h>, <stdio.h>, <stdint.h>.
10366         (fread_file): With regular files, use the remaining length as the
10367         initial buffer size.  Check against overflow.
10368         * modules/read-file (Depends-on): Add ftello, malloc-posix, stdint,
10369         sys_stat.
10370
10371 2010-08-28  Bruno Haible  <bruno@clisp.org>
10372
10373         ftello: Relax license.
10374         * modules/ftello (License): Relax to LGPLv2+.
10375         Reported by Eric Blake.
10376
10377 2010-08-28  Bruno Haible  <bruno@clisp.org>
10378
10379         Avoid relocwrapper link errors due to gnulib replacement functions.
10380         * lib/canonicalize-lgpl.c [IN_RELOCWRAPPER]: Use the system's getcwd
10381         function.
10382         Reported by Ben Pfaff <blp@cs.stanford.edu>.
10383
10384 2010-08-28  Bruno Haible  <bruno@clisp.org>
10385
10386         Prefer using AC_DEFUN_ONCE over AC_DEFUN in projects with gnulib.
10387         * m4/iconv.m4 (gl_iconv_AC_DEFUN): Use AC_DEFUN_ONCE if gl_00GNULIB is
10388         defined.
10389         * m4/libunistring.m4 (gl_libunistring_AC_DEFUN): Likewise.
10390         Suggested by Eric Blake.
10391
10392 2010-08-28  Bruno Haible  <bruno@clisp.org>
10393
10394         sys_socket, netdb: Ensure socklen_t gets defined.
10395         * modules/sys_socket (Depends-on): Add socklen.
10396         * modules/netdb (Depends-on): Likewise.
10397         * modules/getaddrinfo (Depends-on): Remove socklen.
10398         * modules/getsockopt (Depends-on): Likewise.
10399         * modules/setsockopt (Depends-on): Likewise.
10400         * tests/test-sys_socket.c: Check that socklen_t is defined.
10401         * tests/test-netdb.c: Likewise.
10402         * m4/socklen.m4: Update comments.
10403         Reported by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
10404
10405 2010-08-27  Eric Blake  <eblake@redhat.com>
10406
10407         login_tty: add missing dependency
10408         * modules/login_tty (Depends-on): Add pty.
10409
10410 2010-08-26  Eric Blake  <eblake@redhat.com>
10411
10412         lib-symbol-versions: fix m4 quoting
10413         * m4/ld-version-script.m4 (gl_LD_VERSION_SCRIPT): Use correct
10414         format for AC_LINK_IFELSE.
10415
10416         glob: fix compile test
10417         * m4/glob.m4 (gl_GLOB): Use correct format for AC_COMPILE_IFELSE.
10418
10419         btowc: fix missing file
10420         * modules/btowc (Files): Also ship locale-fr.m4.
10421
10422         lseek: fix link test
10423         * m4/lseek.m4 (gl_FUNC_LSEEK): Use correct format for
10424         AC_LINK_IFELSE.
10425
10426         include_next: silence autoconf 2.68 warning
10427         * m4/include_next.m4 (gl_INCLUDE_NEXT): Mark this use of
10428         AC_COMPILE_IFELSE as special.
10429         (AC_LANG_DEFINES_PROVIDED): Provide dummy implementation for
10430         autoconf < 2.68.
10431
10432         acl: fix compilation test
10433         * m4/acl.m4 (gl_FUNC_ALL): Use correct format for
10434         AC_COMPILE_IFELSE.
10435
10436 2010-08-26  Bruno Haible  <bruno@clisp.org>
10437
10438         Modernize AC_TRY_RUN invocations.
10439         * m4/btowc.m4 (gl_FUNC_BTOWC): Use AC_RUN_IFELSE instead of AC_TRY_RUN.
10440         * m4/duplocale.m4 (gl_FUNC_DUPLOCALE): Likewise.
10441         * m4/exponentd.m4 (gl_DOUBLE_EXPONENT_LOCATION): Likewise.
10442         * m4/exponentf.m4 (gl_FLOAT_EXPONENT_LOCATION): Likewise.
10443         * m4/exponentl.m4 (gl_LONG_DOUBLE_EXPONENT_LOCATION): Likewise.
10444         * m4/fopen.m4 (gl_FUNC_FOPEN): Likewise.
10445         * m4/frexp.m4 (gl_FUNC_FREXP_WORKS): Likewise.
10446         * m4/frexpl.m4 (gl_FUNC_FREXPL_WORKS): Likewise.
10447         * m4/ftello.m4 (gl_FUNC_FTELLO): Likewise.
10448         * m4/iconv.m4 (AM_ICONV_LINK): Likewise.
10449         * m4/iconv_open.m4 (gl_FUNC_ICONV_OPEN_UTF): Likewise.
10450         * m4/intdiv0.m4 (gt_INTDIV0): Likewise.
10451         * m4/isnanf.m4 (gl_ISNANF_WORKS): Likewise.
10452         * m4/isnanl.m4 (gl_FUNC_ISNANL_WORKS): Likewise.
10453         * m4/ldexpl.m4 (gl_FUNC_LDEXPL_WORKS): Likewise.
10454         * m4/mbrlen.m4 (gl_MBRLEN_INCOMPLETE_STATE, gl_MBRLEN_RETVAL,
10455         gl_MBRLEN_NUL_RETVAL): Likewise.
10456         * m4/mbrtowc.m4 (gl_MBRTOWC_INCOMPLETE_STATE, gl_MBRTOWC_SANITYCHECK,
10457         gl_MBRTOWC_NULL_ARG, gl_MBRTOWC_RETVAL, gl_MBRTOWC_NUL_RETVAL):
10458         Likewise.
10459         * m4/mbsrtowcs.m4 (gl_MBSRTOWCS_WORKS): Likewise.
10460         * m4/open.m4 (gl_FUNC_OPEN): Likewise.
10461         * m4/printf.m4 (gl_PRINTF_SIZES_C99, gl_PRINTF_LONG_DOUBLE,
10462         gl_PRINTF_INFINITE, gl_PRINTF_INFINITE_LONG_DOUBLE,
10463         gl_PRINTF_DIRECTIVE_A, gl_PRINTF_DIRECTIVE_F, gl_PRINTF_DIRECTIVE_N,
10464         gl_PRINTF_DIRECTIVE_LS, gl_PRINTF_POSITIONS, gl_PRINTF_FLAG_GROUPING,
10465         gl_PRINTF_FLAG_LEFTADJUST, gl_PRINTF_FLAG_ZERO, gl_PRINTF_PRECISION,
10466         gl_SNPRINTF_TRUNCATION_C99, gl_SNPRINTF_RETVAL_C99,
10467         gl_SNPRINTF_DIRECTIVE_N, gl_SNPRINTF_SIZE1, gl_VSNPRINTF_ZEROSIZE_C99):
10468         Likewise.
10469         * m4/printf-posix.m4 (gt_PRINTF_POSIX): Likewise.
10470         * m4/signbit.m4 (gl_SIGNBIT, gl_FLOATTYPE_SIGN_LOCATION): Likewise.
10471         * m4/stpncpy.m4 (gl_FUNC_STPNCPY): Likewise.
10472         * m4/threadlib.m4 (gl_THREADLIB_BODY): Likewise.
10473         * m4/truncl.m4 (gl_FUNC_TRUNCL): Likewise.
10474         * m4/ttyname_r.m4 (gl_FUNC_TTYNAME_R): Likewise.
10475         * m4/wcrtomb.m4 (gl_FUNC_WCRTOMB): Likewise.
10476         * m4/wcsrtombs.m4 (gl_WCSRTOMBS_TERMINATION): Likewise.
10477         * m4/wctob.m4 (gl_FUNC_WCTOB): Likewise.
10478         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Likewise.
10479
10480 2010-08-26  Bruno Haible  <bruno@clisp.org>
10481
10482         Modernize AC_TRY_LINK invocations.
10483         * m4/acosl.m4 (gl_FUNC_ACOSL): Use AC_LINK_IFELSE instead of
10484         AC_TRY_LINK.
10485         * m4/argp.m4 (gl_ARGP): Likewise.
10486         * m4/asinl.m4 (gl_FUNC_ASINL): Likewise.
10487         * m4/atanl.m4 (gl_FUNC_ATANL): Likewise.
10488         * m4/ceil.m4 (gl_FUNC_CEIL_LIBS): Likewise.
10489         * m4/ceilf.m4 (gl_FUNC_CEILF_LIBS): Likewise.
10490         * m4/ceill.m4 (gl_FUNC_CEILL_LIBS): Likewise.
10491         * m4/codeset.m4 (AM_LANGINFO_CODESET): Likewise.
10492         * m4/cosl.m4 (gl_FUNC_COSL): Likewise.
10493         * m4/expl.m4 (gl_FUNC_EXPL): Likewise.
10494         * m4/floor.m4 (gl_FUNC_FLOOR_LIBS): Likewise.
10495         * m4/floorf.m4 (gl_FUNC_FLOORF_LIBS): Likewise.
10496         * m4/floorl.m4 (gl_FUNC_FLOORL_LIBS): Likewise.
10497         * m4/frexp.m4 (gl_FUNC_FREXP, gl_CHECK_FREXP_NO_LIBM): Likewise.
10498         * m4/frexpl.m4 (gl_FUNC_FREXPL, gl_CHECK_FREXPL_NO_LIBM): Likewise.
10499         * m4/ftello.m4 (gl_FUNC_FTELLO): Likewise.
10500         * m4/gettext.m4 (AM_GNU_GETTEXT): Likewise.
10501         * m4/hostent.m4 (gl_HOSTENT): Likewise.
10502         * m4/iconv.m4 (AM_ICONV_LINK): Likewise.
10503         * m4/intl.m4 (gt_INTL_SUBDIR_CORE): Likewise.
10504         * m4/intlmacosx.m4 (gt_INTL_MACOSX): Likewise.
10505         * m4/isnand.m4 (gl_HAVE_ISNAND_IN_LIBM, gl_HAVE_ISNAND_NO_LIBM):
10506         Likewise.
10507         * m4/isnanf.m4 (gl_HAVE_ISNANF_NO_LIBM, gl_HAVE_ISNANF_IN_LIBM):
10508         Likewise.
10509         * m4/isnanl.m4 (gl_HAVE_ISNANL_NO_LIBM, gl_HAVE_ISNANL_IN_LIBM):
10510         Likewise.
10511         * m4/lcmessage.m4 (gt_LC_MESSAGES): Likewise.
10512         * m4/ldexpl.m4 (gl_FUNC_LDEXPL, gl_CHECK_LDEXPL_NO_LIBM): Likewise.
10513         * m4/lib-link.m4 (AC_LIB_HAVE_LINKFLAGS): Likewise.
10514         * m4/logb.m4 (gl_FUNC_LOGB): Likewise.
10515         * m4/logl.m4 (gl_FUNC_LOGL): Likewise.
10516         * m4/printf-frexp.m4 (gl_FUNC_PRINTF_FREXP): Likewise.
10517         * m4/servent.m4 (gl_SERVENT): Likewise.
10518         * m4/signbit.m4 (gl_SIGNBIT): Likewise.
10519         * m4/sinl.m4 (gl_FUNC_SINL): Likewise.
10520         * m4/sqrtl.m4 (gl_FUNC_SQRTL): Likewise.
10521         * m4/tanl.m4 (gl_FUNC_TANL): Likewise.
10522         * m4/threadlib.m4 (gl_THREADLIB_BODY): Likewise.
10523         * m4/trunc.m4 (gl_FUNC_TRUNC): Likewise.
10524         * m4/truncf.m4 (gl_FUNC_TRUNCF): Likewise.
10525         * m4/truncl.m4 (gl_FUNC_TRUNCL): Likewise.
10526         * modules/tsearch-tests (configure.ac): Likewise.
10527
10528 2010-08-26  Bruno Haible  <bruno@clisp.org>
10529
10530         Modernize AC_TRY_COMPILE invocations.
10531         * m4/environ.m4 (gt_CHECK_VAR_DECL): Use AC_COMPILE_IFELSE instead of
10532         AC_TRY_COMPILE.
10533         * m4/iconv.m4 (gl_iconv_AC_DEFUN): Likewise.
10534         * m4/intl.m4 (gt_CHECK_DECL): Likewise.
10535         * m4/intmax.m4 (gt_TYPE_INTMAX_T): Likewise.
10536         * m4/intmax_t.m4 (gt_AC_TYPE_INTMAX_T): Likewise.
10537         * m4/inttypes-pri.m4 (gt_INTTYPES_PRI): Likewise.
10538         * m4/inttypes_h.m4 (gl_AC_HEADER_INTTYPES_H): Likewise.
10539         * m4/locale_h.m4 (gl_LOCALE_H): Likewise.
10540         * m4/lock.m4 (gl_LOCK): Likewise.
10541         * m4/malloc.m4 (gl_CHECK_MALLOC_POSIX): Likewise.
10542         * m4/mbswidth.m4 (gl_MBSWIDTH): Likewise.
10543         * m4/minmax.m4 (gl_MINMAX_IN_HEADER): Likewise.
10544         * m4/setenv.m4 (gl_FUNC_UNSETENV): Likewise.
10545         * m4/size_max.m4 (gl_SIZE_MAX): Likewise.
10546         * m4/ssize_t.m4 (gt_TYPE_SSIZE_T): Likewise.
10547         * m4/stdarg.m4 (gl_STDARG_H): Likewise.
10548         * m4/stdbool.m4 (AC_HEADER_STDBOOL): Likewise.
10549         * m4/stdint_h.m4 (gl_AC_HEADER_STDINT_H): Likewise.
10550         * m4/visibility.m4 (gl_VISIBILITY): Likewise.
10551         * m4/wchar_t.m4 (gt_TYPE_WCHAR_T): Likewise.
10552         * m4/wint_t.m4 (gt_TYPE_WINT_T): Likewise.
10553         * m4/libunistring.m4 (gl_LIBUNISTRING_CORE): Likewise. Remove
10554         extraneous semicolon.
10555
10556 2010-08-26  Jim Meyering  <meyering@redhat.com>
10557
10558         stat-time: relax license LGPL
10559         * modules/stat-time (License): Change from GPL to LGPL,
10560         with consent from all contributors, for use in libguile.
10561         Requested by Ludovic Courtès.
10562
10563 2010-08-26  Erik Faye-Lund  <kusmabite@gmail.com>
10564
10565         poll: return immediately on POLLHUP.
10566         * lib/poll.c (poll): Always set timeout before wait_timeout is
10567         computed.
10568
10569 2010-08-25  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
10570
10571         Fix test-unlinkat, test-rmdir failure on AIX 5.3.
10572         * tests/test-rmdir.h (test_rmdir_func): Also accept EEXIST for
10573         rmdir ("dir/.//"), unlinkat.
10574
10575 2010-08-24  Paul Eggert  <eggert@cs.ucla.edu>
10576
10577         stdbool: avoid spurious failure with modern xlc
10578         * m4/stdbool.m4 (AC_HEADER_STDBOOL): Resync with autoconf.
10579
10580 2010-08-24  Bruno Haible  <bruno@clisp.org>
10581
10582         getloadavg: simplify code
10583         * m4/getloadavg.m4 (gl_GETLOADAVG): Remove useless test of
10584         gl_have_func. Update comments.
10585
10586 2010-08-24  Eric Blake  <eblake@redhat.com>
10587
10588         getloadavg: don't define SVR4 on cygwin
10589         * m4/getloadavg.m4 (gl_GETLOADAVG): Sync with autoconf fix, to
10590         only define SVR4 when -lkvm is required.
10591         Reported by Yaakov Selkowitz.
10592
10593 2010-08-24  Bruno Haible  <bruno@clisp.org>
10594
10595         priv-set: fix comment
10596         * lib/priv-set.c (priv_set_restore): Fix typo in comment.
10597
10598 2010-08-23  Paul Eggert  <eggert@cs.ucla.edu>
10599
10600         priv-set: fix comments
10601         * lib/priv-set.c (priv_set_remove, priv_set_restore): Fix comments
10602         to match code, as suggested by David Bartley in:
10603         http://lists.gnu.org/archive/html/bug-tar/2010-08/msg00018.html
10604
10605 2010-08-23  Eric Blake  <eblake@redhat.com>
10606
10607         stdbool: avoid rejecting clang
10608         * m4/stdbool.m4 (AC_HEADER_STDBOOL): Resync with autoconf.
10609         * tests/test-stdbool.c: Enable more tests if using the system
10610         <stdbool.h> instead of the gnulib replacement.
10611         (main): Move xlc bug test to a runtime test for all compilers.
10612         Reported by Anders Kaseorg.
10613
10614         argz: fix shell quoting issue
10615         * m4/argz.m4 (gl_FUNC_ARGZ): Allow for spaces in argument.
10616         Reported by Charles Wilson.
10617
10618 2010-08-22  Paolo Bonzini  <bonzini@gnu.org>
10619             Erik Faye-Lund <kusmabite@gmail.com>
10620
10621         poll, select: handle ERROR_BROKEN_PIPE.
10622         * lib/poll.c (win32_compute_revents): Return POLLHUP when
10623         PeekNamedPipe fails with ERROR_BROKEN_PIPE.
10624         * lib/select.c (win32_compute_revents): Do not mark a pipe
10625         as writeable if PeekNamedPipe fails with ERROR_BROKEN_PIPE.
10626
10627 2010-08-22  Giuseppe Scrivano  <gscrivano@gnu.org>
10628
10629         fts: allow compilation with C++
10630         * lib/fts_.h: Specify extern "C" linkage with C++.
10631
10632 2010-08-22  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
10633
10634         Fix gnulib-tool sed script de-commentation for AIX sed.
10635         * gnulib-tool (sed_comments): Try indented comments, for AIX 5.3
10636         sed.
10637
10638 2010-08-17  Eric Blake  <eblake@redhat.com>
10639
10640         test-stddef: test for (some) offsetof bugs
10641         * tests/test-stddef.c: Enhance test to ensure correct type of
10642         offsetof.
10643         * doc/posix-headers/stddef.texi (stddef.h): Document a Solaris bug
10644         that we are not fixing at this time.
10645
10646 2010-08-15  Bruno Haible  <bruno@clisp.org>
10647
10648         stpncpy: Allow stpncpy to be defined as a macro.
10649         * m4/stpncpy.m4 (gl_FUNC_STPNCPY): Don't attempt to redeclare stpncpy
10650         if it's already correctly declared.
10651         * lib/string.in.h (stpncpy): Undefine before redefining.
10652         Reported by Jeremy Huddleston <jeremyhu@macports.org>.
10653
10654 2010-08-14  Bruno Haible  <bruno@clisp.org>
10655
10656         Rename module 'memxfrm' to 'amemxfrm'.
10657         * lib/amemxfrm.h: Renamed from lib/memxfrm.h.
10658         (amemxfrm): Renamed from memxfrm.
10659         * lib/amemxfrm.c: Renamed from lib/memxfrm.h. Include amemxfrm.h.
10660         (amemxfrm): Renamed from memxfrm.
10661         * modules/amemxfrm: Renamed from modules/memxfrm. Update.
10662         * NEWS: Mention the change.
10663         * MODULES.html.sh (String handling <string.h>): Update.
10664         * lib/unicase/u-casexfrm.h: Invoke amemxfrm instead of memxfrm.
10665         * lib/unicase/u8-casexfrm.c: Include amemxfrm.h instead of memxfrm.h.
10666         * lib/unicase/u16-casexfrm.c: Likewise.
10667         * lib/unicase/u32-casexfrm.c: Likewise.
10668         * lib/uninorm/u-normxfrm.h: Invoke amemxfrm instead of memxfrm.
10669         * lib/uninorm/u8-normxfrm.c: Include amemxfrm.h instead of memxfrm.h.
10670         * lib/uninorm/u16-normxfrm.c: Likewise.
10671         * lib/uninorm/u32-normxfrm.c: Likewise.
10672         * modules/unicase/u8-casexfrm (Depends-on): Add amemxfrm, remove
10673         memxfrm.
10674         * modules/unicase/u16-casexfrm (Depends-on): Likewise.
10675         * modules/unicase/u32-casexfrm (Depends-on): Likewise.
10676         * modules/uninorm/u8-normxfrm (Depends-on): Likewise.
10677         * modules/uninorm/u16-normxfrm (Depends-on): Likewise.
10678         * modules/uninorm/u32-normxfrm (Depends-on): Likewise.
10679         Suggested by Paul Eggert.
10680
10681 2010-08-14  Bruno Haible  <bruno@clisp.org>
10682
10683         Tests for module 'astrxfrm'.
10684         * modules/astrxfrm-tests: New file.
10685         * tests/test-astrxfrm.c: New file.
10686
10687         New module 'astrxfrm'.
10688         * lib/astrxfrm.h: New file.
10689         * lib/astrxfrm.c: New file, based on lib/memxfrm.c.
10690         * modules/astrxfrm: New file.
10691
10692 2010-08-14  Reuben Thomas <rrt@sc3d.org>
10693
10694         regex: Tweak doc.
10695         * doc/regex.texi (Overview): Don't mention regex.c.
10696         (GNU Regular Expression Compiling): Likewise.
10697         (Match-end-of-line Operator): Mention 'not_eol'.
10698
10699 2010-08-14  Brian Gough  <bjg@gnu.org>
10700             Bruno Haible  <bruno@clisp.org>
10701
10702         git-merge-changelog: add doc relating to use with bzr and hg.
10703         * lib/git-merge-changelog.c: Add comments regarding bzr, hg, diff3.
10704
10705 2010-08-14  Matthias Bolte  <matthias.bolte@googlemail.com>
10706
10707         pthread: fix pthread.h creation for srcdir != builddir
10708         * modules/pthread (Makefile.am): Fix the rule to work also in a
10709         non-srcdir build.
10710
10711 2010-08-13  Karl Berry  <karl@gnu.org>
10712
10713         * doc/regex.texi (Predefined Syntaxes): @smallexample.
10714         * doc/posix-*/*: force line break before @url of POSIX
10715         specifications.
10716         Suggested by Werner Lemberg.
10717
10718 2010-08-10  Paul Eggert  <eggert@cs.ucla.edu>
10719
10720         strtod: fix const diagnostic
10721         * lib/strtod.c (strtod): Don't assign const char * to char *,
10722         as this elicits a warning from GCC when warnings are enabled.
10723
10724 2010-08-10  Pádraig Brady <P@draigbrady.com>
10725         and Eric Blake  <eblake@redhat.com>
10726
10727         copy-acl: ignore ENOTSUP on HP-UX
10728         * lib/acl-internal.h (ACL_NOT_WELL_SUPPORTED): Move definition up,
10729         so that it is available for HP-UX.
10730         * lib/copy-acl.c (qcopy_acl): Use it.
10731         Reported by Patrick M. Callahan.
10732
10733 2010-08-10  Eric Blake  <eblake@redhat.com>
10734
10735         open, chown: relax license
10736         * modules/open (License): Change to LGPLv2+, with consent by all
10737         authors, for use in augeas.
10738         * modules/chown (License): Likewise.
10739         * modules/lchown (Likewise): Likewise.
10740         Requested by Adam Stokes.
10741
10742 2010-08-09  Karl Berry  <karl@gnu.org>
10743
10744         * build-aux/ar-lib: new file, import from Automake.
10745         * config/srclist.txt: autocheck for updates.
10746
10747 2010-08-09  Eric Blake  <eblake@redhat.com>
10748
10749         readlinkat: adjust client modules
10750         * modules/areadlinkat (Depends-on): Use readlinkat, not
10751         symlinkat.
10752         * modules/areadlinkat-with-size (Depends-on): Likewise.
10753
10754         mknod: be more vocal about danger of running tests as root
10755         * m4/mknod.m4 (gl_FUNC_MKNOD): Make it harder to run configure as
10756         root, since that is just asking for problems.
10757         Suggested by Bruno Haible, based on a report by Rainer Tammer.
10758
10759         readlinkat: split into its own module
10760         * modules/symlinkat: Split readlinkat...
10761         * modules/readlinkat: ...into separate module.
10762         * m4/symlinkat.m4 (gl_FUNC_SYMLINKAT): Move readlinkat check...
10763         * m4/readlinkat.m4 (gl_FUNC_READLINAT): ...to new file.
10764         * lib/symlinkat.c (readlinkat): Move...
10765         * lib/readlinkat.c: ...into new file.
10766         * modules/symlinkat-tests: Split readlinkat test...
10767         * modules/readlinkat-tests: ...into separate module.
10768         * tests/test-symlinkat.c: Split...
10769         * tests/test-readlinkat.c: ...into new file.
10770         * NEWS: Document the split.
10771         * doc/posix-functions/readlinkat.texi (readlinkat): Likewise.
10772         * lib/unistd.in.h (readlinkat): Likewise.
10773         Suggested by Bruno Haible.
10774
10775 2010-08-08  Bruno Haible  <bruno@clisp.org>
10776
10777         memxfrm: Speed up.
10778         * lib/memxfrm.c (memxfrm): Allocate enough memory ahead of time, so
10779         that usually only one call to strxfrm is necessary for each string
10780         part.
10781         Reported by Paul Eggert <eggert@cs.ucla.edu>.
10782
10783 2010-08-07  Karl Berry  <karl@gnu.org>
10784
10785         * doc/posix-headers/limits.texi,
10786         * doc/posix-functions/malloc.texi,
10787         * doc/posix-functions/strsignal.texi: missing @item.
10788         * doc/ld-version-script.texi: spurious leading i.
10789         * doc/regex.texi (Interval Operators): no commas inside @var.
10790
10791 2010-08-01  Bruno Haible  <bruno@clisp.org>
10792
10793         Integrate the regex documentation.
10794         * doc/gnulib.texi: Define 'cn' index.
10795         (Regular expressions): New a chapter that includes regex.texi and
10796         regexprops-generic.texi.
10797         * doc/regex.texi: Remove boilerplate stuff. Use simplified @node
10798         syntax.
10799
10800         Whitespace cleanup.
10801         * doc/regex.texi: Remove trailing spaces.
10802
10803         Add regex documentation.
10804         * doc/regex.texi: New file. Taken from regex-0.12/doc/regex.texi in
10805         http://ftp.gnu.org/old-gnu/regex/regex-0.12.tar.gz.
10806         Written by Kathy A. Hargreaves and Karl Berry.
10807
10808 2010-08-01  Bruno Haible  <bruno@clisp.org>
10809
10810         link: Update documentation.
10811         * doc/posix-functions/link.texi: Update regarding Solaris.
10812
10813 2010-07-31  Bruno Haible  <bruno@clisp.org>
10814
10815         Update modules list.
10816         * MODULES.html.sh (Sorting functions <stdlib.h>): Add array-mergesort.
10817         (String handling <string.h>): Add memcmp2, memxfrm.
10818         (Container data structures): Add xlist, xsublist, xoset.
10819         (Core language properties): Add alignof, unused-parameter.
10820         (Process control, Numeric conversion functions <stdlib.h>): Renamed
10821         from Numeric conversion functions <stdlib.h>. Add _Exit, atoll.
10822         (Unibyte characters <ctype.h>): New section.
10823         (String handling <string.h>): New section.
10824         (Mathematics <math.h>): Add acos, acosl, asin, asinl, atan, atan2,
10825         atanl, cbrt, copysign, cos, cosh, cosl, erf, erfc, exp, expl, fabs,
10826         fmod, hypot, j0, j1, jn, ldexp, lgamma, log, log10, log1p, logb, logl,
10827         modf, nextafter, pow, remainder, rint, sin, sinh, sinl, sqrt, sqrtl,
10828         tan, tanh, tanl, y0, y1, yn.
10829         (Support for systems lacking POSIX:2008): Add alphasort, dirent,
10830         dprintf, dprintf-posix, duplocale, fcntl, getlogin, getopt-posix,
10831         grantpt, iconv-h, ioctl, isblank, langinfo, nl_langinfo, pread,
10832         ptsname, pwrite, scandir, servent, sys_utsname, ttyname_r, uname,
10833         unlockpt, vdprintf, vdprintf-posix.
10834         (Enhancements for POSIX:2008 functions): Add getopt-gnu. Remove getopt.
10835         (File system functions): Add concat-filename, sys_file, sys_ioctl,
10836         xconcat-filename.
10837         (File descriptor based Input/Output): Add dup3, fd-safer-flag,
10838         getdtablesize, pipe2, pipe2-safer.
10839         (Security): New section.
10840         (Networking functions): Add accept4.
10841         (Signal handling): Add sigpipe.
10842         (Internationalization functions): Add xstriconveh, mbmemcasecmp,
10843         mbmemcasecoll.
10844         (Unicode string functions): Add libunistring-optional, unistr/u*-cmp2,
10845         unistr/u*-strcoll, uniwbrk/*, uninorm/*, unicase/*.
10846         (Executing programs): Add findprog-lgpl, pipe-filter-gi,
10847         pipe-filter-ii.
10848         (Misc): Add argp-version-etc, login_tty, parse-duration.
10849
10850 2010-07-31  Bruno Haible  <bruno@clisp.org>
10851
10852         Improve doc in MODULES.html.
10853         * modules/linkat (Description): Add the word "function".
10854         * modules/mkfifo (Description): Likewise.
10855         * modules/mknod (Description): Likewise.
10856         * modules/remove (Description): Likewise.
10857         * modules/renameat (Description): Likewise.
10858         * modules/stat (Description): Likewise.
10859         * modules/symlink (Description): Likewise.
10860         * modules/unlink (Description): Likewise.
10861
10862 2010-07-31  Bruno Haible  <bruno@clisp.org>
10863
10864         ansi-c++-opt: Provide option --enable-c++/--disable-c++ when possible.
10865         * m4/ansi-c++.m4 (gl_CXX_CHOICE): In Autoconf 2.66 or newer, provide
10866         option --enable/disable-c++ instead of --enable/disable-cxx.
10867         * NEWS: Mention the change.
10868
10869 2010-07-31  Bruno Haible  <bruno@clisp.org>
10870
10871         readlink, areadlink: Relax test a bit.
10872         * tests/test-readlink.h (test_readlink): Accept EINVAL as an
10873         alternative to ENOTDIR.
10874         * tests/test-areadlink.h (test_areadlink): Likewise.
10875         Reported by Rainer Tammer.
10876
10877 2010-07-31  Bruno Haible  <bruno@clisp.org>
10878
10879         unistr/u8-strstr, unistr/u16-strstr: Optimize the one-character case.
10880         * lib/unistr/u-strstr.h (FUNC): When the needle contains only one
10881         character, perform the search using U_STRCHR.
10882         * lib/unistr/u8-strstr.c (U_STRMBTOUC): New macro.
10883         * lib/unistr/u16-strstr.c (U_STRMBTOUC): Likewise.
10884         * modules/unistr/u8-strstr (Depends-on): Add unistr/u8-strmbtouc.
10885         * modules/unistr/u16-strstr (Depends-on): Add unistr/u16-strmbtouc.
10886         Suggested by Paolo Bonzini.
10887
10888 2010-07-31  Bruno Haible  <bruno@clisp.org>
10889
10890         unistr/u*-strstr: Fix dependencies.
10891         * modules/unistr/u8-strstr (Depends-on): Add unistr/u8-strchr.
10892         * modules/unistr/u16-strstr (Depends-on): Add unistr/u16-strchr.
10893         * modules/unistr/u32-strstr (Depends-on): Add unistr/u32-strchr.
10894
10895 2010-07-31  Bruno Haible  <bruno@clisp.org>
10896
10897         unistr/u8-chr, unistr/u8-strchr: Optimize and add comments.
10898         * lib/unistr/u8-chr.c (u8_chr): Add comments. Remove a useless test at
10899         the beginning of the loop.
10900         * lib/unistr/u8-strchr.c (u8_strchr): Add comments. Don't fall through
10901         cases in 'switch' statement.
10902
10903         unistr/u8-strchr: Fix several bugs.
10904         * lib/unistr/u8-strchr.c (u8_strchr): Don't search beyond the end of
10905         the string. When not found, return NULL, not a pointer near the end.
10906
10907         More tests for unistr/u8-strchr.
10908         * tests/unistr/test-strchr.h (test_strchr): Renamed from main. Check
10909         that the function does not read past the first occurrence of the byte
10910         being searched.
10911         * tests/unistr/test-u8-strchr.c (main): New function, with more tests.
10912         * tests/unistr/test-u16-strchr.c (main): New function.
10913         * tests/unistr/test-u32-strchr.c (main): New function.
10914
10915 2010-07-31  Bruno Haible  <bruno@clisp.org>
10916
10917         posix-modules: Ignore backup files of documentation files.
10918         * posix-modules: grep only through files named *.texi.
10919
10920 2010-07-31  Bruno Haible  <bruno@clisp.org>
10921
10922         symlinkat: Fix documentation.
10923         * doc/posix-functions/readlinkat.texi: Fix module name.
10924
10925 2010-07-31  Bruno Haible  <bruno@clisp.org>
10926
10927         fchownat: Replace also when chown has the trailing slash bug.
10928         * m4/openat.m4 (gl_FUNC_FCHOWNAT): Move the test of REPLACE_CHOWN
10929         outside the gl_FUNC_FCHOWNAT_DEREF_BUG invocation. Fixes regression
10930         introduced on 2010-04-10.
10931         Reported by Rainer Tammer.
10932
10933 2010-07-31  Bruno Haible  <bruno@clisp.org>
10934
10935         linkat: Work around AIX 7.1 bug.
10936         * m4/linkat.m4 (gl_FUNC_LINKAT): Require AC_CANONICAL_HOST. Test
10937         whether linkat handles trailing slash correctly. If not, replace linkat
10938         and define LINKAT_TRAILING_SLASH_BUG.
10939         * lib/linkat.c (rpl_linkat): If LINKAT_TRAILING_SLASH_BUG is defined,
10940         check whether (fd1,file1) points to a directory if file1 or file2 ends
10941         in a slash. Code taken from lib/link.c.
10942         * doc/posix-functions/linkat.texi: Mention trailing slash bug.
10943         Reported by Rainer Tammer.
10944
10945 2010-07-31  Bruno Haible  <bruno@clisp.org>
10946
10947         Correctly determine whether pow is available in libc on AIX 7 with xlc.
10948         * m4/mathfunc.m4 (gl_MATHFUNC): Actually use the 'funcptr' variable.
10949         This disables an xlc optimization that was causing wrong test results.
10950         Reported by Rainer Tammer.
10951
10952 2010-07-31  Bruno Haible  <bruno@clisp.org>
10953
10954         iconv: Work around AIX 6.1..7.1 bug.
10955         * doc/posix-functions/iconv.texi: Mention AIX 6.1, 7.1 bug.
10956         * m4/iconv.m4 (AM_ICONV_LINK): Test against AIX 6.1, 7.1 bug. When
10957         cross-compiling, guess no on all versions of AIX.
10958         Reported by Rainer Tammer.
10959
10960 2010-07-31  Bruno Haible  <bruno@clisp.org>
10961
10962         readlink: Relax test a bit.
10963         * tests/test-readlink.h (test_readlink): Allow different errno value
10964         when readlink is called with a file name that ends in / and refers to
10965         a file.
10966         Suggested by Eric Blake.
10967         Reported by Rainer Tammer.
10968
10969 2010-07-31  Bruno Haible  <bruno@clisp.org>
10970
10971         copysign: Does not require -lm on glibc systems.
10972         * modules/copysign (configure.ac): Use gl_MATHFUNC, not
10973         gl_COMMON_DOUBLE_MATHFUNC.
10974         * m4/mathfunc.m4 (gl_COMMON_DOUBLE_MATHFUNC): Update comments.
10975
10976 2010-07-31  Bruno Haible  <bruno@clisp.org>
10977
10978         duplocale: Work around AIX 7.1 bug.
10979         * m4/duplocale.m4 (gl_FUNC_DUPLOCALE): Let the test fail also when
10980         duplocale(LC_GLOBAL_LOCALE) returns (locale_t)0.
10981         * lib/duplocale.c (rpl_duplocale): Update comment.
10982         * doc/posix-functions/duplocale.texi: Mention the AIX 7.1 bug.
10983         Reported by Rainer Tammer.
10984
10985 2010-07-30  Bruno Haible  <bruno@clisp.org>
10986
10987         dirfd: Avoid link error on AIX 7.1.
10988         * lib/dirent.in.h (dirfd): Use modern idiom with REPLACE_DIRFD.
10989         * m4/dirfd.m4 (gl_FUNC_DIRFD): If the function is declared but does not
10990         exist, set REPLACE_DIRFD.
10991         * m4/dirent_h.m4 (gl_DIRENT_H_DEFAULTS): Initialize REPLACE_DIRFD.
10992         * modules/dirent (Makefile.am): Substitute REPLACE_DIRFD.
10993         * doc/posix-functions/dirfd.texi: Update.
10994         Reported by Rainer Tammer.
10995
10996 2010-07-30  Eric Blake  <eblake@redhat.com>
10997
10998         strtod: next round of AIX fixes
10999         * lib/strtod.c (strtod): Work around AIX bug of parsing p with no
11000         exponent.
11001         * tests/test-strtod.c (main): Enhance tests.
11002         * doc/posix-functions/strtod.texi (strtod): Document next bug.
11003         Reported by Rainer Tammer.
11004
11005         futimens: fix configure check
11006         * m4/futimens.m4 (gl_FUNC_FUTIMENS): Use correct logic.
11007         Reported by Bruno Haible.
11008
11009 2010-07-30  Bruno Haible  <bruno@clisp.org>
11010
11011         getline: Update regarding AIX.
11012         * doc/posix-functions/getline.texi: Mention bug on AIX 7.1.
11013         Reported by Rainer Tammer.
11014
11015 2010-07-30  Bruno Haible  <bruno@clisp.org>
11016
11017         wcwidth: Drop replacement on AIX 7.
11018         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): When cross-compiling, guess yes on
11019         AIX 7.
11020         Reported by Rainer Tammer.
11021
11022 2010-07-30  Bruno Haible  <bruno@clisp.org>
11023
11024         strtok_r: Avoid triggering bug in AIX 7.1 xlc compiler.
11025         * m4/strtok_r.m4 (gl_FUNC_STRTOK_R): Don't cast an invalid address to
11026         a 'char *'.
11027         Reported by Rainer Tammer.
11028
11029 2010-07-30  Bruno Haible  <bruno@clisp.org>
11030
11031         unlink: Update regarding AIX.
11032         * doc/posix-functions/unlink.texi: Mention bug on AIX 7.1.
11033         * m4/unlink.m4 (gl_FUNC_UNLINK): Update comment.
11034         Reported by Rainer Tammer.
11035
11036 2010-07-30  Bruno Haible  <bruno@clisp.org>
11037
11038         symlink: Update regarding AIX.
11039         * doc/posix-functions/symlink.texi: Mention bug on AIX 7.1.
11040         * m4/symlink.m4 (gl_FUNC_SYMLINK): Update comment.
11041         Reported by Rainer Tammer.
11042
11043 2010-07-30  Bruno Haible  <bruno@clisp.org>
11044
11045         strndup: Update regarding AIX.
11046         * m4/strndup.m4 (gl_FUNC_STRNDUP): When cross-compiling, guess yes on
11047         AIX 7.
11048         Reported by Rainer Tammer.
11049
11050 2010-07-30  Bruno Haible  <bruno@clisp.org>
11051
11052         stat: Update regarding AIX.
11053         * doc/posix-functions/stat.texi: Mention bug on AIX 7.1.
11054         * m4/stat.m4 (gl_FUNC_STAT): Update comment.
11055         Reported by Rainer Tammer.
11056
11057 2010-07-30  Bruno Haible  <bruno@clisp.org>
11058
11059         truncl: Fix autoconf test.
11060         * m4/truncl.m4 (gl_FUNC_TRUNCL): Add TRUNCL_LIBM to LIBS while testing
11061         whether truncl works.
11062         Reported by Rainer Tammer.
11063
11064 2010-07-30  Bruno Haible  <bruno@clisp.org>
11065
11066         round: Update regarding AIX.
11067         * m4/round.m4 (gl_FUNC_ROUND): When cross-compiling, guess no on AIX 7.
11068         * doc/posix-functions/round.texi: Mention bug on AIX 7.1.
11069         Reported by Rainer Tammer.
11070
11071 2010-07-30  Bruno Haible  <bruno@clisp.org>
11072
11073         rename: Update regarding AIX.
11074         * doc/posix-functions/rename.texi: Mention bug on AIX 7.1.
11075         * m4/rename.m4 (gl_FUNC_RENAME): Update comment.
11076         Reported by Rainer Tammer.
11077
11078 2010-07-30  Bruno Haible  <bruno@clisp.org>
11079
11080         printf.m4: Update regarding AIX.
11081         * m4/printf.m4: Update comments regarding AIX.
11082         Reported by Rainer Tammer.
11083
11084 2010-07-30  Bruno Haible  <bruno@clisp.org>
11085
11086         iconv: Update regarding AIX.
11087         * m4/iconv.m4 (AM_ICONV_LINK): When cross-compiling, guess yes on
11088         AIX 7.
11089         Reported by Rainer Tammer.
11090
11091 2010-07-30  Bruno Haible  <bruno@clisp.org>
11092
11093         getopt: Update regarding AIX.
11094         * m4/getopt.m4 (gl_GETOPT_CHECK_HEADERS): When cross-compiling, guess
11095         no on AIX.
11096         * doc/posix-functions/getopt.texi: Mention that AIX has the optind bug.
11097         Reported by Rainer Tammer.
11098
11099 2010-07-30  Bruno Haible  <bruno@clisp.org>
11100
11101         ldexpl; Update regarding AIX.
11102         * m4/ldexpl.m4 (gl_FUNC_LDEXPL_WORKS): When cross-compiling, guess yes
11103         on AIX 7.
11104         Reported by Rainer Tammer.
11105
11106 2010-07-30  Bruno Haible  <bruno@clisp.org>
11107
11108         frexpl: Update regarding AIX.
11109         * m4/frexpl.m4 (gl_FUNC_FREXPL_WORKS): When cross-compiling, guess yes
11110         on AIX 7.
11111         Reported by Rainer Tammer.
11112
11113 2010-07-30  Bruno Haible  <bruno@clisp.org>
11114
11115         open, fopen: Update regarding AIX.
11116         * m4/open.m4 (gl_FUNC_OPEN): Adjust cross-compiling guess for AIX.
11117         * m4/fopen.m4 (gl_FUNC_FOPEN): Likewise.
11118         * doc/posix-functions/open.texi: Mention the trailing-slash bug on AIX.
11119         * doc/posix-functions/fopen.texi: Likewise.
11120         Reported by Rainer Tammer.
11121
11122 2010-07-30  Bruno Haible  <bruno@clisp.org>
11123
11124         chown: Update doc regarding AIX.
11125         * doc/posix-functions/chown.texi: Mention bug on AIX 7.1.
11126         * m4/chown.m4 (gl_FUNC_CHOWN): Update comment.
11127         Reported by Rainer Tammer.
11128
11129 2010-07-30  Eric Blake  <eblake@redhat.com>
11130
11131         strtod: fix bug in replacement function on AIX
11132         * lib/strtod.c (strtod): Special case broken "0x" parse in
11133         underlying strtod.
11134         * tests/test-strtod.c (main): Document AIX 7.1 bugs.
11135         * doc/posix-functions/strtod.texi (strtod): Likewise.
11136         Reported by Rainer Tammer.
11137
11138 2010-07-30  Bruno Haible  <bruno@clisp.org>
11139
11140         mbrlen: Fix cross-compilation guess for AIX.
11141         * m4/mbrlen.m4 (gl_MBRLEN_INCOMPLETE_STATE): Fix cross-compilation
11142         guess. Leftover from 2008-12-22.
11143
11144 2010-07-30  Bruno Haible  <bruno@clisp.org>
11145
11146         mbrtowc: Fix cross-compilation guess for AIX.
11147         * m4/mbrtowc.m4 (gl_MBRTOWC_INCOMPLETE_STATE): Fix cross-compilation
11148         guess. Leftover from 2008-12-21.
11149
11150 2010-07-29  Peter O'Gorman  <pogma@thewrittenword.com>  (tiny change)
11151
11152         init.sh: work around trap limitation of some shells
11153         * tests/init.sh (setup_): Move exit trap outside of shell function.
11154
11155 2010-07-29  Eric Blake  <eblake@redhat.com>
11156
11157         strtod: aid debugging
11158         * m4/strtod.m4(gl_FUNC_STRTOD): Use distinct exit status to aid
11159         understanding why strtod is rejected.
11160
11161 2010-07-28  Bruno Haible  <bruno@clisp.org>
11162
11163         unistr/u*-chr, unistr/u*-strchr: Fix link errors and warnings.
11164         * lib/unistr/u8-chr.c: Include <string.h>.
11165         * tests/unistr/test-u8-chr.c: Likewise.
11166         * tests/unistr/test-u16-chr.c: Likewise.
11167         * tests/unistr/test-u32-chr.c: Likewise.
11168         * tests/unistr/test-u8-strchr.c: Likewise.
11169         * tests/unistr/test-u16-strchr.c: Likewise.
11170         * tests/unistr/test-u32-strchr.c: Likewise.
11171         * modules/unistr/u8-chr-tests (Depends-on): Add unistr/u32-set.
11172         * modules/unistr/u16-chr-tests (Depends-on): Likewise.
11173         * modules/unistr/u8-strchr-tests (Depends-on): Likewise.
11174         * modules/unistr/u16-strchr-tests (Depends-on): Likewise.
11175
11176 2010-07-28  Bruno Haible  <bruno@clisp.org>
11177
11178         Use spaces for indentation, not tabs.
11179         * lib/**/*.[hcy] except lib/reg*.[hc]: Untabify.
11180
11181 2010-07-27  Bruno Haible  <bruno@clisp.org>
11182
11183         mbspcasecmp: Fix function specification.
11184         * lib/string.in.h (mbspcasecmp): Fix specification comment.
11185         * lib/mbspcasecmp.c (mbspcasecmp): Likewise.
11186         Reported by Eric Blake <eblake@redhat.com>.
11187
11188 2010-07-26  Paul R. Eggert  <eggert@cs.ucla.edu>
11189
11190         timespec: use cast and not conditional, as truncation isn't possible
11191         * lib/timespec.h (timespec_cmp): Use cast to pacify gcc -Wconversion
11192         instead of a conditional.  Comment about the situation in more detail.
11193         This undoes most of the 2009-10-29 patch.
11194
11195 2010-07-23  Paolo Bonzini  <pbonzini@redhat.com>
11196
11197         unistr/u8-chr, unistr/u8-strchr: use Boyer-Moore like algorithm.
11198         * lib/unistr/u8-chr.c: Add Boyer-Moore like operation.
11199         * lib/unistr/u8-strchr.c: Likewise.
11200         * modules/unistr/u8-chr: Depend on memchr.
11201
11202         unistr/u*-strchr: add tests
11203         * modules/unistr/u8-strchr-tests: New file.
11204         * modules/unistr/u16-strchr-tests: New file.
11205         * modules/unistr/u32-strchr-tests: New file.
11206         * tests/unistr/test-strchr.h: New file.
11207         * tests/unistr/test-u8-strchr.c: New file.
11208         * tests/unistr/test-u16-strchr.c: New file.
11209         * tests/unistr/test-u32-strchr.c: New file.
11210
11211         unistr/u*-chr: test multibyte sequences more
11212         * tests/unistr/test-chr.h: Do complete testing of the characters in the
11213         test vector.
11214         * tests/unistr/test-u8-chr.c (U_UCTOMB): Define.
11215         * tests/unistr/test-u16-chr.c (U_UCTOMB): Likewise.
11216         * tests/unistr/test-u32-chr.c (U_UCTOMB): Likewise.
11217
11218         unistr/u*-chr: test multibyte sequences
11219         * tests/unistr/test-chr.h: Put characters above 0-127 in the test input.
11220
11221         unistr/u*-chr: prepare for multibyte tests
11222         * modules/unistr/u8-chr-tests: Depend on u32-to-u8.
11223         * modules/unistr/u16-chr-tests: Depend on u32-to-u16.
11224         * tests/unistr/test-chr.h: Build initial version as UCS-4 then convert.
11225         * tests/unistr/test-u8-chr.c (U32_TO_U): Define.
11226         * tests/unistr/test-u16-chr.c (U32_TO_U): Likewise.
11227         * tests/unistr/test-u32-chr.c (U32_TO_U): Likewise.
11228
11229 2010-07-18  Bruno Haible  <bruno@clisp.org>
11230
11231         unistr/u8-strchr: Optimize non-ASCII argument case.
11232         * lib/unistr/u8-strchr.c (u8_strchr): Compare the last byte first,
11233         because the first byte often matches anyway.
11234         Reported by Pádraig Brady <P@draigbrady.com>.
11235
11236 2010-07-15  Karl Berry  <karl@gnu.org>
11237
11238         * config/srclist.txt (fdl.texi): only one copy, from gnustandards.
11239
11240 2010-07-14  Paul R. Eggert  <eggert@cs.ucla.edu>
11241
11242         getcwd: on Solaris, work better if ancestors are inaccessible
11243         * lib/getcwd.c (__getcwd): If getcwd returns EINVAL for zero
11244         buffer and size, try again with a large buffer.  This works better
11245         on Solaris, since its getcwd succeeds even if the path to the root
11246         is inaccessible, and this is helpful in common cases such as .zfs
11247         hidden directories.  Problem reported by J Chapman Flack in
11248         http://lists.gnu.org/archive/html/bug-tar/2010-06/msg00000.html
11249         Use system getcwd if it's declared, not merely if it's partly
11250         working; use the partly-working test only to avoid needless effort
11251         if the system getcwd fails.
11252         * m4/getcwd-path-max.m4 (gl_FUNC_GETCWD_PATH_MAX): Omit
11253         comment that was already obsolete and is now even more obsolete.
11254         * modules/getcwd (Depends-on): Depend on strdup, since __getcwd
11255         now might call strdup.
11256
11257 2010-07-13  Paul R. Eggert  <eggert@cs.ucla.edu>
11258
11259         pthread: Add enough so that coreutils/src/sort.c compiles.
11260         * lib/pthread.in.h: Add self to author comment.  Conditionalize on
11261         _GL_PTHREAD_H, not PTHREAD_H_, for consistency with the rest of
11262         gnulib. Include <sched.h> and <time.h>, as per POSIX.
11263         Include <sys/types.h>, in case it defines pthread_t.
11264         (pthread_t, pthread_attr_t, pthread_barrier_t, pthread_barrierattr_t):
11265         (pthread_cond_t, pthread_condattr_t, pthread_key_t, pthread_mutex_t):
11266         (pthread_mutexattr_t, pthread_once_t, pthread_rwlock_t):
11267         (pthread_rwlockattr_t, pthread_spinlock_t):
11268         New typedefs, if HAVE_PTHREAD_T is not defined.
11269         (PTHREAD_COND_INITIALIZER, PTHREAD_MUTEX_INITIALIZER):
11270         (PTHREAD_ONCE_INIT, PTHREAD_RWLOCK_INITIALIZER):
11271         (PTHREAD_BARRIER_SERIAL_THREAD, PTHREAD_CANCEL_DEFERRED):
11272         (PTHREAD_CANCEL_ASYNCHRONOUS, PTHREAD_CANCEL_ENABLE):
11273         (PTHREAD_CANCEL_DISABLE, PTHREAD_CANCELED, PTHREAD_CREATE_JOINABLE):
11274         (PTHREAD_CREATE_DETACHED, PTHREAD_INHERIT_SCHED):
11275         (PTHREAD_EXPLICIT_SCHED, PTHREAD_MUTEX_DEFAULT, PTHREAD_MUTEX_NORMAL):
11276         (PTHREAD_MUTEX_ERRORCHECK, PTHREAD_MUTEX_RECURSIVE):
11277         (PTHREAD_MUTEX_STALLED, PTHREAD_MUTEX_ROBUST, PTHREAD_PRIO_NONE):
11278         (PTHREAD_PRIO_INHERIT, PTHREAD_PRIO_PROTECT, PTHREAD_PROCESS_PRIVATE):
11279         (PTHREAD_PROCESS_SHARED, PTHREAD_SCOPE_SYSTEM, PTHREAD_SCOPE_PROCESS):
11280         New macros.
11281         (pthread_cond_destroy, pthread_cond_init, pthread_cond_signal):
11282         (pthread_cond_wait, pthread_exit, pthread_mutex_destroy):
11283         (pthread_mutex_init, pthread_mutex_lock, pthread_mutex_unlock):
11284         (pthread_spin_init, pthread_spin_lock, pthread_spin_trylock);
11285         (pthread_spin_unlock): New dummy functions.
11286         (pthread_create): Return EAGAIN; don't set errno.
11287         * m4/pthread.m4 (gl_PTHREAD_CHECK): Check for pthread_t, and
11288         require AC_C_INLINE.
11289         * modules/pthread (Depends-on): Add sched, time.
11290         (pthread.h): Use AM_V_GEN.
11291
11292 2010-07-13  Bruno Haible  <bruno@clisp.org>
11293
11294         striconveh: Don't malloc memory if the result buffer is sufficient.
11295         * lib/striconveh.c (mem_cd_iconveh_internal): Use the provided result
11296         buffer if its size is sufficient.
11297         Reported by Ludovic Courtès <ludo@gnu.org>.
11298
11299 2010-07-13  Bruno Haible  <bruno@clisp.org>
11300
11301         strtod: Add safety check.
11302         * lib/strtod.c (ldexp): Abort if this dummy replacement gets called.
11303
11304 2010-07-12  Bruno Haible  <bruno@clisp.org>
11305
11306         Unify tests that set gl_cv_func_ldexpl_no_libm.
11307         * m4/ldexpl.m4 (gl_CHECK_LDEXPL_NO_LIBM): New macro, extracted from
11308         gl_FUNC_LDEXPL.
11309         (gl_FUNC_LDEXPL): Invoke it.
11310         * m4/printf-frexpl.m4 (gl_FUNC_PRINTF_FREXPL): Likewise.
11311
11312 2010-07-12  Bruno Haible  <bruno@clisp.org>
11313
11314         Unify tests that set gl_cv_func_ldexp_no_libm.
11315         * m4/ldexp.m4: New file, based on m4/mathfunc.m4.
11316         * m4/strtod.m4 (gl_PREREQ_STRTOD): Require gl_CHECK_LDEXP_NO_LIBM.
11317         * modules/ldexp (Files): Remove m4/mathfunc.m4. Add m4/ldexp.m4.
11318         (configure.ac): Simply invoke gl_FUNC_LDEXP.
11319         * modules/strtod (Files): Add m4/ldexp.m4.
11320
11321 2010-07-12  Bruno Haible  <bruno@clisp.org>
11322
11323         Unify tests that set gl_cv_func_frexpl_no_libm.
11324         * m4/frexpl.m4 (gl_CHECK_FREXPL_NO_LIBM): New macro, extracted from
11325         gl_FUNC_FREXPL_NO_LIBM.
11326         (gl_FUNC_FREXPL, gl_FUNC_FREXPL_NO_LIBM): Invoke it.
11327         * m4/printf-frexpl.m4 (gl_FUNC_PRINTF_FREXPL): Likewise.
11328
11329 2010-07-12  Bruno Haible  <bruno@clisp.org>
11330
11331         Unify tests that set gl_cv_func_frexp_no_libm.
11332         * m4/frexp.m4 (gl_CHECK_FREXP_NO_LIBM): New macro, extracted from
11333         gl_FUNC_FREXP_NO_LIBM.
11334         (gl_FUNC_FREXP, gl_FUNC_FREXP_NO_LIBM): Require it.
11335         * m4/printf-frexp.m4 (gl_FUNC_PRINTF_FREXP): Likewise.
11336
11337 2010-07-12  Paul R. Eggert  <eggert@cs.ucla.edu>
11338
11339         memcoll: clarify sizes versus lengths, document better, and tweak perf
11340         * lib/memcoll.c (strcoll_loop, memcoll0):
11341         Improve quality of descriptive comments.  Name variables
11342         consistently as to whether they are lengths (which do not include
11343         terminating null) versus sizes (which do).
11344         * lib/xmemcoll.c (xmemcoll0): Likewise.
11345         * lib/memcoll.c (strcoll_loop): Tweak the way that the diff is
11346         returned when s1size == 0; this is easier to compile and saves
11347         about 17% of memcoll's code space on x86-64 with GCC 4.1.2.
11348
11349 2010-07-12  Bruno Haible  <bruno@clisp.org>
11350
11351         Tests for module '_Exit'.
11352         * modules/_Exit-tests: New file.
11353         * tests/test-_Exit.sh: New file.
11354         * tests/test-_Exit.c: New file.
11355
11356         New module '_Exit'.
11357         * lib/stdlib.in.h (__attribute__): New macro.
11358         (_Exit): New declaration.
11359         * lib/_Exit.c: New file.
11360         * m4/_Exit.m4: New file.
11361         * m4/stdlib_h.m4 (gl_STDLIB_H): Check whether _Exit is declared.
11362         (gl_STDLIB_H_DEFAULTS): Initialize GNULIB__EXIT and HAVE__EXIT.
11363         * modules/stdlib (Makefile.am): Substitute GNULIB__EXIT and HAVE__EXIT.
11364         * modules/_Exit: New file.
11365         * tests/test-stdlib-c++.cc (_Exit): Check signature.
11366         * doc/posix-functions/_Exit_C99.texi: Mention the new module.
11367
11368 2010-07-12  Paul R. Eggert  <eggert@cs.ucla.edu>
11369
11370         strtod: make it more-accurate typically, and don't require libm
11371         * lib/strtod.c (_GL_ARG_NONNULL): Remove; no longer needed.
11372         Include limits.h.  Don't include string.h.
11373         (HAVE_LDEXP_IN_LIBC, HAVE_RAW_DECL_STRTOD): Define to 0 if not defined.
11374         (locale_isspace): New function, so that no casts are needed to
11375         check whether *s is a space.
11376         (ldexp): Provide an unused dummy if not available.
11377         (scale_radix_exp, parse_number, underlying_strtod): New functions.
11378         (strtod): Use them.  This implementation prefers to use the
11379         underlying strtod if available, falling back on our own code
11380         only to fix known bugs.  This is more likely to produce an
11381         accurate result.  Also, it avoids the use of libm functions.
11382         * m4/strtod.m4 (gl_FUNC_STRTOD): Don't invoke _AC_LIBOBJ_STRTOD;
11383         no longer needed.  Invoke AC_LIBOBJ([strtod]); don't know why this
11384         was absent, but it caused a test failure with coreutils.
11385         (gl_PREREQ_STRTOD): Check wither ldexp can be used without linking
11386         with libm.
11387         * modules/strtod (Makefile.am, Link): libm is no longer needed.
11388         * modules/strtod-tests (Makefile.am): Likewise.
11389
11390 2010-07-11  Pádraig Brady  <P@draigBrady.com>
11391             Bruno Haible  <bruno@clisp.org>
11392
11393         unistr/u8-strchr: Optimize ASCII argument case.
11394         * lib/unistr/u8-strchr.c (u8_strchr): For ASCII arguments, use strchr.
11395
11396 2010-07-08  Paul Eggert  <eggert@cs.ucla.edu>
11397
11398         (x)memcoll: minor tweaks
11399         * lib/memcoll.c (strcoll_loop): Prefer the style where 'const'
11400         is after the type that it qualifies.
11401         (memcoll0): Likewise.
11402         * lib/memcoll.h (memcoll0): Likewise.
11403         * lib/xmemcoll.c (collate_error, xmemcoll0): Likewise.
11404         * lib/xmemcoll.h (xmemcoll0): Likewise.
11405         * lib/memcoll.c (memcoll0): Correct the comment.  This function
11406         differs from memcoll in that the NUL byte is part of the argument.
11407         Omit the abort-checks, as performance is a real issue here.  Plus,
11408         the checks were wrong anyway (an off-by-one error).  Omit local
11409         variable 'diff', as it's a bit clearer that way.
11410         * m4/memcoll.m4 (gl_MEMCOLL): Omit AC_FUNC_STRCOLL, as it's
11411         no longer needed.
11412
11413 2010-07-08  Chen Guo <chenguo4@yahoo.com>
11414
11415         (x)memcoll: speedup when input is known to be NUL delimited
11416         * lib/memcoll.c: Include stdlib.
11417         (memcoll0) New function.
11418         (strcoll_loop) New function, refactored for use in both memcoll
11419         and memcoll0.
11420         * lib/memcoll.h: Add prototype for memcoll0.
11421         * lib/xmemcoll.c: (xmemcoll0) New function.
11422         (collate_error) New function, refactored for use in both xmemcoll
11423         and xmemcoll0.
11424         * lib/xmemcoll.h: Add prototype for xmemcoll0.
11425         * m4/memcoll.m4: add inline invocation.
11426
11427 2010-07-06  Pádraig Brady  <P@draigBrady.com>
11428
11429         * build-aux/bootstrap: Remove any local translations
11430         from the translation project synchronization directory,
11431         so that local only translations are not distributed.
11432
11433 2010-07-04  Bruno Haible  <bruno@clisp.org>
11434
11435         fsusage: Clarify which code applies to which platforms.
11436         * m4/fsusage.m4 (gl_FSUSAGE): Clarify which test succeeds on which
11437         platform.
11438         * lib/fsusage.c (get_fs_usage): Likewise.
11439
11440 2010-07-04  Bruno Haible  <bruno@clisp.org>
11441
11442         havelib: Fix bug when AC_LIB_FROMPACKAGE is used more than twice.
11443         * m4/lib-link.m4 (AC_LIB_FROMPACKAGE): Use m4_defn.
11444         Reported by Martin Lambers <marlam@marlam.de>.
11445
11446 2010-07-04  Jim Meyering  <meyering@redhat.com>
11447
11448         hash: once again explicitly disallow insertion of NULL
11449         * lib/hash.c (hash_insert0): Reinstate just-removed test:
11450         inserting a NULL pointer cannot work with these functions.
11451         Add a comment with details.
11452         This reverts part of the 2010-07-01 commit, 5bef1a35
11453         "hash: extend module to deal with non-pointer keys".
11454
11455 2010-07-01  Bruno Haible  <bruno@clisp.org>
11456
11457         stdbool: Update doc.
11458         * doc/posix-headers/stdbool.texi: Mention OpenBSD bug.
11459         Info from Christian Weisgerber <naddy@mips.inka.de>.
11460
11461 2010-07-01  Jim Meyering  <meyering@redhat.com>
11462
11463         hash: extend module to deal with non-pointer keys
11464         * lib/hash.c (hash_insert0): New interface, much like hash_insert
11465         but that allows insertion of non-pointer entries.
11466         Do not disallow an ENTRY value of NULL.
11467         (hash_insert): This is now just a thin wrapper.  Call hash_insert0.
11468         * lib/hash.h (hash_insert0): Declare.
11469
11470 2010-07-01  Christian Weisgerber  <naddy@mips.inka.de>  (tiny change)
11471
11472         gettext: Use AC_GNU_SOURCE as a fallback for AC_USE_SYSTEM_EXTENSIONS.
11473         * m4/fcntl-o.m4 (gl_FCNTL_O_FLAGS): When AC_USE_SYSTEM_EXTENSIONS is
11474         not present (i.e. with autoconf 2.59 and when using gettextize, not
11475         gnulib), require AC_GNU_SOURCE instead.
11476
11477 2010-07-01  Ian Beckwith  <ianb@erislabs.net>
11478
11479         idpriv-drop: Fix tests.
11480         * tests/test-idpriv-drop.su.sh: Refer to the test-idpriv-drop program,
11481         not to the test-idpriv-droptemp program.
11482
11483 2010-06-29  Bruno Haible  <bruno@clisp.org>
11484
11485         string: Fix syntax error with g++ 2.96.
11486         * lib/string.in.h (__pure__): Remove definition.
11487         (_GL_ATTRIBUTE_PURE): New macro.
11488         (memchr, memmem, memrchr, rawmemchr, strchrnul, strnlen, strpbrk,
11489         strstr, strcasestr): Use it instead of __attribute__ ((__pure__)).
11490         Reported by Christian Weisgerber <naddy@mips.inka.de>.
11491
11492 2010-06-28  Ian Beckwith  <ianb@erislabs.net>
11493
11494         unitypes: Fix bug introduced on 2010-05-18.
11495         * modules/unitypes (Files): Really add m4/libunistring-base.m4.
11496
11497 2010-06-22  Eric Blake  <eblake@redhat.com>
11498
11499         memmem: slight optimization
11500         * lib/str-two-way.h (critical_factorization): Update comments.
11501         Reduce work during factorization phase.
11502         Reported by Carlos Bueno <carlos@bueno.org>.
11503
11504 2010-06-21  Bruno Haible  <bruno@clisp.org>
11505
11506         Fix HAVE_CALLOC_POSIX misnomer.
11507         * lib/stdlib.in.h (calloc): Use REPLACE_CALLOC instead of
11508         !HAVE_CALLOC_POSIX.
11509         * m4/calloc.m4 (gl_REPLACE_CALLOC): Set REPLACE_CALLOC instead of
11510         HAVE_CALLOC_POSIX.
11511         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize REPLACE_CALLOC
11512         instead of HAVE_CALLOC_POSIX.
11513         * modules/stdlib (Makefile.am): Substitute REPLACE_CALLOC instead of
11514         HAVE_CALLOC_POSIX.
11515
11516         Use modern idiom for calloc() replacement.
11517         * modules/calloc (configure.ac): Invoke gl_FUNC_CALLOC_GNU instead of
11518         AC_FUNC_CALLOC.
11519         * m4/calloc.m4 (gl_FUNC_CALLOC_GNU): Renamed from AC_FUNC_CALLOC.
11520         Require gl_STDLIB_H_DEFAULTS. Invoke gl_REPLACE_CALLOC.
11521         (gl_FUNC_CALLOC_POSIX): Rely on gl_STDLIB_H_DEFAULTS to initialize
11522         HAVE_CALLOC_POSIX. Invoke gl_REPLACE_CALLOC.
11523         (gl_REPLACE_CALLOC): New macro.
11524
11525 2010-06-21  Bruno Haible  <bruno@clisp.org>
11526
11527         Fix HAVE_REALLOC_POSIX misnomer.
11528         * lib/stdlib.in.h (realloc): Use REPLACE_REALLOC instead of
11529         !HAVE_REALLOC_POSIX.
11530         * m4/realloc.m4 (gl_REPLACE_REALLOC): Set REPLACE_REALLOC instead of
11531         HAVE_REALLOC_POSIX.
11532         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize REPLACE_REALLOC
11533         instead of HAVE_REALLOC_POSIX.
11534         * modules/stdlib (Makefile.am): Substitute REPLACE_REALLOC instead of
11535         HAVE_REALLOC_POSIX.
11536
11537         Use modern idiom for realloc() replacement.
11538         * modules/realloc (configure.ac): Invoke gl_FUNC_REALLOC_GNU instead of
11539         AC_FUNC_REALLOC.
11540         * m4/realloc.m4 (gl_FUNC_REALLOC_GNU): New macro, mostly copied from
11541         Autoconf's AC_FUNC_REALLOC.
11542         (gl_FUNC_REALLOC_POSIX): Rely on gl_STDLIB_H_DEFAULTS to initialize
11543         HAVE_REALLOC_POSIX. Invoke gl_REPLACE_REALLOC.
11544         (gl_REPLACE_REALLOC): New macro.
11545         Reported by Richard Lloyd <richard.lloyd@connectinternetsolutions.com>.
11546
11547 2010-06-21  Bruno Haible  <bruno@clisp.org>
11548
11549         Fix HAVE_MALLOC_POSIX misnomer.
11550         * lib/stdlib.in.h (malloc): Use REPLACE_MALLOC instead of
11551         !HAVE_MALLOC_POSIX.
11552         * m4/malloc.m4 (gl_REPLACE_MALLOC): Set REPLACE_MALLOC instead of
11553         HAVE_MALLOC_POSIX.
11554         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize REPLACE_MALLOC
11555         instead of HAVE_MALLOC_POSIX.
11556         * modules/stdlib (Makefile.am): Substitute REPLACE_MALLOC instead of
11557         HAVE_MALLOC_POSIX.
11558
11559         Use modern idiom for malloc() replacement.
11560         * modules/malloc (configure.ac): Invoke gl_FUNC_MALLOC_GNU instead of
11561         AC_FUNC_MALLOC.
11562         * m4/malloc.m4 (gl_FUNC_MALLOC_GNU): New macro, mostly copied from
11563         Autoconf's AC_FUNC_MALLOC.
11564         (gl_FUNC_MALLOC_POSIX): Rely on gl_STDLIB_H_DEFAULTS to initialize
11565         HAVE_MALLOC_POSIX. Invoke gl_REPLACE_MALLOC.
11566         (gl_REPLACE_MALLOC): New macro.
11567         Reported by Richard Lloyd <richard.lloyd@connectinternetsolutions.com>.
11568
11569 2010-06-20  Richard Lloyd  <richard.lloyd@connectinternetsolutions.com>
11570
11571         stdio.in.h: fix compilation failure when using HP-UX 11's C compiler
11572         * lib/stdio.in.h: Remove excess _GL_CXXALIAS_RPL macro argument.
11573         This macro takes 3 arguments, not 4.
11574
11575 2010-06-15  Giuseppe Scrivano  <gscrivano@gnu.org>
11576
11577         ipv6: fix detection under mingw
11578         * m4/sockpfaf.m4 (gl_SOCKET_FAMILIES): Include <ws2tcpip.h> for struct
11579         in6_addr.
11580
11581 2010-06-14  Ben Pfaff  <blp@cs.stanford.edu>
11582
11583         * m4/strtod.m4 (gl_FUNC_STRTOD): Factor out common code.  Assume
11584         that strtod() works when cross-compiling to a glibc version known
11585         to work.
11586
11587 2010-06-15  Bruno Haible  <bruno@clisp.org>
11588
11589         * m4/strtod.m4 (gl_FUNC_STRTOD): Stop using AC_FUNC_STRTOD.
11590
11591 2010-06-15  René Berber  <r.berber@computer.org>  (tiny change)
11592
11593         select: Correct timeout.
11594         * lib/select.c (rpl_select): Compute wait_timeout correctly.
11595
11596 2010-06-14  Thien-Thi Nguyen  <ttn@gnuvola.org>  (tiny change)
11597
11598         git-version-gen: init shell var to avoid env var influence
11599         * build-aux/git-version-gen (v): Init shell var to empty.
11600
11601 2010-06-14  Paul Eggert  <eggert@cs.ucla.edu>
11602
11603         priv-set: Don't assume that priv.h exists merely because getppriv does.
11604         See Jan Andersen's bug report about AIX 5L in
11605         http://lists.gnu.org/archive/html/bug-tar/2010-06/msg00019.html
11606         * m4/priv-set.m4 (gl_PRIV_SET): Check for priv.h.
11607         * lib/priv-set.c: Do nothing unless HAVE_PRIV_H.
11608         * lib/priv-set.h: Likewise.
11609         * tests/test-priv-set.c: Likewise.
11610
11611 2010-06-13  Bruno Haible  <bruno@clisp.org>
11612
11613         relocatable: Make it easier to test whether to install wrappers.
11614         * m4/relocatable.m4 (gl_RELOCATABLE_BODY): New automake conditional
11615         RELOCATABLE_VIA_WRAPPER.
11616
11617 2010-06-13  Bruno Haible  <bruno@clisp.org>
11618
11619         gnulib-tool: Display specified modules and dependencies differently.
11620         * gnulib-tool (func_show_module_list): New function.
11621         (func_import, func_create_testdir): Invoke it.
11622         Reported by Thien-Thi Nguyen <ttn@gnuvola.org>.
11623
11624 2010-06-13  Bruno Haible  <bruno@clisp.org>
11625
11626         gnulib-tool: Align code of func_import and func_create_testdir.
11627         * gnulib-tool (func_create_testdir): Rename variable saved_modules to
11628         specified_modules.
11629
11630 2010-06-12  Jim Meyering  <meyering@redhat.com>
11631
11632         test-inttostr: avoid spurious failure on Solaris 9
11633         * tests/test-inttostr.c (main): Skip the test when snprintf fails
11634         to accept "%ju".  Reported by Bruno Haible.
11635
11636 2010-06-11  Jim Meyering  <meyering@redhat.com>
11637
11638         test-sys_socket: mark variables as used more readably
11639         * tests/test-sys_socket.c (main): Mark otherwise unused variables
11640         as "used" explicitly via (void) statement casts.  This is more
11641         readable than using them in an artificial return expression.
11642         Suggestion from Bruno Haible.
11643
11644 2010-06-11  Bruno Haible  <bruno@clisp.org>
11645
11646         Avoid some more warnings from "gcc -Wwrite-strings".
11647         * tests/test-argp.c (test_optional): Change 5th and 6th argument type
11648         to 'const char *'.
11649         * tests/test-c-strstr.c (main): Add 'const' to variable declaration.
11650         * tests/test-c-strcasestr.c (main): Likewise.
11651         * tests/test-mbscasestr1.c (main): Likewise.
11652         * tests/test-mbscasestr2.c (main): Likewise.
11653         * tests/test-memmem.c (main): Likewise.
11654         * tests/test-strstr.c (main): Likewise.
11655         * tests/test-strcasestr.c (main): Likewise.
11656
11657 2010-06-11  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
11658
11659         init.sh: change framework_failure_ to fail with status 99, not 1
11660         * tests/init.sh (framework_failure_): Exit 99, not 1.  This informs
11661         automake's parallel-tests rule that this is an unexpected failure,
11662         even if the test is listed in XFAIL_TESTS.
11663
11664 2010-06-11  Jim Meyering  <meyering@redhat.com>
11665
11666         test-inttostr: avoid warnings about 4-6KB literal strings
11667         * tests/test-inttostr.c: Don't use <assert.h>.  Instead, ...
11668         Include "macros.h", for its definition of ASSERT.
11669         (CK): s/assert/ASSERT/
11670         * modules/inttostr-tests (Files): Add macros.h.
11671
11672         init.sh: don't use $ME_ or skip_ before they are defined
11673         * tests/init.sh: Hoist definitions of $ME_ and skip_ to precede
11674         their first uses.  Also hoist their companions: warn_, fail_,
11675         framework_failure_, $stderr_fileno.  Prompted by a patch from
11676         Stefano Lattarini.
11677
11678         test-sys_socket: avoid set-but-not-used warnings from gcc
11679         * tests/test-sys_socket.c (main): Use "i" and "x", in order to
11680         avoid warning about set-but-not-used variables.
11681
11682         test-xvasprintf: avoid 'const' discard warnings
11683         * tests/test-xvasprintf.c (test_xvasprintf, test_xasprintf): Use
11684         "const" when assigning from literal strings.
11685         (test_xasprintf): Add "void" in function argument list to placate
11686         -Wstrict-prototypes and to be consistent with test_xvasprintf above.
11687
11688         tests: avoid compilation warnings in argmatch and exclude tests...
11689         in packages that define ARGMATCH_DIE_DECL, like coreutils.
11690         * tests/test-exclude.c [ARGMATCH_DIE_DECL]: Also declare the function.
11691         Since it always exits, declare with the "noreturn" attribute.
11692         * tests/test-argmatch.c: Likewise.
11693
11694         tests: avoid 'const' discard warnings in mbsstr tests
11695         * tests/test-mbsstr1.c (main): Add "const" to avoid trivial warning.
11696         * tests/test-mbsstr2.c (main): Likewise.
11697
11698         test-verify: avoid warning from gcc's -Wmissing-declarations
11699         * tests/test-verify.c (function): Declare to be static.
11700
11701         test-inttostr.c: include <string.h> for use of strcmp
11702         * tests/test-inttostr.c: Include <string.h> for strcmp declaration.
11703
11704         test-linkat: avoid failed assertion on "other" architectures
11705         * tests/test-linkat.c: Include <sys/stat.h>, for declarations of stat,
11706         lstat, mkdir.  Patch by John Rigby, to fix FTBFS on armel, powerpc,
11707         sparc: https://bugs.launchpad.net/bugs/591968
11708
11709 2010-06-11  Jim Meyering  <meyering@redhat.com>
11710
11711         printf.m4: avoid autoconf's "Expanded Before Required" warning
11712         * m4/printf.m4 (gl_SNPRINTF_RETVAL_C99): Define using AC_DEFUN_ONCE,
11713         rather than AC_DEFUN, to avoid the classic "Expanded Before Required"
11714         autoconf warning.
11715
11716 2010-06-10  Ben Pfaff  <blp@cs.stanford.edu>
11717
11718         Replacement header templates are now named with ".in", not "_".
11719         * doc/gnulib-intro.texi: Correct.
11720
11721 2010-06-10  Jim Meyering  <meyering@redhat.com>
11722
11723         inttostr-tests: depend on snprintf, not snprintf-posix
11724         * modules/inttostr-tests (Depends-on): Depend on snprintf, not
11725         snprintf-posix, to avoid this aclocal failure:
11726           missing file gnulib-tests/vasnprintf.c
11727           configure.ac:45: error: expected source file, required through \
11728           AC_LIBSOURCES, not found
11729
11730 2010-06-10  Jim Meyering  <meyering@redhat.com>
11731
11732         inttostr: add a new function, inttostr, and tests
11733         The namesake function was not available.  The existence of the
11734         template file, inttostr.c makes its addition nontrivial.
11735         * lib/anytostr.c: Rename from inttostr.c.
11736         (anytostr): Rename from inttostr.
11737         * lib/inttostr.c: New file.
11738         * modules/inttostr (Files): Add anytostr.c.
11739         (Makefile.am): Set lib_SOURCES instead of ...
11740         * m4/inttostr.m4: Remove uses of AC_LIBOBJ.
11741         * lib/imaxtostr.c: Update use.  s/inttostr/anytostr/
11742         * lib/offtostr.c: Likewise.
11743         * lib/uinttostr.c: Likewise.
11744         * lib/umaxtostr.c: Likewise.
11745         * modules/inttostr-tests: New file.
11746         * tests/test-inttostr.c: New file.  Test these functions.
11747
11748 2010-06-09  Ben Pfaff  <blp@cs.stanford.edu>
11749             Bruno Haible  <bruno@clisp.org>
11750
11751         Add "Extending Gnulib" chapter to manual.
11752         * doc/gnulib.texi (Writing Modules): Add cross-reference to new
11753         chapter.
11754         (Extending Gnulib): New chapter.
11755         * doc/gnulib-intro.texi (Openness): Add cross-reference to new
11756         chapter.
11757
11758 2010-06-09  Bruno Haible  <bruno@clisp.org>
11759
11760         Avoid relocwrapper link errors due to gnulib replacement functions.
11761         * lib/areadlink.c: Use the system's malloc, realloc functions.
11762         (areadlink): Set errno to ENOMEM explicitly.
11763         * modules/areadlink (Depends-on): Remove malloc-posix.
11764         Reported by Ben Pfaff <blp@cs.stanford.edu>.
11765
11766 2010-06-09  Bruno Haible  <bruno@clisp.org>
11767
11768         Avoid relocwrapper link errors due to gnulib replacement functions.
11769         * lib/canonicalize-lgpl.c: Use the system's malloc function.
11770         * lib/malloca.c: Likewise.
11771         * lib/relocatable.c: Likewise.
11772         * lib/progreloc.c: Use the system's malloc, sprintf functions.
11773         * lib/relocwrapper.c: Use the system's fprintf, malloc functions.
11774         * lib/setenv.c: Use the system's malloc, realloc functions.
11775         * lib/strerror.c: Use the system's sprintf function.
11776         Reported by Ben Pfaff <blp@cs.stanford.edu>.
11777
11778 2010-06-04  Bruno Haible  <bruno@clisp.org>
11779
11780         Prefer documented low-level autoconf macro names.
11781         * m4/lib-link.m4: Use m4_translit instead of translit.
11782         * m4/environ.m4: Likewise.
11783         * m4/mathfunc.m4: Likewise.
11784         * m4/onceonly.m4: Likewise.
11785         * m4/stdint.m4: Likewise.
11786         Suggested by Eric Blake.
11787
11788 2010-06-04  Martin Lambers  <marlam@marlam.de>
11789             Bruno Haible  <bruno@clisp.org>
11790
11791         havelib: Allow library names with '+' characters.
11792         * m4/lib-link.m4 (AC_LIB_LINKFLAGS, AC_LIB_HAVE_LINKFLAGS,
11793         AC_LIB_FROMPACKAGE, AC_LIB_LINKFLAGS_BODY): Convert '+' in name to '_'.
11794
11795 2010-06-09  Bruno Haible  <bruno@clisp.org>
11796
11797         Module setenv does not depend on 'malloc-posix', 'realloc-posix'.
11798         * lib/setenv.c (__add_to_environ): Set errno to ENOMEM when malloc or
11799         realloc failed.
11800
11801 2010-06-08  Peter Simons  <simons@cryp.to>
11802
11803         maint.mk: make the news-check rule more configurable
11804         * top/maint.mk (news-check-lines-spec) New variable.
11805         (news-check): Use "sed -n 1,10p" in place of "head".
11806
11807 2010-06-07  Jim Meyering  <meyering@redhat.com>
11808
11809         do-release-commit-and-tag: fix typo in --help
11810         * build-aux/do-release-commit-and-tag (Usage): Fix typo in --help.
11811
11812         regex: avoid new dead-code warning with gcc-4.6.0
11813         * lib/regex_internal.c (re_string_reconstruct): #if-0-out a dead
11814         if-block containing a while-loop.  It's been unused for at least
11815         5 years.
11816
11817 2010-06-05  Bruno Haible  <bruno@clisp.org>
11818
11819         * doc/posix-functions/strcoll.texi: Mention Solaris limitation.
11820         Reported by River Tarnell <river.tarnell@wikimedia.de> via Eric Blake.
11821
11822 2010-06-04  Bruno Haible  <bruno@clisp.org>
11823
11824         Update to GNU gettext 0.18.1.
11825         * modules/gettext (configure.ac): Require gettext infrastructure from
11826         version 0.18.1.
11827
11828 2010-06-03  Bruno Haible  <bruno@clisp.org>
11829
11830         Don't use AC_LIBOBJ with file names in subdirectories.
11831         * m4/libunistring-base.m4 (gl_LIBUNISTRING_MODULE): Renamed from
11832         gl_LIBUNISTRING_LIBSOURCE. Take a module name as argument, not a file
11833         name. Define an automake conditional. Don't invoke AC_LIBOBJ.
11834         * m4/libunistring.m4 (gl_LIBUNISTRING): Update AC_BEFORE invocation.
11835         * modules/uni*/* (configure.ac): Use gl_LIBUNISTRING_MODULE instead of
11836         gl_LIBUNISTRING_LIBSOURCE.
11837         (Makefile.am): Augment lib_SOURCES here, conditionally.
11838         * NEWS: Drop requirement for Automake option 'subdir-objects'.
11839
11840 2010-06-03  Bruno Haible  <bruno@clisp.org>
11841
11842         Simplify gl_LIBUNISTRING_VERSION_CMP expansion.
11843         * m4/libunistring-base.m4 (gl_LIBUNISTRING_VERSION_CMP): Ensure
11844         expansion does not end with a newline.
11845         (gl_LIBUNISTRING_LIBSOURCE, gl_LIBUNISTRING_LIBHEADER): Avoid
11846         unnecessary newline.
11847
11848 2010-06-03  Bruno Haible  <bruno@clisp.org>
11849
11850         Reduce dependencies.
11851         * tests/test-quotearg.h: New file, extracted from
11852         tests/test-quotearg.c.
11853         * tests/test-quotearg-simple.c: New file, extracted from
11854         tests/test-quotearg.c.
11855         * tests/test-quotearg.c: Don't include <ctype.h>.
11856         (struct result_strings, struct result_groups, LQ, RQ, LQ_ENC, RQ_ENC,
11857         RQ_ESC, inputs, compare, use_quotearg_buffer, use_quotearg,
11858         use_quote_double_quotes, use_quotearg_colon): Moved to
11859         tests/test-quotearg.h.
11860         (results_g, flag_results, custom_quotes, custom_results): Moved
11861         to tests/test-quotearg-simple.c.
11862         (main): Moved the part that does not depend on gettext to
11863         tests/test-quotearg-simple.c. Return 77 if the test cannot be
11864         performed.
11865         * modules/quotearg-simple: New file.
11866         * modules/quotearg-simple-tests: New file.
11867         * modules/quotearg (Depends-on): Add quotearg-simple.
11868         * modules/quotearg-tests (Status): Mark as gettext-dependent-test.
11869         (Files): Add tests/test-quotearg.h.
11870         Reported by Paolo Bonzini.
11871
11872 2010-06-03  Bruno Haible  <bruno@clisp.org>
11873
11874         Reduce dependencies.
11875         * modules/acl (Depends-on): Add gettext-h. Remove gettext.
11876
11877 2010-06-03  Bruno Haible  <bruno@clisp.org>
11878
11879         time: Undefine more broken macros.
11880         * lib/time.in.h: Undefine broken localtime_r and gmtime_r macros only
11881         for pthread-win32. Undefine also asctime_r, ctime_r, rand_r, strtok_r.
11882         Reported by Eric Blake.
11883
11884 2010-06-03  Bruno Haible  <bruno@clisp.org>
11885
11886         Choose among AC_DEFUN_ONCE, AC_DEFUN in a way that aclocal understands.
11887         * m4/iconv.m4 (gl_iconv_AC_DEFUN): New macro.
11888         (AM_ICONV): Define it through gl_iconv_AC_DEFUN.
11889         * m4/libunistring.m4 (gl_libunistring_AC_DEFUN): New macro.
11890         (gl_LIBUNISTRING): Define it through gl_libunistring_AC_DEFUN.
11891         Reported by Ludovic Courtès <ludo@gnu.org>.
11892
11893 2010-06-02  Eric Blake  <eblake@redhat.com>
11894
11895         time: work with mingw + pthreads-win32 library
11896         * m4/time_h.m4 (gl_CHECK_TYPE_STRUCT_TIMESPEC): Set new variable
11897         if timespec is defined only in pthread.h.
11898         * modules/time (Makefile.am): Substitute it.
11899         * lib/time.in.h (!TIME_H_DEFINES_STRUCT_TIMESPEC): Include
11900         <pthread.h>, when needed.
11901         (GNULIB_TIME_R): Undefine broken localtime_r and gmtime_r macros
11902         from the library.
11903
11904 2010-05-31  Bruno Haible  <bruno@clisp.org>
11905
11906         Avoid expanding two macros in the wrong order.
11907         * m4/libunistring-base.m4 (gl_LIBUNISTRING_LIB_PREPARE): Require
11908         gl_LIBUNISTRING if it is defined.
11909         * m4/libunistring.m4 (gl_LIBUNISTRING): Define using AC_DEFUN_ONCE for
11910         autoconf >= 2.64.
11911         Reported by Ludovic Courtès <ludo@gnu.org>.
11912
11913 2010-05-27  Jim Meyering  <meyering@redhat.com>
11914
11915         maint.mk: also prohibit "#undef" of always-defined symbols
11916         * top/maint.mk (def_sym_regex): Handle #undef as well as #define.
11917         Allow more than one space before the symbol name.
11918         (sc_prohibit_always-defined_macros): Use grep's -E, now that
11919         the regexp uses alternation.
11920
11921 2010-05-26  Eric Blake  <eblake@redhat.com>
11922
11923         maint.mk: avoid echo -e
11924         * top/maint.mk (gzip_rsyncable, _ignore_case, _sc_say_and_exit):
11925         Convert all uses of echo -* to printf.
11926         Reported by Matthias Bolte.
11927
11928 2010-05-25  Bruno Haible  <bruno@clisp.org>
11929
11930         Update to GNU gettext 0.18, part 2.
11931         * build-aux/po/Makefile.in.in: Update to GNU gettext 0.18.
11932         Reported by Martin von Gagern <Martin.vGagern@gmx.net>.
11933
11934 2010-05-25  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
11935
11936         Add missing include in test-pwrite.c.
11937         * tests/test-pwrite.c: Include string.h, for strcmp.
11938
11939 2010-05-24  Bruno Haible  <bruno@clisp.org>
11940
11941         * NEWS: Mention requirement for Automake option 'subdir-objects'.
11942
11943 2010-05-24  Bruno Haible  <bruno@clisp.org>
11944
11945         Don't use conversion with transliteration in u{8,16,32}_strcoll.
11946         * lib/unistr/u-strcoll.h (FUNC): Use U_STRCONV_TO_ENCODING with
11947         iconveh_error argument.
11948         * lib/unistr/u8-strcoll.c: Define U_STRCONV_TO_ENCODING instead of
11949         U_STRCONV_TO_LOCALE.
11950         * lib/unistr/u16-strcoll.c: Likewise.
11951         * lib/unistr/u32-strcoll.c: Likewise.
11952         * modules/unistr/u8-strcoll (Depends-on): Add
11953         uniconv/u8-strconv-to-enc, localcharset. Remove
11954         uniconv/u8-strconv-to-locale.
11955         (configure.ac): Bump version number.
11956         * modules/unistr/u16-strcoll (Depends-on): Add
11957         uniconv/u16-strconv-to-enc, localcharset. Remove
11958         uniconv/u16-strconv-to-locale.
11959         (configure.ac): Bump version number.
11960         * modules/unistr/u32-strcoll (Depends-on): Add
11961         uniconv/u32-strconv-to-enc, localcharset. Remove
11962         uniconv/u32-strconv-to-locale.
11963         (configure.ac): Bump version number.
11964
11965 2010-05-24  Bruno Haible  <bruno@clisp.org>
11966
11967         Avoid a test failure on NetBSD 5.0.
11968         * tests/test-striconveh.c (main): On NetBSD, skip a test that triggers
11969         an iconv() bug.
11970
11971 2010-05-24  Bruno Haible  <bruno@clisp.org>
11972
11973         Adjust #include directive style.
11974         * modules/regex (Includes): Recommend to write <regex.h>.
11975
11976 2010-05-24  Bruno Haible  <bruno@clisp.org>
11977
11978         regex: Don't require alloca.
11979         * modules/regex (Depends-on): Remove alloca. Add alloca-opt.
11980         * lib/regex_internal.h (alloca): Ensure it's defined even if we call it
11981         only inside if (0).
11982
11983 2010-05-23  Jim Meyering  <meyering@redhat.com>
11984
11985         test-renameat.c: include <sys/stat.h>
11986         * tests/test-renameat.c: Include <sys/stat.h>; required for
11987         definition of S_IS* macros.
11988
11989 2010-05-23  Ben Pfaff  <blp@cs.stanford.edu>
11990
11991         Update maintainer documentation for 'relocatable-prog' module.
11992         * doc/relocatable-maint.texi: Update.
11993         Comments by Bruno Haible.
11994
11995 2010-05-23  Bruno Haible  <bruno@clisp.org>
11996
11997         git-merge-changelog: Enable --split-merged-entry by default.
11998         * lib/git-merge-changelog.c (main): Set split_merged_entry to true.
11999         (usage): Don't mention this option any more.
12000         Reported by Ralf Wildenhues.
12001
12002 2010-05-23  Jim Meyering  <meyering@redhat.com>
12003
12004         test-pwrite: do not leave behind a test file named "out"
12005         Revert commit d8fa18472a54c1cb2674c296b3d82443f234d5f7.
12006         The trivial-looking use of init.sh is really necessary.
12007         It ensures that the temporary file, "out", is created in
12008         a temporary directory, and removed upon termination.
12009         * tests/test-pwrite.sh: Re-add file.
12010         * modules/pwrite-tests: Reference it.
12011
12012 2010-05-23  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
12013
12014         Fix output redirection buglet in init.sh.
12015         * tests/init.sh: Fix redirection of stderr.
12016
12017 2010-05-20  Simon Josefsson  <simon@josefsson.org>
12018
12019         * modules/valgrind-tests (configure.ac): Invoke gl_VALGRIND_TESTS.
12020
12021 2010-05-17  Simon Josefsson  <simon@josefsson.org>
12022
12023         * modules/valgrind-tests: New file.
12024         * m4/valgrind-tests.m4: New file.
12025         * doc/valgrind-tests.texi: New file.
12026         * doc/gnulib.texi (Running self-tests under valgrind): New
12027         section.
12028
12029 2010-05-19  Bruno Haible  <bruno@clisp.org>
12030
12031         Clean up dead code in recent commit.
12032         * m4/libunistring-base.m4 (gl_LIBUNISTRING_VERSION_CMP): Include the
12033         body of gl_LIBUNISTRING_VERSION_CMP_ORIG as fallback.
12034         (gl_LIBUNISTRING_VERSION_CMP_ORIG): Remove macro.
12035         Suggested by Paolo Bonzini.
12036
12037 2010-05-19  Bruno Haible  <bruno@clisp.org>
12038
12039         Avoid valgrind error reports from libunistring.
12040         * lib/libunistring.valgrind: New file, based on lib/malloca.valgrind.
12041         * modules/libunistring (Files): Add it.
12042         * modules/libunistring-optional (Files): Likewise.
12043
12044 2010-05-18  Paolo Bonzini  <bonzini@gnu.org>
12045             Bruno Haible  <bruno@clisp.org>
12046
12047         New module 'libunistring-optional'.
12048         * modules/libunistring-optional: New file.
12049         * m4/libunistring-base.m4: New file.
12050         * m4/libunistring-optional.m4: New file.
12051         * lib/unicase.in.h: Renamed from lib/unicase.h.
12052         * lib/uniconv.in.h: Renamed from lib/uniconv.h.
12053         * lib/unictype.in.h: Renamed from lib/unictype.h.
12054         * lib/unilbrk.in.h: Renamed from lib/unilbrk.h.
12055         * lib/uniname.in.h: Renamed from lib/uniname.h.
12056         * lib/uninorm.in.h: Renamed from lib/uninorm.h.
12057         * lib/unistdio.in.h: Renamed from lib/unistdio.h.
12058         * lib/unistr.in.h: Renamed from lib/unistr.h.
12059         * lib/unitypes.in.h: Renamed from lib/unitypes.h.
12060         * lib/uniwbrk.in.h: Renamed from lib/uniwbrk.h.
12061         * lib/uniwidth.in.h: Renamed from lib/uniwidth.h.
12062         * m4/libunistring.m4 (gl_LIBUNISTRING_CORE): Renamed from
12063         gl_LIBUNISTRING. If the library was found, determine the installed
12064         version and set LIBUNISTRING_VERSION.
12065         (gl_LIBUNISTRING): New macro, as a wrapper arount it. Document that it
12066         sets LIBUNISTRING_VERSION. If the module libunistring-optional is used,
12067         handle a configuration option --with-included-libunistring.
12068         * modules/libunistring (Files): Add m4/absolute-header.m4.
12069         * modules/unicase/base (Files): Use unicase.in.h instead of unicase.h.
12070         Add m4/libunistring-base.m4.
12071         (configure.ac): Invoke gl_LIBUNISTRING_LIBHEADER.
12072         (Makefile.am): Build unicase.h from unicase.in.h.
12073         * modules/uniconv/base (Files): Use uniconv.in.h instead of uniconv.h.
12074         Add m4/libunistring-base.m4.
12075         (configure.ac): Invoke gl_LIBUNISTRING_LIBHEADER.
12076         (Makefile.am): Build uniconv.h from uniconv.in.h.
12077         * modules/unictype/base (Files): Use unictype.in.h instead of
12078         unictype.h. Add m4/libunistring-base.m4.
12079         (configure.ac): Invoke gl_LIBUNISTRING_LIBHEADER.
12080         (Makefile.am): Build unictype.h from unictype.in.h.
12081         * modules/unilbrk/base (Files): Use unilbrk.in.h instead of unilbrk.h.
12082         Add m4/libunistring-base.m4.
12083         (configure.ac): Invoke gl_LIBUNISTRING_LIBHEADER.
12084         (Makefile.am): Build unilbrk.h from unilbrk.in.h.
12085         * modules/uniname/base (Files): Use uniname.in.h instead of uniname.h.
12086         Add m4/libunistring-base.m4.
12087         (configure.ac): Invoke gl_LIBUNISTRING_LIBHEADER.
12088         (Makefile.am): Build uniname.h from uniname.in.h.
12089         * modules/uninorm/base (Files): Use uninorm.in.h instead of uninorm.h.
12090         Add m4/libunistring-base.m4.
12091         (configure.ac): Invoke gl_LIBUNISTRING_LIBHEADER.
12092         (Makefile.am): Build uninorm.h from uninorm.in.h.
12093         * modules/unistdio/base (Files): Use unistdio.in.h instead of
12094         unistdio.h. Add m4/libunistring-base.m4.
12095         (configure.ac): Invoke gl_LIBUNISTRING_LIBHEADER.
12096         (Makefile.am): Build unistdio.h from unistdio.in.h.
12097         * modules/unistr/base (Files): Use unistr.in.h instead of unistr.h.
12098         Add m4/libunistring-base.m4.
12099         (configure.ac): Invoke gl_LIBUNISTRING_LIBHEADER.
12100         (Makefile.am): Build unistr.h from unistr.in.h.
12101         * modules/unitypes (Files): Use unitypes.in.h instead of unitypes.h.
12102         Add m4/libunistring-base.m4.
12103         (configure.ac): Invoke gl_LIBUNISTRING_LIBHEADER.
12104         (Makefile.am): Build unitypes.h from unitypes.in.h.
12105         * modules/uniwbrk/base (Files): Use uniwbrk.in.h instead of uniwbrk.h.
12106         Add m4/libunistring-base.m4.
12107         (configure.ac): Invoke gl_LIBUNISTRING_LIBHEADER.
12108         (Makefile.am): Build uniwbrk.h from uniwbrk.in.h.
12109         * modules/uniwidth/base (Files): Use uniwidth.in.h instead of
12110         uniwidth.h. Add m4/libunistring-base.m4.
12111         (configure.ac): Invoke gl_LIBUNISTRING_LIBHEADER.
12112         (Makefile.am): Build uniwidth.h from uniwidth.in.h.
12113         * modules/unicase/empty-prefix-context: Use gl_LIBUNISTRING_LIBSOURCE
12114         instead of augmenting lib_SOURCES.
12115         * modules/unicase/empty-suffix-context: Likewise.
12116         * modules/unicase/locale-language: Likewise.
12117         * modules/unicase/tolower: Likewise.
12118         * modules/unicase/totitle: Likewise.
12119         * modules/unicase/toupper: Likewise.
12120         * modules/unicase/u8-casecmp: Likewise.
12121         * modules/unicase/u8-casecoll: Likewise.
12122         * modules/unicase/u8-casefold: Likewise.
12123         * modules/unicase/u8-casexfrm: Likewise.
12124         * modules/unicase/u8-ct-casefold: Likewise.
12125         * modules/unicase/u8-ct-tolower: Likewise.
12126         * modules/unicase/u8-ct-totitle: Likewise.
12127         * modules/unicase/u8-ct-toupper: Likewise.
12128         * modules/unicase/u8-is-cased: Likewise.
12129         * modules/unicase/u8-is-casefolded: Likewise.
12130         * modules/unicase/u8-is-lowercase: Likewise.
12131         * modules/unicase/u8-is-titlecase: Likewise.
12132         * modules/unicase/u8-is-uppercase: Likewise.
12133         * modules/unicase/u8-prefix-context: Likewise.
12134         * modules/unicase/u8-suffix-context: Likewise.
12135         * modules/unicase/u8-tolower: Likewise.
12136         * modules/unicase/u8-totitle: Likewise.
12137         * modules/unicase/u8-toupper: Likewise.
12138         * modules/unicase/u16-casecmp: Likewise.
12139         * modules/unicase/u16-casecoll: Likewise.
12140         * modules/unicase/u16-casefold: Likewise.
12141         * modules/unicase/u16-casexfrm: Likewise.
12142         * modules/unicase/u16-ct-casefold: Likewise.
12143         * modules/unicase/u16-ct-tolower: Likewise.
12144         * modules/unicase/u16-ct-totitle: Likewise.
12145         * modules/unicase/u16-ct-toupper: Likewise.
12146         * modules/unicase/u16-is-cased: Likewise.
12147         * modules/unicase/u16-is-casefolded: Likewise.
12148         * modules/unicase/u16-is-lowercase: Likewise.
12149         * modules/unicase/u16-is-titlecase: Likewise.
12150         * modules/unicase/u16-is-uppercase: Likewise.
12151         * modules/unicase/u16-prefix-context: Likewise.
12152         * modules/unicase/u16-suffix-context: Likewise.
12153         * modules/unicase/u16-tolower: Likewise.
12154         * modules/unicase/u16-totitle: Likewise.
12155         * modules/unicase/u16-toupper: Likewise.
12156         * modules/unicase/u32-casecmp: Likewise.
12157         * modules/unicase/u32-casecoll: Likewise.
12158         * modules/unicase/u32-casefold: Likewise.
12159         * modules/unicase/u32-casexfrm: Likewise.
12160         * modules/unicase/u32-ct-casefold: Likewise.
12161         * modules/unicase/u32-ct-tolower: Likewise.
12162         * modules/unicase/u32-ct-totitle: Likewise.
12163         * modules/unicase/u32-ct-toupper: Likewise.
12164         * modules/unicase/u32-is-cased: Likewise.
12165         * modules/unicase/u32-is-casefolded: Likewise.
12166         * modules/unicase/u32-is-lowercase: Likewise.
12167         * modules/unicase/u32-is-titlecase: Likewise.
12168         * modules/unicase/u32-is-uppercase: Likewise.
12169         * modules/unicase/u32-prefix-context: Likewise.
12170         * modules/unicase/u32-suffix-context: Likewise.
12171         * modules/unicase/u32-tolower: Likewise.
12172         * modules/unicase/u32-totitle: Likewise.
12173         * modules/unicase/u32-toupper: Likewise.
12174         * modules/unicase/ulc-casecmp: Likewise.
12175         * modules/unicase/ulc-casecoll: Likewise.
12176         * modules/unicase/ulc-casexfrm: Likewise.
12177         * modules/uniconv/u8-conv-from-enc: Likewise.
12178         * modules/uniconv/u8-conv-to-enc: Likewise.
12179         * modules/uniconv/u8-strconv-from-enc: Likewise.
12180         * modules/uniconv/u8-strconv-from-locale: Likewise.
12181         * modules/uniconv/u8-strconv-to-enc: Likewise.
12182         * modules/uniconv/u8-strconv-to-locale: Likewise.
12183         * modules/uniconv/u16-conv-from-enc: Likewise.
12184         * modules/uniconv/u16-conv-to-enc: Likewise.
12185         * modules/uniconv/u16-strconv-from-enc: Likewise.
12186         * modules/uniconv/u16-strconv-from-locale: Likewise.
12187         * modules/uniconv/u16-strconv-to-enc: Likewise.
12188         * modules/uniconv/u16-strconv-to-locale: Likewise.
12189         * modules/uniconv/u32-conv-from-enc: Likewise.
12190         * modules/uniconv/u32-conv-to-enc: Likewise.
12191         * modules/uniconv/u32-strconv-from-enc: Likewise.
12192         * modules/uniconv/u32-strconv-from-locale: Likewise.
12193         * modules/uniconv/u32-strconv-to-enc: Likewise.
12194         * modules/uniconv/u32-strconv-to-locale: Likewise.
12195         * modules/unictype/bidicategory-byname: Likewise.
12196         * modules/unictype/bidicategory-name: Likewise.
12197         * modules/unictype/bidicategory-of: Likewise.
12198         * modules/unictype/bidicategory-test: Likewise.
12199         * modules/unictype/block-list: Likewise.
12200         * modules/unictype/block-test: Likewise.
12201         * modules/unictype/category-C: Likewise.
12202         * modules/unictype/category-Cc: Likewise.
12203         * modules/unictype/category-Cf: Likewise.
12204         * modules/unictype/category-Cn: Likewise.
12205         * modules/unictype/category-Co: Likewise.
12206         * modules/unictype/category-Cs: Likewise.
12207         * modules/unictype/category-L: Likewise.
12208         * modules/unictype/category-Ll: Likewise.
12209         * modules/unictype/category-Lm: Likewise.
12210         * modules/unictype/category-Lo: Likewise.
12211         * modules/unictype/category-Lt: Likewise.
12212         * modules/unictype/category-Lu: Likewise.
12213         * modules/unictype/category-M: Likewise.
12214         * modules/unictype/category-Mc: Likewise.
12215         * modules/unictype/category-Me: Likewise.
12216         * modules/unictype/category-Mn: Likewise.
12217         * modules/unictype/category-N: Likewise.
12218         * modules/unictype/category-Nd: Likewise.
12219         * modules/unictype/category-Nl: Likewise.
12220         * modules/unictype/category-No: Likewise.
12221         * modules/unictype/category-P: Likewise.
12222         * modules/unictype/category-Pc: Likewise.
12223         * modules/unictype/category-Pd: Likewise.
12224         * modules/unictype/category-Pe: Likewise.
12225         * modules/unictype/category-Pf: Likewise.
12226         * modules/unictype/category-Pi: Likewise.
12227         * modules/unictype/category-Po: Likewise.
12228         * modules/unictype/category-Ps: Likewise.
12229         * modules/unictype/category-S: Likewise.
12230         * modules/unictype/category-Sc: Likewise.
12231         * modules/unictype/category-Sk: Likewise.
12232         * modules/unictype/category-Sm: Likewise.
12233         * modules/unictype/category-So: Likewise.
12234         * modules/unictype/category-Z: Likewise.
12235         * modules/unictype/category-Zl: Likewise.
12236         * modules/unictype/category-Zp: Likewise.
12237         * modules/unictype/category-Zs: Likewise.
12238         * modules/unictype/category-and: Likewise.
12239         * modules/unictype/category-and-not: Likewise.
12240         * modules/unictype/category-byname: Likewise.
12241         * modules/unictype/category-name: Likewise.
12242         * modules/unictype/category-none: Likewise.
12243         * modules/unictype/category-of: Likewise.
12244         * modules/unictype/category-or: Likewise.
12245         * modules/unictype/category-test: Likewise.
12246         * modules/unictype/combining-class: Likewise.
12247         * modules/unictype/ctype-alnum: Likewise.
12248         * modules/unictype/ctype-alpha: Likewise.
12249         * modules/unictype/ctype-blank: Likewise.
12250         * modules/unictype/ctype-cntrl: Likewise.
12251         * modules/unictype/ctype-digit: Likewise.
12252         * modules/unictype/ctype-graph: Likewise.
12253         * modules/unictype/ctype-lower: Likewise.
12254         * modules/unictype/ctype-print: Likewise.
12255         * modules/unictype/ctype-punct: Likewise.
12256         * modules/unictype/ctype-space: Likewise.
12257         * modules/unictype/ctype-upper: Likewise.
12258         * modules/unictype/ctype-xdigit: Likewise.
12259         * modules/unictype/decimal-digit: Likewise.
12260         * modules/unictype/digit: Likewise.
12261         * modules/unictype/mirror: Likewise.
12262         * modules/unictype/numeric: Likewise.
12263         * modules/unictype/property-alphabetic: Likewise.
12264         * modules/unictype/property-ascii-hex-digit: Likewise.
12265         * modules/unictype/property-bidi-arabic-digit: Likewise.
12266         * modules/unictype/property-bidi-arabic-right-to-left: Likewise.
12267         * modules/unictype/property-bidi-block-separator: Likewise.
12268         * modules/unictype/property-bidi-boundary-neutral: Likewise.
12269         * modules/unictype/property-bidi-common-separator: Likewise.
12270         * modules/unictype/property-bidi-control: Likewise.
12271         * modules/unictype/property-bidi-embedding-or-override: Likewise.
12272         * modules/unictype/property-bidi-eur-num-separator: Likewise.
12273         * modules/unictype/property-bidi-eur-num-terminator: Likewise.
12274         * modules/unictype/property-bidi-european-digit: Likewise.
12275         * modules/unictype/property-bidi-hebrew-right-to-left: Likewise.
12276         * modules/unictype/property-bidi-left-to-right: Likewise.
12277         * modules/unictype/property-bidi-non-spacing-mark: Likewise.
12278         * modules/unictype/property-bidi-other-neutral: Likewise.
12279         * modules/unictype/property-bidi-pdf: Likewise.
12280         * modules/unictype/property-bidi-segment-separator: Likewise.
12281         * modules/unictype/property-bidi-whitespace: Likewise.
12282         * modules/unictype/property-byname: Likewise.
12283         * modules/unictype/property-combining: Likewise.
12284         * modules/unictype/property-composite: Likewise.
12285         * modules/unictype/property-currency-symbol: Likewise.
12286         * modules/unictype/property-dash: Likewise.
12287         * modules/unictype/property-decimal-digit: Likewise.
12288         * modules/unictype/property-default-ignorable-code-point: Likewise.
12289         * modules/unictype/property-deprecated: Likewise.
12290         * modules/unictype/property-diacritic: Likewise.
12291         * modules/unictype/property-extender: Likewise.
12292         * modules/unictype/property-format-control: Likewise.
12293         * modules/unictype/property-grapheme-base: Likewise.
12294         * modules/unictype/property-grapheme-extend: Likewise.
12295         * modules/unictype/property-grapheme-link: Likewise.
12296         * modules/unictype/property-hex-digit: Likewise.
12297         * modules/unictype/property-hyphen: Likewise.
12298         * modules/unictype/property-id-continue: Likewise.
12299         * modules/unictype/property-id-start: Likewise.
12300         * modules/unictype/property-ideographic: Likewise.
12301         * modules/unictype/property-ids-binary-operator: Likewise.
12302         * modules/unictype/property-ids-trinary-operator: Likewise.
12303         * modules/unictype/property-ignorable-control: Likewise.
12304         * modules/unictype/property-iso-control: Likewise.
12305         * modules/unictype/property-join-control: Likewise.
12306         * modules/unictype/property-left-of-pair: Likewise.
12307         * modules/unictype/property-line-separator: Likewise.
12308         * modules/unictype/property-logical-order-exception: Likewise.
12309         * modules/unictype/property-lowercase: Likewise.
12310         * modules/unictype/property-math: Likewise.
12311         * modules/unictype/property-non-break: Likewise.
12312         * modules/unictype/property-not-a-character: Likewise.
12313         * modules/unictype/property-numeric: Likewise.
12314         * modules/unictype/property-other-alphabetic: Likewise.
12315         * modules/unictype/property-other-default-ignorable-code-point: Likewise.
12316         * modules/unictype/property-other-grapheme-extend: Likewise.
12317         * modules/unictype/property-other-id-continue: Likewise.
12318         * modules/unictype/property-other-id-start: Likewise.
12319         * modules/unictype/property-other-lowercase: Likewise.
12320         * modules/unictype/property-other-math: Likewise.
12321         * modules/unictype/property-other-uppercase: Likewise.
12322         * modules/unictype/property-paired-punctuation: Likewise.
12323         * modules/unictype/property-paragraph-separator: Likewise.
12324         * modules/unictype/property-pattern-syntax: Likewise.
12325         * modules/unictype/property-pattern-white-space: Likewise.
12326         * modules/unictype/property-private-use: Likewise.
12327         * modules/unictype/property-punctuation: Likewise.
12328         * modules/unictype/property-quotation-mark: Likewise.
12329         * modules/unictype/property-radical: Likewise.
12330         * modules/unictype/property-sentence-terminal: Likewise.
12331         * modules/unictype/property-soft-dotted: Likewise.
12332         * modules/unictype/property-space: Likewise.
12333         * modules/unictype/property-terminal-punctuation: Likewise.
12334         * modules/unictype/property-test: Likewise.
12335         * modules/unictype/property-titlecase: Likewise.
12336         * modules/unictype/property-unassigned-code-value: Likewise.
12337         * modules/unictype/property-unified-ideograph: Likewise.
12338         * modules/unictype/property-uppercase: Likewise.
12339         * modules/unictype/property-variation-selector: Likewise.
12340         * modules/unictype/property-white-space: Likewise.
12341         * modules/unictype/property-xid-continue: Likewise.
12342         * modules/unictype/property-xid-start: Likewise.
12343         * modules/unictype/property-zero-width: Likewise.
12344         * modules/unictype/scripts: Likewise.
12345         * modules/unictype/syntax-c-ident: Likewise.
12346         * modules/unictype/syntax-c-whitespace: Likewise.
12347         * modules/unictype/syntax-java-ident: Likewise.
12348         * modules/unictype/syntax-java-whitespace: Likewise.
12349         * modules/unilbrk/u8-possible-linebreaks: Likewise.
12350         * modules/unilbrk/u8-width-linebreaks: Likewise.
12351         * modules/unilbrk/u16-possible-linebreaks: Likewise.
12352         * modules/unilbrk/u16-width-linebreaks: Likewise.
12353         * modules/unilbrk/u32-possible-linebreaks: Likewise.
12354         * modules/unilbrk/u32-width-linebreaks: Likewise.
12355         * modules/unilbrk/ulc-possible-linebreaks: Likewise.
12356         * modules/unilbrk/ulc-width-linebreaks: Likewise.
12357         * modules/uniname/uniname: Likewise.
12358         * modules/uninorm/canonical-decomposition: Likewise.
12359         * modules/uninorm/composition: Likewise.
12360         * modules/uninorm/decomposing-form: Likewise.
12361         * modules/uninorm/decomposition: Likewise.
12362         * modules/uninorm/filter: Likewise.
12363         * modules/uninorm/nfc: Likewise.
12364         * modules/uninorm/nfd: Likewise.
12365         * modules/uninorm/nfkc: Likewise.
12366         * modules/uninorm/nfkd: Likewise.
12367         * modules/uninorm/u8-normalize: Likewise.
12368         * modules/uninorm/u8-normcmp: Likewise.
12369         * modules/uninorm/u8-normcoll: Likewise.
12370         * modules/uninorm/u8-normxfrm: Likewise.
12371         * modules/uninorm/u16-normalize: Likewise.
12372         * modules/uninorm/u16-normcmp: Likewise.
12373         * modules/uninorm/u16-normcoll: Likewise.
12374         * modules/uninorm/u16-normxfrm: Likewise.
12375         * modules/uninorm/u32-normalize: Likewise.
12376         * modules/uninorm/u32-normcmp: Likewise.
12377         * modules/uninorm/u32-normcoll: Likewise.
12378         * modules/uninorm/u32-normxfrm: Likewise.
12379         * modules/unistdio/u8-asnprintf: Likewise.
12380         * modules/unistdio/u8-asprintf: Likewise.
12381         * modules/unistdio/u8-snprintf: Likewise.
12382         * modules/unistdio/u8-sprintf: Likewise.
12383         * modules/unistdio/u8-u8-asnprintf: Likewise.
12384         * modules/unistdio/u8-u8-asprintf: Likewise.
12385         * modules/unistdio/u8-u8-snprintf: Likewise.
12386         * modules/unistdio/u8-u8-sprintf: Likewise.
12387         * modules/unistdio/u8-u8-vasnprintf: Likewise.
12388         * modules/unistdio/u8-u8-vasprintf: Likewise.
12389         * modules/unistdio/u8-u8-vsnprintf: Likewise.
12390         * modules/unistdio/u8-u8-vsprintf: Likewise.
12391         * modules/unistdio/u8-vasnprintf: Likewise.
12392         * modules/unistdio/u8-vasprintf: Likewise.
12393         * modules/unistdio/u8-vsnprintf: Likewise.
12394         * modules/unistdio/u8-vsprintf: Likewise.
12395         * modules/unistdio/u16-asnprintf: Likewise.
12396         * modules/unistdio/u16-asprintf: Likewise.
12397         * modules/unistdio/u16-snprintf: Likewise.
12398         * modules/unistdio/u16-sprintf: Likewise.
12399         * modules/unistdio/u16-u16-asnprintf: Likewise.
12400         * modules/unistdio/u16-u16-asprintf: Likewise.
12401         * modules/unistdio/u16-u16-snprintf: Likewise.
12402         * modules/unistdio/u16-u16-sprintf: Likewise.
12403         * modules/unistdio/u16-u16-vasnprintf: Likewise.
12404         * modules/unistdio/u16-u16-vasprintf: Likewise.
12405         * modules/unistdio/u16-u16-vsnprintf: Likewise.
12406         * modules/unistdio/u16-u16-vsprintf: Likewise.
12407         * modules/unistdio/u16-vasnprintf: Likewise.
12408         * modules/unistdio/u16-vasprintf: Likewise.
12409         * modules/unistdio/u16-vsnprintf: Likewise.
12410         * modules/unistdio/u16-vsprintf: Likewise.
12411         * modules/unistdio/u32-asnprintf: Likewise.
12412         * modules/unistdio/u32-asprintf: Likewise.
12413         * modules/unistdio/u32-snprintf: Likewise.
12414         * modules/unistdio/u32-sprintf: Likewise.
12415         * modules/unistdio/u32-u32-asnprintf: Likewise.
12416         * modules/unistdio/u32-u32-asprintf: Likewise.
12417         * modules/unistdio/u32-u32-snprintf: Likewise.
12418         * modules/unistdio/u32-u32-sprintf: Likewise.
12419         * modules/unistdio/u32-u32-vasnprintf: Likewise.
12420         * modules/unistdio/u32-u32-vasprintf: Likewise.
12421         * modules/unistdio/u32-u32-vsnprintf: Likewise.
12422         * modules/unistdio/u32-u32-vsprintf: Likewise.
12423         * modules/unistdio/u32-vasnprintf: Likewise.
12424         * modules/unistdio/u32-vasprintf: Likewise.
12425         * modules/unistdio/u32-vsnprintf: Likewise.
12426         * modules/unistdio/u32-vsprintf: Likewise.
12427         * modules/unistdio/ulc-asnprintf: Likewise.
12428         * modules/unistdio/ulc-asprintf: Likewise.
12429         * modules/unistdio/ulc-fprintf: Likewise.
12430         * modules/unistdio/ulc-snprintf: Likewise.
12431         * modules/unistdio/ulc-sprintf: Likewise.
12432         * modules/unistdio/ulc-vasnprintf: Likewise.
12433         * modules/unistdio/ulc-vasprintf: Likewise.
12434         * modules/unistdio/ulc-vfprintf: Likewise.
12435         * modules/unistdio/ulc-vsnprintf: Likewise.
12436         * modules/unistdio/ulc-vsprintf: Likewise.
12437         * modules/unistr/u8-check: Likewise.
12438         * modules/unistr/u8-chr: Likewise.
12439         * modules/unistr/u8-cmp: Likewise.
12440         * modules/unistr/u8-cmp2: Likewise.
12441         * modules/unistr/u8-cpy: Likewise.
12442         * modules/unistr/u8-cpy-alloc: Likewise.
12443         * modules/unistr/u8-endswith: Likewise.
12444         * modules/unistr/u8-mblen: Likewise.
12445         * modules/unistr/u8-mbsnlen: Likewise.
12446         * modules/unistr/u8-mbtouc: Likewise.
12447         * modules/unistr/u8-mbtouc-unsafe: Likewise.
12448         * modules/unistr/u8-mbtoucr: Likewise.
12449         * modules/unistr/u8-move: Likewise.
12450         * modules/unistr/u8-next: Likewise.
12451         * modules/unistr/u8-prev: Likewise.
12452         * modules/unistr/u8-set: Likewise.
12453         * modules/unistr/u8-startswith: Likewise.
12454         * modules/unistr/u8-stpcpy: Likewise.
12455         * modules/unistr/u8-stpncpy: Likewise.
12456         * modules/unistr/u8-strcat: Likewise.
12457         * modules/unistr/u8-strchr: Likewise.
12458         * modules/unistr/u8-strcmp: Likewise.
12459         * modules/unistr/u8-strcoll: Likewise.
12460         * modules/unistr/u8-strcpy: Likewise.
12461         * modules/unistr/u8-strcspn: Likewise.
12462         * modules/unistr/u8-strdup: Likewise.
12463         * modules/unistr/u8-strlen: Likewise.
12464         * modules/unistr/u8-strmblen: Likewise.
12465         * modules/unistr/u8-strmbtouc: Likewise.
12466         * modules/unistr/u8-strncat: Likewise.
12467         * modules/unistr/u8-strncmp: Likewise.
12468         * modules/unistr/u8-strncpy: Likewise.
12469         * modules/unistr/u8-strnlen: Likewise.
12470         * modules/unistr/u8-strpbrk: Likewise.
12471         * modules/unistr/u8-strrchr: Likewise.
12472         * modules/unistr/u8-strspn: Likewise.
12473         * modules/unistr/u8-strstr: Likewise.
12474         * modules/unistr/u8-strtok: Likewise.
12475         * modules/unistr/u8-to-u16: Likewise.
12476         * modules/unistr/u8-to-u32: Likewise.
12477         * modules/unistr/u8-uctomb: Likewise.
12478         * modules/unistr/u16-check: Likewise.
12479         * modules/unistr/u16-chr: Likewise.
12480         * modules/unistr/u16-cmp: Likewise.
12481         * modules/unistr/u16-cmp2: Likewise.
12482         * modules/unistr/u16-cpy: Likewise.
12483         * modules/unistr/u16-cpy-alloc: Likewise.
12484         * modules/unistr/u16-endswith: Likewise.
12485         * modules/unistr/u16-mblen: Likewise.
12486         * modules/unistr/u16-mbsnlen: Likewise.
12487         * modules/unistr/u16-mbtouc: Likewise.
12488         * modules/unistr/u16-mbtouc-unsafe: Likewise.
12489         * modules/unistr/u16-mbtoucr: Likewise.
12490         * modules/unistr/u16-move: Likewise.
12491         * modules/unistr/u16-next: Likewise.
12492         * modules/unistr/u16-prev: Likewise.
12493         * modules/unistr/u16-set: Likewise.
12494         * modules/unistr/u16-startswith: Likewise.
12495         * modules/unistr/u16-stpcpy: Likewise.
12496         * modules/unistr/u16-stpncpy: Likewise.
12497         * modules/unistr/u16-strcat: Likewise.
12498         * modules/unistr/u16-strchr: Likewise.
12499         * modules/unistr/u16-strcmp: Likewise.
12500         * modules/unistr/u16-strcoll: Likewise.
12501         * modules/unistr/u16-strcpy: Likewise.
12502         * modules/unistr/u16-strcspn: Likewise.
12503         * modules/unistr/u16-strdup: Likewise.
12504         * modules/unistr/u16-strlen: Likewise.
12505         * modules/unistr/u16-strmblen: Likewise.
12506         * modules/unistr/u16-strmbtouc: Likewise.
12507         * modules/unistr/u16-strncat: Likewise.
12508         * modules/unistr/u16-strncmp: Likewise.
12509         * modules/unistr/u16-strncpy: Likewise.
12510         * modules/unistr/u16-strnlen: Likewise.
12511         * modules/unistr/u16-strpbrk: Likewise.
12512         * modules/unistr/u16-strrchr: Likewise.
12513         * modules/unistr/u16-strspn: Likewise.
12514         * modules/unistr/u16-strstr: Likewise.
12515         * modules/unistr/u16-strtok: Likewise.
12516         * modules/unistr/u16-to-u32: Likewise.
12517         * modules/unistr/u16-to-u8: Likewise.
12518         * modules/unistr/u16-uctomb: Likewise.
12519         * modules/unistr/u32-check: Likewise.
12520         * modules/unistr/u32-chr: Likewise.
12521         * modules/unistr/u32-cmp: Likewise.
12522         * modules/unistr/u32-cmp2: Likewise.
12523         * modules/unistr/u32-cpy: Likewise.
12524         * modules/unistr/u32-cpy-alloc: Likewise.
12525         * modules/unistr/u32-endswith: Likewise.
12526         * modules/unistr/u32-mblen: Likewise.
12527         * modules/unistr/u32-mbsnlen: Likewise.
12528         * modules/unistr/u32-mbtouc: Likewise.
12529         * modules/unistr/u32-mbtouc-unsafe: Likewise.
12530         * modules/unistr/u32-mbtoucr: Likewise.
12531         * modules/unistr/u32-move: Likewise.
12532         * modules/unistr/u32-next: Likewise.
12533         * modules/unistr/u32-prev: Likewise.
12534         * modules/unistr/u32-set: Likewise.
12535         * modules/unistr/u32-startswith: Likewise.
12536         * modules/unistr/u32-stpcpy: Likewise.
12537         * modules/unistr/u32-stpncpy: Likewise.
12538         * modules/unistr/u32-strcat: Likewise.
12539         * modules/unistr/u32-strchr: Likewise.
12540         * modules/unistr/u32-strcmp: Likewise.
12541         * modules/unistr/u32-strcoll: Likewise.
12542         * modules/unistr/u32-strcpy: Likewise.
12543         * modules/unistr/u32-strcspn: Likewise.
12544         * modules/unistr/u32-strdup: Likewise.
12545         * modules/unistr/u32-strlen: Likewise.
12546         * modules/unistr/u32-strmblen: Likewise.
12547         * modules/unistr/u32-strmbtouc: Likewise.
12548         * modules/unistr/u32-strncat: Likewise.
12549         * modules/unistr/u32-strncmp: Likewise.
12550         * modules/unistr/u32-strncpy: Likewise.
12551         * modules/unistr/u32-strnlen: Likewise.
12552         * modules/unistr/u32-strpbrk: Likewise.
12553         * modules/unistr/u32-strrchr: Likewise.
12554         * modules/unistr/u32-strspn: Likewise.
12555         * modules/unistr/u32-strstr: Likewise.
12556         * modules/unistr/u32-strtok: Likewise.
12557         * modules/unistr/u32-to-u16: Likewise.
12558         * modules/unistr/u32-to-u8: Likewise.
12559         * modules/unistr/u32-uctomb: Likewise.
12560         * modules/uniwbrk/u8-wordbreaks: Likewise.
12561         * modules/uniwbrk/u16-wordbreaks: Likewise.
12562         * modules/uniwbrk/u32-wordbreaks: Likewise.
12563         * modules/uniwbrk/ulc-wordbreaks: Likewise.
12564         * modules/uniwbrk/wordbreak-property: Likewise.
12565         * modules/uniwidth/u8-strwidth: Likewise.
12566         * modules/uniwidth/u8-width: Likewise.
12567         * modules/uniwidth/u16-strwidth: Likewise.
12568         * modules/uniwidth/u16-width: Likewise.
12569         * modules/uniwidth/u32-strwidth: Likewise.
12570         * modules/uniwidth/u32-width: Likewise.
12571         * modules/uniwidth/width: Likewise.
12572         * modules/unicase/cased-tests (Makefile.am): Link all test programs
12573         with $(LIBUNISTRING).
12574         * modules/unicase/ignorable-tests: Likewise.
12575         * modules/unicase/locale-language-tests: Likewise.
12576         * modules/unicase/tolower-tests: Likewise.
12577         * modules/unicase/totitle-tests: Likewise.
12578         * modules/unicase/toupper-tests: Likewise.
12579         * modules/unicase/u8-casecmp-tests: Likewise.
12580         * modules/unicase/u8-casecoll-tests: Likewise.
12581         * modules/unicase/u8-casefold-tests: Likewise.
12582         * modules/unicase/u8-is-cased-tests: Likewise.
12583         * modules/unicase/u8-is-casefolded-tests: Likewise.
12584         * modules/unicase/u8-is-lowercase-tests: Likewise.
12585         * modules/unicase/u8-is-titlecase-tests: Likewise.
12586         * modules/unicase/u8-is-uppercase-tests: Likewise.
12587         * modules/unicase/u8-tolower-tests: Likewise.
12588         * modules/unicase/u8-totitle-tests: Likewise.
12589         * modules/unicase/u8-toupper-tests: Likewise.
12590         * modules/unicase/u16-casecmp-tests: Likewise.
12591         * modules/unicase/u16-casecoll-tests: Likewise.
12592         * modules/unicase/u16-casefold-tests: Likewise.
12593         * modules/unicase/u16-is-cased-tests: Likewise.
12594         * modules/unicase/u16-is-casefolded-tests: Likewise.
12595         * modules/unicase/u16-is-lowercase-tests: Likewise.
12596         * modules/unicase/u16-is-titlecase-tests: Likewise.
12597         * modules/unicase/u16-is-uppercase-tests: Likewise.
12598         * modules/unicase/u16-tolower-tests: Likewise.
12599         * modules/unicase/u16-totitle-tests: Likewise.
12600         * modules/unicase/u16-toupper-tests: Likewise.
12601         * modules/unicase/u32-casecmp-tests: Likewise.
12602         * modules/unicase/u32-casecoll-tests: Likewise.
12603         * modules/unicase/u32-casefold-tests: Likewise.
12604         * modules/unicase/u32-is-cased-tests: Likewise.
12605         * modules/unicase/u32-is-casefolded-tests: Likewise.
12606         * modules/unicase/u32-is-lowercase-tests: Likewise.
12607         * modules/unicase/u32-is-titlecase-tests: Likewise.
12608         * modules/unicase/u32-is-uppercase-tests: Likewise.
12609         * modules/unicase/u32-tolower-tests: Likewise.
12610         * modules/unicase/u32-totitle-tests: Likewise.
12611         * modules/unicase/u32-toupper-tests: Likewise.
12612         * modules/unicase/ulc-casecmp-tests: Likewise.
12613         * modules/unicase/ulc-casecoll-tests: Likewise.
12614         * modules/uniconv/u8-conv-from-enc-tests: Likewise.
12615         * modules/uniconv/u8-conv-to-enc-tests: Likewise.
12616         * modules/uniconv/u8-strconv-from-enc-tests: Likewise.
12617         * modules/uniconv/u8-strconv-to-enc-tests: Likewise.
12618         * modules/uniconv/u16-conv-from-enc-tests: Likewise.
12619         * modules/uniconv/u16-conv-to-enc-tests: Likewise.
12620         * modules/uniconv/u16-strconv-from-enc-tests: Likewise.
12621         * modules/uniconv/u16-strconv-to-enc-tests: Likewise.
12622         * modules/uniconv/u32-conv-from-enc-tests: Likewise.
12623         * modules/uniconv/u32-conv-to-enc-tests: Likewise.
12624         * modules/uniconv/u32-strconv-from-enc-tests: Likewise.
12625         * modules/uniconv/u32-strconv-to-enc-tests: Likewise.
12626         * modules/unictype/bidicategory-byname-tests: Likewise.
12627         * modules/unictype/bidicategory-name-tests: Likewise.
12628         * modules/unictype/bidicategory-of-tests: Likewise.
12629         * modules/unictype/bidicategory-test-tests: Likewise.
12630         * modules/unictype/block-list-tests: Likewise.
12631         * modules/unictype/block-of-tests: Likewise.
12632         * modules/unictype/block-test-tests: Likewise.
12633         * modules/unictype/category-C-tests: Likewise.
12634         * modules/unictype/category-Cc-tests: Likewise.
12635         * modules/unictype/category-Cf-tests: Likewise.
12636         * modules/unictype/category-Cn-tests: Likewise.
12637         * modules/unictype/category-Co-tests: Likewise.
12638         * modules/unictype/category-Cs-tests: Likewise.
12639         * modules/unictype/category-L-tests: Likewise.
12640         * modules/unictype/category-Ll-tests: Likewise.
12641         * modules/unictype/category-Lm-tests: Likewise.
12642         * modules/unictype/category-Lo-tests: Likewise.
12643         * modules/unictype/category-Lt-tests: Likewise.
12644         * modules/unictype/category-Lu-tests: Likewise.
12645         * modules/unictype/category-M-tests: Likewise.
12646         * modules/unictype/category-Mc-tests: Likewise.
12647         * modules/unictype/category-Me-tests: Likewise.
12648         * modules/unictype/category-Mn-tests: Likewise.
12649         * modules/unictype/category-N-tests: Likewise.
12650         * modules/unictype/category-Nd-tests: Likewise.
12651         * modules/unictype/category-Nl-tests: Likewise.
12652         * modules/unictype/category-No-tests: Likewise.
12653         * modules/unictype/category-P-tests: Likewise.
12654         * modules/unictype/category-Pc-tests: Likewise.
12655         * modules/unictype/category-Pd-tests: Likewise.
12656         * modules/unictype/category-Pe-tests: Likewise.
12657         * modules/unictype/category-Pf-tests: Likewise.
12658         * modules/unictype/category-Pi-tests: Likewise.
12659         * modules/unictype/category-Po-tests: Likewise.
12660         * modules/unictype/category-Ps-tests: Likewise.
12661         * modules/unictype/category-S-tests: Likewise.
12662         * modules/unictype/category-Sc-tests: Likewise.
12663         * modules/unictype/category-Sk-tests: Likewise.
12664         * modules/unictype/category-Sm-tests: Likewise.
12665         * modules/unictype/category-So-tests: Likewise.
12666         * modules/unictype/category-Z-tests: Likewise.
12667         * modules/unictype/category-Zl-tests: Likewise.
12668         * modules/unictype/category-Zp-tests: Likewise.
12669         * modules/unictype/category-Zs-tests: Likewise.
12670         * modules/unictype/category-and-not-tests: Likewise.
12671         * modules/unictype/category-and-tests: Likewise.
12672         * modules/unictype/category-byname-tests: Likewise.
12673         * modules/unictype/category-name-tests: Likewise.
12674         * modules/unictype/category-none-tests: Likewise.
12675         * modules/unictype/category-of-tests: Likewise.
12676         * modules/unictype/category-or-tests: Likewise.
12677         * modules/unictype/category-test-withtable-tests: Likewise.
12678         * modules/unictype/combining-class-tests: Likewise.
12679         * modules/unictype/ctype-alnum-tests: Likewise.
12680         * modules/unictype/ctype-alpha-tests: Likewise.
12681         * modules/unictype/ctype-blank-tests: Likewise.
12682         * modules/unictype/ctype-cntrl-tests: Likewise.
12683         * modules/unictype/ctype-digit-tests: Likewise.
12684         * modules/unictype/ctype-graph-tests: Likewise.
12685         * modules/unictype/ctype-lower-tests: Likewise.
12686         * modules/unictype/ctype-print-tests: Likewise.
12687         * modules/unictype/ctype-punct-tests: Likewise.
12688         * modules/unictype/ctype-space-tests: Likewise.
12689         * modules/unictype/ctype-upper-tests: Likewise.
12690         * modules/unictype/ctype-xdigit-tests: Likewise.
12691         * modules/unictype/decimal-digit-tests: Likewise.
12692         * modules/unictype/digit-tests: Likewise.
12693         * modules/unictype/mirror-tests: Likewise.
12694         * modules/unictype/numeric-tests: Likewise.
12695         * modules/unictype/property-alphabetic-tests: Likewise.
12696         * modules/unictype/property-ascii-hex-digit-tests: Likewise.
12697         * modules/unictype/property-bidi-arabic-digit-tests: Likewise.
12698         * modules/unictype/property-bidi-arabic-right-to-left-tests: Likewise.
12699         * modules/unictype/property-bidi-block-separator-tests: Likewise.
12700         * modules/unictype/property-bidi-boundary-neutral-tests: Likewise.
12701         * modules/unictype/property-bidi-common-separator-tests: Likewise.
12702         * modules/unictype/property-bidi-control-tests: Likewise.
12703         * modules/unictype/property-bidi-embedding-or-override-tests: Likewise.
12704         * modules/unictype/property-bidi-eur-num-separator-tests: Likewise.
12705         * modules/unictype/property-bidi-eur-num-terminator-tests: Likewise.
12706         * modules/unictype/property-bidi-european-digit-tests: Likewise.
12707         * modules/unictype/property-bidi-hebrew-right-to-left-tests: Likewise.
12708         * modules/unictype/property-bidi-left-to-right-tests: Likewise.
12709         * modules/unictype/property-bidi-non-spacing-mark-tests: Likewise.
12710         * modules/unictype/property-bidi-other-neutral-tests: Likewise.
12711         * modules/unictype/property-bidi-pdf-tests: Likewise.
12712         * modules/unictype/property-bidi-segment-separator-tests: Likewise.
12713         * modules/unictype/property-bidi-whitespace-tests: Likewise.
12714         * modules/unictype/property-byname-tests: Likewise.
12715         * modules/unictype/property-combining-tests: Likewise.
12716         * modules/unictype/property-composite-tests: Likewise.
12717         * modules/unictype/property-currency-symbol-tests: Likewise.
12718         * modules/unictype/property-dash-tests: Likewise.
12719         * modules/unictype/property-decimal-digit-tests: Likewise.
12720         * modules/unictype/property-default-ignorable-code-point-tests: Likewise.
12721         * modules/unictype/property-deprecated-tests: Likewise.
12722         * modules/unictype/property-diacritic-tests: Likewise.
12723         * modules/unictype/property-extender-tests: Likewise.
12724         * modules/unictype/property-format-control-tests: Likewise.
12725         * modules/unictype/property-grapheme-base-tests: Likewise.
12726         * modules/unictype/property-grapheme-extend-tests: Likewise.
12727         * modules/unictype/property-grapheme-link-tests: Likewise.
12728         * modules/unictype/property-hex-digit-tests: Likewise.
12729         * modules/unictype/property-hyphen-tests: Likewise.
12730         * modules/unictype/property-id-continue-tests: Likewise.
12731         * modules/unictype/property-id-start-tests: Likewise.
12732         * modules/unictype/property-ideographic-tests: Likewise.
12733         * modules/unictype/property-ids-binary-operator-tests: Likewise.
12734         * modules/unictype/property-ids-trinary-operator-tests: Likewise.
12735         * modules/unictype/property-ignorable-control-tests: Likewise.
12736         * modules/unictype/property-iso-control-tests: Likewise.
12737         * modules/unictype/property-join-control-tests: Likewise.
12738         * modules/unictype/property-left-of-pair-tests: Likewise.
12739         * modules/unictype/property-line-separator-tests: Likewise.
12740         * modules/unictype/property-logical-order-exception-tests: Likewise.
12741         * modules/unictype/property-lowercase-tests: Likewise.
12742         * modules/unictype/property-math-tests: Likewise.
12743         * modules/unictype/property-non-break-tests: Likewise.
12744         * modules/unictype/property-not-a-character-tests: Likewise.
12745         * modules/unictype/property-numeric-tests: Likewise.
12746         * modules/unictype/property-other-alphabetic-tests: Likewise.
12747         * modules/unictype/property-other-default-ignorable-code-point-tests:
12748         Likewise.
12749         * modules/unictype/property-other-grapheme-extend-tests: Likewise.
12750         * modules/unictype/property-other-id-continue-tests: Likewise.
12751         * modules/unictype/property-other-id-start-tests: Likewise.
12752         * modules/unictype/property-other-lowercase-tests: Likewise.
12753         * modules/unictype/property-other-math-tests: Likewise.
12754         * modules/unictype/property-other-uppercase-tests: Likewise.
12755         * modules/unictype/property-paired-punctuation-tests: Likewise.
12756         * modules/unictype/property-paragraph-separator-tests: Likewise.
12757         * modules/unictype/property-pattern-syntax-tests: Likewise.
12758         * modules/unictype/property-pattern-white-space-tests: Likewise.
12759         * modules/unictype/property-private-use-tests: Likewise.
12760         * modules/unictype/property-punctuation-tests: Likewise.
12761         * modules/unictype/property-quotation-mark-tests: Likewise.
12762         * modules/unictype/property-radical-tests: Likewise.
12763         * modules/unictype/property-sentence-terminal-tests: Likewise.
12764         * modules/unictype/property-soft-dotted-tests: Likewise.
12765         * modules/unictype/property-space-tests: Likewise.
12766         * modules/unictype/property-terminal-punctuation-tests: Likewise.
12767         * modules/unictype/property-test-tests: Likewise.
12768         * modules/unictype/property-titlecase-tests: Likewise.
12769         * modules/unictype/property-unassigned-code-value-tests: Likewise.
12770         * modules/unictype/property-unified-ideograph-tests: Likewise.
12771         * modules/unictype/property-uppercase-tests: Likewise.
12772         * modules/unictype/property-variation-selector-tests: Likewise.
12773         * modules/unictype/property-white-space-tests: Likewise.
12774         * modules/unictype/property-xid-continue-tests: Likewise.
12775         * modules/unictype/property-xid-start-tests: Likewise.
12776         * modules/unictype/property-zero-width-tests: Likewise.
12777         * modules/unictype/scripts-tests: Likewise.
12778         * modules/unictype/syntax-c-ident-tests: Likewise.
12779         * modules/unictype/syntax-c-whitespace-tests: Likewise.
12780         * modules/unictype/syntax-java-ident-tests: Likewise.
12781         * modules/unictype/syntax-java-whitespace-tests: Likewise.
12782         * modules/unilbrk/u8-possible-linebreaks-tests: Likewise.
12783         * modules/unilbrk/u8-width-linebreaks-tests: Likewise.
12784         * modules/unilbrk/u16-possible-linebreaks-tests: Likewise.
12785         * modules/unilbrk/u16-width-linebreaks-tests: Likewise.
12786         * modules/unilbrk/u32-possible-linebreaks-tests: Likewise.
12787         * modules/unilbrk/u32-width-linebreaks-tests: Likewise.
12788         * modules/unilbrk/ulc-possible-linebreaks-tests: Likewise.
12789         * modules/unilbrk/ulc-width-linebreaks-tests: Likewise.
12790         * modules/uniname/uniname-tests: Likewise.
12791         * modules/uninorm/canonical-decomposition-tests: Likewise.
12792         * modules/uninorm/compat-decomposition-tests: Likewise.
12793         * modules/uninorm/composition-tests: Likewise.
12794         * modules/uninorm/decomposing-form-tests: Likewise.
12795         * modules/uninorm/decomposition-tests: Likewise.
12796         * modules/uninorm/filter-tests: Likewise.
12797         * modules/uninorm/nfc-tests: Likewise.
12798         * modules/uninorm/nfd-tests: Likewise.
12799         * modules/uninorm/nfkc-tests: Likewise.
12800         * modules/uninorm/nfkd-tests: Likewise.
12801         * modules/uninorm/u8-normcmp-tests: Likewise.
12802         * modules/uninorm/u8-normcoll-tests: Likewise.
12803         * modules/uninorm/u16-normcmp-tests: Likewise.
12804         * modules/uninorm/u16-normcoll-tests: Likewise.
12805         * modules/uninorm/u32-normcmp-tests: Likewise.
12806         * modules/uninorm/u32-normcoll-tests: Likewise.
12807         * modules/unistdio/u8-asnprintf-tests: Likewise.
12808         * modules/unistdio/u8-vasnprintf-tests: Likewise.
12809         * modules/unistdio/u8-vasprintf-tests: Likewise.
12810         * modules/unistdio/u8-vsnprintf-tests: Likewise.
12811         * modules/unistdio/u8-vsprintf-tests: Likewise.
12812         * modules/unistdio/u16-asnprintf-tests: Likewise.
12813         * modules/unistdio/u16-vasnprintf-tests: Likewise.
12814         * modules/unistdio/u16-vasprintf-tests: Likewise.
12815         * modules/unistdio/u16-vsnprintf-tests: Likewise.
12816         * modules/unistdio/u16-vsprintf-tests: Likewise.
12817         * modules/unistdio/u32-asnprintf-tests: Likewise.
12818         * modules/unistdio/u32-vasnprintf-tests: Likewise.
12819         * modules/unistdio/u32-vasprintf-tests: Likewise.
12820         * modules/unistdio/u32-vsnprintf-tests: Likewise.
12821         * modules/unistdio/u32-vsprintf-tests: Likewise.
12822         * modules/unistdio/ulc-asnprintf-tests: Likewise.
12823         * modules/unistdio/ulc-vasnprintf-tests: Likewise.
12824         * modules/unistdio/ulc-vasprintf-tests: Likewise.
12825         * modules/unistdio/ulc-vsnprintf-tests: Likewise.
12826         * modules/unistdio/ulc-vsprintf-tests: Likewise.
12827         * modules/unistr/u8-check-tests: Likewise.
12828         * modules/unistr/u8-chr-tests: Likewise.
12829         * modules/unistr/u8-cmp-tests: Likewise.
12830         * modules/unistr/u8-cmp2-tests: Likewise.
12831         * modules/unistr/u8-cpy-alloc-tests: Likewise.
12832         * modules/unistr/u8-cpy-tests: Likewise.
12833         * modules/unistr/u8-mblen-tests: Likewise.
12834         * modules/unistr/u8-mbsnlen-tests: Likewise.
12835         * modules/unistr/u8-mbtouc-tests: Likewise.
12836         * modules/unistr/u8-mbtouc-unsafe-tests: Likewise.
12837         * modules/unistr/u8-mbtoucr-tests: Likewise.
12838         * modules/unistr/u8-move-tests: Likewise.
12839         * modules/unistr/u8-next-tests: Likewise.
12840         * modules/unistr/u8-prev-tests: Likewise.
12841         * modules/unistr/u8-set-tests: Likewise.
12842         * modules/unistr/u8-stpcpy-tests: Likewise.
12843         * modules/unistr/u8-stpncpy-tests: Likewise.
12844         * modules/unistr/u8-strcat-tests: Likewise.
12845         * modules/unistr/u8-strcmp-tests: Likewise.
12846         * modules/unistr/u8-strcoll-tests: Likewise.
12847         * modules/unistr/u8-strcpy-tests: Likewise.
12848         * modules/unistr/u8-strdup-tests: Likewise.
12849         * modules/unistr/u8-strlen-tests: Likewise.
12850         * modules/unistr/u8-strmblen-tests: Likewise.
12851         * modules/unistr/u8-strmbtouc-tests: Likewise.
12852         * modules/unistr/u8-strncat-tests: Likewise.
12853         * modules/unistr/u8-strncmp-tests: Likewise.
12854         * modules/unistr/u8-strncpy-tests: Likewise.
12855         * modules/unistr/u8-strnlen-tests: Likewise.
12856         * modules/unistr/u8-to-u16-tests: Likewise.
12857         * modules/unistr/u8-to-u32-tests: Likewise.
12858         * modules/unistr/u8-uctomb-tests: Likewise.
12859         * modules/unistr/u16-check-tests: Likewise.
12860         * modules/unistr/u16-chr-tests: Likewise.
12861         * modules/unistr/u16-cmp-tests: Likewise.
12862         * modules/unistr/u16-cmp2-tests: Likewise.
12863         * modules/unistr/u16-cpy-alloc-tests: Likewise.
12864         * modules/unistr/u16-cpy-tests: Likewise.
12865         * modules/unistr/u16-mblen-tests: Likewise.
12866         * modules/unistr/u16-mbsnlen-tests: Likewise.
12867         * modules/unistr/u16-mbtouc-tests: Likewise.
12868         * modules/unistr/u16-mbtouc-unsafe-tests: Likewise.
12869         * modules/unistr/u16-mbtoucr-tests: Likewise.
12870         * modules/unistr/u16-move-tests: Likewise.
12871         * modules/unistr/u16-next-tests: Likewise.
12872         * modules/unistr/u16-prev-tests: Likewise.
12873         * modules/unistr/u16-set-tests: Likewise.
12874         * modules/unistr/u16-stpcpy-tests: Likewise.
12875         * modules/unistr/u16-stpncpy-tests: Likewise.
12876         * modules/unistr/u16-strcat-tests: Likewise.
12877         * modules/unistr/u16-strcmp-tests: Likewise.
12878         * modules/unistr/u16-strcoll-tests: Likewise.
12879         * modules/unistr/u16-strcpy-tests: Likewise.
12880         * modules/unistr/u16-strdup-tests: Likewise.
12881         * modules/unistr/u16-strlen-tests: Likewise.
12882         * modules/unistr/u16-strmblen-tests: Likewise.
12883         * modules/unistr/u16-strmbtouc-tests: Likewise.
12884         * modules/unistr/u16-strncat-tests: Likewise.
12885         * modules/unistr/u16-strncmp-tests: Likewise.
12886         * modules/unistr/u16-strncpy-tests: Likewise.
12887         * modules/unistr/u16-strnlen-tests: Likewise.
12888         * modules/unistr/u16-to-u32-tests: Likewise.
12889         * modules/unistr/u16-to-u8-tests: Likewise.
12890         * modules/unistr/u16-uctomb-tests: Likewise.
12891         * modules/unistr/u32-check-tests: Likewise.
12892         * modules/unistr/u32-chr-tests: Likewise.
12893         * modules/unistr/u32-cmp-tests: Likewise.
12894         * modules/unistr/u32-cmp2-tests: Likewise.
12895         * modules/unistr/u32-cpy-alloc-tests: Likewise.
12896         * modules/unistr/u32-cpy-tests: Likewise.
12897         * modules/unistr/u32-mblen-tests: Likewise.
12898         * modules/unistr/u32-mbsnlen-tests: Likewise.
12899         * modules/unistr/u32-mbtouc-tests: Likewise.
12900         * modules/unistr/u32-mbtouc-unsafe-tests: Likewise.
12901         * modules/unistr/u32-mbtoucr-tests: Likewise.
12902         * modules/unistr/u32-move-tests: Likewise.
12903         * modules/unistr/u32-next-tests: Likewise.
12904         * modules/unistr/u32-prev-tests: Likewise.
12905         * modules/unistr/u32-set-tests: Likewise.
12906         * modules/unistr/u32-stpcpy-tests: Likewise.
12907         * modules/unistr/u32-stpncpy-tests: Likewise.
12908         * modules/unistr/u32-strcat-tests: Likewise.
12909         * modules/unistr/u32-strcmp-tests: Likewise.
12910         * modules/unistr/u32-strcoll-tests: Likewise.
12911         * modules/unistr/u32-strcpy-tests: Likewise.
12912         * modules/unistr/u32-strdup-tests: Likewise.
12913         * modules/unistr/u32-strlen-tests: Likewise.
12914         * modules/unistr/u32-strmblen-tests: Likewise.
12915         * modules/unistr/u32-strmbtouc-tests: Likewise.
12916         * modules/unistr/u32-strncat-tests: Likewise.
12917         * modules/unistr/u32-strncmp-tests: Likewise.
12918         * modules/unistr/u32-strncpy-tests: Likewise.
12919         * modules/unistr/u32-strnlen-tests: Likewise.
12920         * modules/unistr/u32-to-u16-tests: Likewise.
12921         * modules/unistr/u32-to-u8-tests: Likewise.
12922         * modules/unistr/u32-uctomb-tests: Likewise.
12923         * modules/uniwbrk/u8-wordbreaks-tests: Likewise.
12924         * modules/uniwbrk/u16-wordbreaks-tests: Likewise.
12925         * modules/uniwbrk/u32-wordbreaks-tests: Likewise.
12926         * modules/uniwbrk/ulc-wordbreaks-tests: Likewise.
12927         * modules/uniwidth/u8-strwidth-tests: Likewise.
12928         * modules/uniwidth/u8-width-tests: Likewise.
12929         * modules/uniwidth/u16-strwidth-tests: Likewise.
12930         * modules/uniwidth/u16-width-tests: Likewise.
12931         * modules/uniwidth/u32-strwidth-tests: Likewise.
12932         * modules/uniwidth/u32-width-tests: Likewise.
12933         * modules/uniwidth/width-tests: Likewise.
12934
12935 2010-05-18  Richard Jones  <rjones@redhat.com>
12936
12937         doc: users.txt: list hivex
12938         * users.txt: Add hivex.
12939
12940 2010-05-18  Richard Jones  <rjones@redhat.com>
12941
12942         doc: users.txt: list febootstrap
12943         * users.txt: Add febootstrap.
12944
12945 2010-05-17  Giuseppe Scrivano  <gscrivano@gnu.org>
12946
12947         bootstrap: fix an error when gnulib is not used as a git submodule
12948         * build-aux/bootstrap (gnulib_path): If its length is zero then
12949         assign "gnulib" to it.
12950         * build-aux/bootstrap: Redirect "git clone -h" stderr to stdout.
12951
12952 2010-05-16  Bruno Haible  <bruno@clisp.org>
12953
12954         Avoid autoconf warnings about AM_ICONV.
12955         * m4/iconv.m4 (AM_ICONV): Define using AC_DEFUN_ONCE for autoconf >=
12956         2.64.
12957
12958 2010-05-16  Bruno Haible  <bruno@clisp.org>
12959
12960         absolute-header: Make the macro usable in more situations.
12961         * m4/absolute-header.m4 (gl_ABSOLUTE_HEADER_ONE): New macro, extracted
12962         from gl_ABSOLUTE_HEADER.
12963         (gl_ABSOLUTE_HEADER): Use it. Fix comment.
12964
12965 2010-05-16  James Youngman  <jay@gnu.org>
12966
12967         doc: update users.txt
12968         * users.txt: Add CSSC.
12969
12970 2010-05-16  Jim Meyering  <meyering@redhat.com>
12971
12972         init.sh: fix an error in the previous change; add more comments
12973         * tests/init.sh: Compare exit code in loop against 9, not 2.
12974         Patch by Bruno Haible.
12975         Make the two tests more similar by adding an empty "then" clause.
12976         Add comments.
12977
12978         init.sh: avoid unnecessary shell re-exec
12979         * tests/init.sh: Improve the re-exec-required check to first test the
12980         current shell.  If it passes the test, do not search for a shell that
12981         does pass, and do not re-exec.  This test is particularly contorted to
12982         avoid triggering misbehavior in Solaris 10's /bin/sh whereby any use
12983         of $(...) evokes a syntax error and causes immediate shell exit with
12984         status 2.  Bruno Haible reported that the re-exec made it impossible
12985         to single-step through any init.sh-using script.
12986
12987 2010-05-16  Bruno Haible  <bruno@clisp.org>
12988
12989         Fix collision between gnulib's and libintl's printf replacements.
12990         * lib/stdio.in.h (_GL_STDIO_STRINGIZE,
12991         _GL_STDIO_MACROEXPAND_AND_STRINGIZE): New macros.
12992         (printf): When using GNU C, map the __printf__ function to rpl_printf
12993         via __asm__. When not using GNU C, define rpl_printf instead of
12994         __printf__.
12995         * lib/printf.c: Ignore DEPENDS_ON_LIBINTL. Undoes the 2010-03-25
12996         commit.
12997         * lib/stdio-write.c: Ignore DEPENDS_ON_LIBINTL. Undoes the 2009-08-10
12998         commit.
12999         * m4/asm-underscore.m4: New file.
13000         * m4/stdio_h.m4 (gl_STDIO_H): Require gl_ASM_SYMBOL_PREFIX.
13001         * modules/stdio (Files): Add m4/asm-underscore.m4.
13002         (Makefile.am): Substitute ASM_SYMBOL_PREFIX.
13003         Reported by Ben Pfaff.
13004
13005 2010-05-16  Bruno Haible  <bruno@clisp.org>
13006
13007         verify: Avoid skipping the test on openSUSE 11.0.
13008         * tests/test-verify.sh: Unset MALLOC_PERTURB_.
13009
13010 2010-05-13  Bruno Haible  <bruno@clisp.org>
13011
13012         Avoid useless warnings from G++.
13013         * build-aux/c++defs.h (_GL_CXXALIASWARN_2, _GL_CXXALIASWARN1_2): Don't
13014         use _GL_WARN_ON_USE or _GL_WARN_ON_USE_CXX when optimizing.
13015         Reported by Jarno Rajahalme <jarno.rajahalme@nsn.com>.
13016
13017 2010-05-11  Jim Meyering  <meyering@redhat.com>
13018
13019         maint.mk: tweak preceding change
13020         * top/maint.mk (gl_extract_significant_defines_): Make exclusion
13021         regexps tighter by anchoring at EOL, and make the new group "shy"
13022         for slightly decreased overhead.
13023
13024 2010-05-11  Eric Blake  <eblake@redhat.com>
13025
13026         maint.mk: gnulib doesn't guarantee NSIG
13027         * top/maint.mk (gl_extract_significant_defines_): Exclude NSIG.
13028
13029 2010-05-10  Peter O'Gorman  <pogma@thewrittenword.com>
13030
13031         test-pwrite.c: Remove unused variable declaration.
13032         * tests/test-pwrite.c (main): Remove read_buf declaration.
13033
13034         Remove useless test-pwrite.sh file.
13035         * tests/test-pwrite.sh: Delete file.
13036         * modules/pwrite-tests: Remove references.
13037         Reported by Bruno Haible.
13038
13039 2010-05-10  Peter O'Gorman  <pogma@thewrittenword.com>
13040
13041         init.sh: fix a typo
13042         * tests/init.sh: Correct typo in MALLOC_PERTURB_ initialization.
13043
13044 2010-05-10  Jim Meyering  <meyering@redhat.com>
13045
13046         maint.mk: avoid using a temporary file in the always-defined-macros check
13047         * top/maint.mk (.re-defmac): Remove rule.
13048         (gl_trap_): Remove definition.
13049         (sc_prohibit_always-defined_macros): Rewrite not to create and
13050         depend on a temporary file.  Instead, depend on GNU grep's ability
13051         to read a list of regular expressions from stdin when given "-f -".
13052
13053 2010-05-09  Bruno Haible  <bruno@clisp.org>
13054
13055         Update to GNU gettext 0.18, part 1.
13056         * m4/gettext.m4: Update to GNU gettext 0.18.
13057         * m4/intl.m4: Likewise.
13058         * m4/po.m4: Likewise.
13059         * modules/gettext (Files): Add m4/fcntl-o.m4.
13060         (configure.ac): Require gettext infrastructure from version 0.18.
13061
13062 2010-05-09  Jim Meyering  <meyering@redhat.com>
13063
13064         init.sh: enable MALLOC_PERTURB_
13065         * tests/init.sh: Enable glibc's malloc-perturbing option.
13066
13067         maint.mk: improve sc_cross_check_PATH_usage_in_tests
13068         With my recent change in init.sh from the two-line form:
13069             -#   : ${srcdir=.}
13070             -#   . "$srcdir/init.sh"; path_prepend_ .
13071             +#   . "${srcdir=.}/init.sh"; path_prepend_ .
13072         I noticed that using the one-line form would cause this test
13073         to fail with a false-positive, or to stop working altogether,
13074         depending on whether help-version changed or all the tests did.
13075         * top/maint.mk (_hv_regex): Remove this definition.
13076         (_hv_regex_weak): Use a weak regex to select all init.sh-sourcing files.
13077         (_hv_regex_strong): Use a stronger regex to check for conformance.
13078         (sc_cross_check_PATH_usage_in_tests): Rewrite to use the above.
13079         Give a separate diagnostic for lack of conforming use.
13080
13081         maint.mk: prohibit definition of symbols defined by gnulib
13082         * top/maint.mk (sc_prohibit_always-defined_macros): Reject the
13083         definition of symbols defined by gnulib.
13084
13085 2010-05-09  Bruno Haible  <bruno@clisp.org>
13086
13087         acl: Avoid test failure on Cygwin-hosted mingw.
13088         * tests/test-set-mode-acl.sh: Skip test if USE_ACL is 0.
13089
13090 2010-05-09  Bruno Haible  <bruno@clisp.org>
13091
13092         error: Use system's fcntl function.
13093         * lib/error.c (fcntl): Undefine.
13094
13095 2010-05-09  Jim Meyering  <meyering@redhat.com>
13096
13097         verify: adjust formatting to be more consistent
13098         * lib/verify.h (_GL_GENSYM): Add a space before each of a few
13099         argument-list '('s, and after one comma.
13100
13101 2010-05-09  Bruno Haible  <bruno@clisp.org>
13102
13103         error: More reliable output on mingw.
13104         * lib/error.c: Include <windows.h>.
13105         (is_open): New function.
13106         (flush_stdout): Call it instead of fcntl, also if F_GETFL is not
13107         defined.
13108
13109 2010-05-09  Bruno Haible  <bruno@clisp.org>
13110
13111         vasnprintf: Fix syntax errors in libintl build on mingw.
13112         * lib/vasnprintf.c (VASNPRINTF): Move a closing brace. Undefine
13113         pad_ourselves and prec_ourselves after use.
13114
13115 2010-05-08  Bruno Haible  <bruno@clisp.org>
13116
13117         * lib/config.charset: Update comments for Cygwin 1.7.
13118         * lib/localcharset.c: Likewise.
13119
13120 2010-05-07  Jim Meyering  <meyering@redhat.com>
13121
13122         init.sh: improve comments
13123         * tests/init.sh: Recommend the one-line init.sh-sourcing idiom:
13124         . "${srcdir=.}/init.sh"; path_prepend_ .
13125         Add a note about path_prepend_ and the alternative of using
13126         TESTS_ENVIRONMENT.
13127
13128 2010-05-06  Sergey Poznyakoff  <gray@gnu.org.ua>
13129
13130         exclude: Unescape hashed patterns in wildcard mode.
13131         * lib/exclude.c (add_exclude): Unescape the pattern before adding it
13132         to the hash list.
13133         * tests/test-exclude8.sh: New test case.
13134         * modules/exclude-tests: Add new test.
13135
13136 2010-05-05  Eric Blake  <eblake@redhat.com>
13137
13138         verify: automate tests
13139         * modules/verify-tests: New module.
13140         * tests/test-verify.sh: New file.
13141         * tests/test-verify.c: Guard each negative test with a unique id.
13142         Also avoid warning about unused left hand of comma expressions.
13143
13144 2010-05-05  Paul Eggert  <eggert@cs.ucla.edu>
13145
13146         Further improvements to verify.h, suggested by Eric Blake.
13147         * lib/verify.h (_GL_CONCAT, _GL_CONCAT0, _GL_GENSYM): Renamed from
13148         the GL_* versions, to avoid collision with OpenGL.
13149         (_GL_COUNTER): New macro, so that we can fall back on __LINE__ if
13150         __COUNTER__ doesn't work.  Test that __COUNTER__ increments rather
13151         than testing merely whether it's defined.
13152
13153         Modify verify.h to pacify gcc -Wredundant_decls.
13154         * lib/verify.h (GL_CONCAT, GL_CONCAT0, GL_GENSYM): New macros.
13155         These use the prefix "GL_" since they're likely to be useful elsewhere.
13156         We may need to break them out into a different .h file.
13157         (__COUNTER__): Define to 0 if the compiler doesn't support it.
13158         (verify) [!defined __cplusplus]: Use them to avoid duplicate decls
13159         of verify_function__.
13160
13161 2010-05-05  Peter O'Gorman  <pogma@thewrittenword.com>
13162
13163         Tests for module pwrite.
13164         * modules/pwrite-tests: New file.
13165         * tests/test-pwrite.sh: New file.
13166         * tests/test-pwrite.c: New file.
13167
13168         New module pwrite.
13169         * lib/unistd.in.h (pwrite): New declaration.
13170         * lib/pwrite.c: New file, from glibc with modifications.
13171         * m4/pwrite.m4: New file.
13172         * m4/unistd_h.m4 (gl_UNISTD_H): Test whether pwrite is declared.
13173         (gl_UNISTD_H_DEFAULTS): Initialize GNULIB_PWRITE, HAVE_PWRITE,
13174         REPLACE_PWRITE.
13175         * modules/pwrite: New file.
13176         * modules/unistd (Makefile.am): Substitute GNULIB_PWRITE, HAVE_PWRITE,
13177         REPLACE_PWRITE.
13178         * tests/test-unistd-c++.cc: Check GNULIB_NAMESPACE::pwrite.
13179         * doc/posix-functions/pwrite.texi: Mention the new module.
13180
13181 2010-05-05  Peter O'Gorman  <pogma@thewrittenword.com>
13182
13183         pread: Update documentation.
13184         * doc/posix-functions/pread.texi: Mention the 'pread' module.
13185
13186 2010-05-04  Eric Blake  <eblake@redhat.com>
13187
13188         docs: update cygwin progress
13189         * doc/posix-functions/wctob.texi (wctob): Cygwin 1.7.6 will fix
13190         this bug.
13191         * doc/glibc-functions/get_nprocs_conf.texi (get_nprocs_conf):
13192         Added in cygwin 1.7.2.
13193         * doc/glibc-functions/get_phys_pages.texi (get_phys_pages):
13194         Likewise.
13195         * doc/glibc-functions/get_avphys_pages.texi (get_avphys_pages):
13196         Likewise.
13197         * doc/glibc-functions/dup3.texi (dup3): Likewise.
13198         * doc/glibc-functions/pipe2.texi (pipe2): Likewise.
13199         * doc/glibc-functions/accept4.texi (accept4): Likewise.
13200         * doc/posix-functions/strfmon.texi (strfmon): Likewise.
13201         * doc/glibc-functions/get_nprocs.texi (get_nprocs): Likewise.
13202         Mention nproc module.
13203         * doc/glibc-functions/xdr_uint16_t.texi (xdr_uint16_t): Mention
13204         bug in cygwin 1.7.5 addition.
13205         * doc/glibc-functions/xdr_uint32_t.texi (xdr_uint32_t): Likewise.
13206         * doc/glibc-functions/xdr_uint64_t.texi (xdr_uint64_t): Likewise.
13207         * doc/glibc-functions/xdr_uint8_t.texi (xdr_uint8_t): Likewise.
13208         * doc/glibc-functions/xdr_array.texi (xdr_array): Added in cygwin
13209         1.7.5.
13210         * doc/glibc-functions/xdr_bool.texi (xdr_bool): Likewise.
13211         * doc/glibc-functions/xdr_bytes.texi (xdr_bytes): Likewise.
13212         * doc/glibc-functions/xdr_char.texi (xdr_char): Likewise.
13213         * doc/glibc-functions/xdr_double.texi (xdr_double): Likewise.
13214         * doc/glibc-functions/xdr_enum.texi (xdr_enum): Likewise.
13215         * doc/glibc-functions/xdr_float.texi (xdr_float): Likewise.
13216         * doc/glibc-functions/xdr_free.texi (xdr_free): Likewise.
13217         * doc/glibc-functions/xdr_hyper.texi (xdr_hyper): Likewise.
13218         * doc/glibc-functions/xdr_int.texi (xdr_int): Likewise.
13219         * doc/glibc-functions/xdr_int16_t.texi (xdr_int16_t): Likewise.
13220         * doc/glibc-functions/xdr_int32_t.texi (xdr_int32_t): Likewise.
13221         * doc/glibc-functions/xdr_int64_t.texi (xdr_int64_t): Likewise.
13222         * doc/glibc-functions/xdr_int8_t.texi (xdr_int8_t): Likewise.
13223         * doc/glibc-functions/xdr_long.texi (xdr_long): Likewise.
13224         * doc/glibc-functions/xdr_longlong_t.texi (xdr_longlong_t):
13225         Likewise.
13226         * doc/glibc-functions/xdr_netobj.texi (xdr_netobj): Likewise.
13227         * doc/glibc-functions/xdr_opaque.texi (xdr_opaque): Likewise.
13228         * doc/glibc-functions/xdr_pointer.texi (xdr_pointer): Likewise.
13229         * doc/glibc-functions/xdr_reference.texi (xdr_reference):
13230         Likewise.
13231         * doc/glibc-functions/xdr_short.texi (xdr_short): Likewise.
13232         * doc/glibc-functions/xdr_sizeof.texi (xdr_sizeof): Likewise.
13233         * doc/glibc-functions/xdr_string.texi (xdr_string): Likewise.
13234         * doc/glibc-functions/xdr_u_char.texi (xdr_u_char): Likewise.
13235         * doc/glibc-functions/xdr_u_hyper.texi (xdr_u_hyper): Likewise.
13236         * doc/glibc-functions/xdr_u_int.texi (xdr_u_int): Likewise.
13237         * doc/glibc-functions/xdr_u_long.texi (xdr_u_long): Likewise.
13238         * doc/glibc-functions/xdr_u_longlong_t.texi (xdr_u_longlong_t):
13239         Likewise.
13240         * doc/glibc-functions/xdr_u_short.texi (xdr_u_short): Likewise.
13241         * doc/glibc-functions/xdr_union.texi (xdr_union): Likewise.
13242         * doc/glibc-functions/xdr_vector.texi (xdr_vector): Likewise.
13243         * doc/glibc-functions/xdr_void.texi (xdr_void): Likewise.
13244         * doc/glibc-functions/xdr_wrapstring.texi (xdr_wrapstring):
13245         Likewise.
13246         * doc/glibc-functions/xdrmem_create.texi (xdrmem_create):
13247         Likewise.
13248         * doc/glibc-functions/xdrrec_create.texi (xdrrec_create):
13249         Likewise.
13250         * doc/glibc-functions/xdrrec_endofrecord.texi
13251         (xdrrec_endofrecord): Likewise.
13252         * doc/glibc-functions/xdrrec_eof.texi (xdrrec_eof): Likewise.
13253         * doc/glibc-functions/xdrrec_skiprecord.texi (xdrrec_skiprecord):
13254         Likewise.
13255         * doc/glibc-functions/xdrstdio_create.texi (xdrstdio_create):
13256         Likewise.
13257
13258 2010-05-04  Jim Meyering  <meyering@redhat.com>
13259
13260         gendocs.sh: make its "-s FILE" option more useful
13261         * build-aux/gendocs.sh: When honoring the -s FILE option, update
13262         $PACKAGE to reflect the probably-different basename of "FILE".
13263
13264 2010-05-03  Giuseppe Scrivano  <gscrivano@gnu.org>
13265
13266         bootstrap: don't ignore download_po_files failure
13267         * build-aux/bootstrap (update_po_files): Don't ignore download_po_files
13268         failure.
13269
13270 2010-05-03  Jim Meyering  <meyering@redhat.com>
13271
13272         maint.mk: allow to pass options to gendocs.sh
13273         * top/maint.mk (web-manual): Pass gendocs_options_ to gendocs.sh.
13274         (gendocs_options_): New overridable variable.
13275
13276         gnu-web-doc-update: don't ignore configure or build failure
13277         * build-aux/gnu-web-doc-update: Exit nonzero upon internal failure.
13278
13279         announce-gen: backslash-escape '@'s in --help output
13280         * build-aux/announce-gen: Fix syntax errors.
13281
13282         maint.mk, announce-gen: allow project-specific announcement mail headers
13283         * top/maint.mk (translation_project_): Define default.
13284         (announcement_Cc_, announcement_mail_headers_): Likewise.
13285         (announcement): Invoke announce-gen with new --mail-headers option.
13286         * build-aux/announce-gen: New option: --mail-headers=HEADERS.
13287
13288         test-xalloc-die: avoid unwarranted test failure on OpenSolaris 5.11
13289         * tests/test-xalloc-die.sh: Redirect stdout before stderr, (i.e.,
13290         "> out 2> err", rather than "2> err > out").  Otherwise, with /bin/sh
13291         on OpenSolaris 5.11 snv_134, we would end up with a stray "1> out"
13292         line in the "err2" output file when running "make check" in verbose
13293         mode (i.e., with set -x enabled).
13294
13295 2010-05-03  Bruno Haible  <bruno@clisp.org>
13296
13297         wctob: Fix for weird platforms.
13298         * lib/wctob.c (wctob): When wint_t is larger than wchar_t, check the
13299         argument value.
13300
13301 2010-05-03  Jim Meyering  <meyering@redhat.com>
13302
13303         maint.mk: prohibit unwarranted use of <strings.h>
13304         * top/maint.mk (sc_prohibit_strings_without_use): Reject inclusion of
13305         strings.h in a file that does not also use strcasecmp, strncasecmp,
13306         ffs or ffsll.
13307
13308         maint.mk: remove obsolete comments
13309         * top/maint.mk: Remove stale, commented-out rules.
13310
13311 2010-05-02  Bruno Haible  <bruno@clisp.org>
13312
13313         wcwidth: Declare also when it's aliased.
13314         * lib/wchar.in.h (wcwidth): Don't test whether wcwidth is defined as a
13315         macro.
13316
13317 2010-05-02  Bruno Haible  <bruno@clisp.org>
13318
13319         Fix regression from 2010-04-25.
13320         * gnulib-tool (func_modules_transitive_closure): Check the status of
13321         all modules, not only of the tests that are of the form foo-tests where
13322         foo is a module.
13323
13324 2010-05-02  Bruno Haible  <bruno@clisp.org>
13325
13326         wctob: Work around nasty Cygwin 1.7.2 bug.
13327         * m4/wctob.m4 (gl_FUNC_WCTOB): Detect the Cygwin bug.
13328         * doc/posix-functions/wctob.texi: Mention the Cygwin bug.
13329
13330 2010-05-01  Bruno Haible  <bruno@clisp.org>
13331
13332         fpurge: Sharper test.
13333         * tests/test-fpurge.c (main): Add one more ftell check.
13334         * modules/fpurge-tests (Depends-on): Add ftell.
13335         Suggested by Eric Blake.
13336
13337 2010-05-01  Bruno Haible  <bruno@clisp.org>
13338
13339         ftello: Another test.
13340         * tests/test-ftello3.c: New file.
13341         * modules/ftello-tests (Files): Add it.
13342         (Makefile.am): Add it to TESTS and check_PROGRAMS. Augment
13343         MOSTLYCLEANFILES.
13344
13345         ftell: Another test.
13346         * tests/test-ftell3.c: New file.
13347         * modules/ftell-tests (Files): Add it.
13348         (Makefile.am): Add it to TESTS and check_PROGRAMS. Augment
13349         MOSTLYCLEANFILES.
13350
13351 2010-05-01  Bruno Haible  <bruno@clisp.org>
13352
13353         ftell, ftello: Work around Solaris bug.
13354         * m4/ftello.m4 (gl_FUNC_FTELLO): Detect Solaris bug.
13355         * lib/ftello.c: Include stdio-impl.h.
13356         (ftello): On Solaris, when _IOWRT is set, compute the result without
13357         looking at _IOREAD.
13358         * modules/ftello (Files): Add lib/stdio-impl.h.
13359         * doc/posix-functions/ftell.texi: Mention Solaris bug.
13360         * doc/posix-functions/ftello.texi: Likewise.
13361         Reported by Eric Blake.
13362
13363 2010-05-01  Bruno Haible  <bruno@clisp.org>
13364
13365         freading: Adapt to special meaning of _IOREAD flag on Solaris.
13366         * lib/freading.c (freading): On Solaris, ignore the _IOREAD flag if
13367         the _IOWRT flag is also set.
13368
13369 2010-05-01  Bruno Haible  <bruno@clisp.org>
13370
13371         Fix doc about a HP-UX stdio bug.
13372         * doc/posix-functions/ftell.texi: Mark HP-UX bug as unfixed.
13373         * doc/posix-functions/ftello.texi: Likewise.
13374
13375 2010-05-01  Bruno Haible  <bruno@clisp.org>
13376
13377         lseek test: Fix failure on Solaris.
13378         * tests/test-lseek.sh: Partially revert 2010-04-20 commit. Consume all
13379         output.
13380
13381 2010-04-30  Jim Meyering  <meyering@redhat.com>
13382
13383         bootstrap: don't ignore failure to generate po*/Makevars
13384         * build-aux/bootstrap (with_gettext): Don't ignore failure
13385         to create po/Makevars or runtime-po/Makevars.
13386
13387 2010-04-29  Eric Blake  <eblake@redhat.com>
13388
13389         headers: relax license to LGPLv2+
13390         * modules/fcntl-h (License): Relax license.
13391         * modules/getopt-posix (License): Likewise.
13392         * modules/locale (License): Likewise.
13393         * modules/math (License): Likewise.
13394         * modules/pty (License): Likewise.
13395         * modules/sched (License): Likewise.
13396         * modules/search (License): Likewise.
13397         * modules/spawn (License): Likewise.
13398         * modules/stdarg (License): Likewise.
13399         * modules/sysexits (License): Likewise.
13400
13401 2010-04-29  Jim Meyering  <meyering@redhat.com>
13402
13403         inttypes: relax license to LGPLv2+
13404         * modules/inttypes (License): Relax license.
13405
13406 2010-04-29  Simon Josefsson  <simon@josefsson.org>
13407
13408         * top/maint.mk (indent): Run twice to produce idempotent results.
13409
13410 2010-04-28  Bruno Haible  <bruno@clisp.org>
13411
13412         getdate: Generate getdate.c in the source directory.
13413         * modules/getdate (Makefile.am): Add rule for getdate.c. Augment
13414         MOSTLYCLEANFILES.
13415         Suggested by Daniel Richard G. <skunk@iskunk.org> and Ralf Wildenhues.
13416
13417 2010-04-27  Andreas Gruenbacher  <agruen@suse.de>  (tiny change)
13418
13419         * lib/utimens.c: On Tru64, the timestamp parameter of utimens(2)
13420         is not declared as a const *; avoid warnings in that case.
13421
13422 2010-04-28  Eric Blake  <eblake@redhat.com>
13423
13424         canonicalize-lgpl: avoid compiler warning
13425         * lib/canonicalize-lgpl.c (versioned_symbol): Avoid an 'empty
13426         declaration' / 'extraneous semicolon' warning with some compilers.
13427         Reported by Andreas Gruenbacher.
13428
13429 2010-04-28  Jim Meyering  <meyering@redhat.com>
13430
13431         init.sh: ensure a more reliable exit status when exiting via trap
13432         * tests/init.sh (setup_): Don't rely on $? in signal handler.
13433         Inspired by patches from Dmitry V. Levin.
13434         Also trap on signal 3 (SIGQUIT).
13435
13436 2010-04-27  Bruno Haible  <bruno@clisp.org>
13437
13438         Update doc about utimes().
13439         * doc/posix-functions/utimes.texi: Mention the OSF/1 problem and the
13440         'utimens' module.
13441         Reported by Andreas Gruenbacher <agruen@suse.de>.
13442
13443 2010-04-27  Eric Blake  <eblake@redhat.com>
13444
13445         full-read, full-write: relax license
13446         * modules/full-read (License): Drop to LGPLv2+.
13447         * modules/full-write (License): Likewise.
13448         * modules/safe-read (License): Likewise.
13449         * modules/safe-write (License): Likewise.
13450
13451         pthread: mention library for linking
13452         * modules/pthread (Link): Mention $(LIB_PTHREAD).
13453
13454 2010-04-27  Jim Meyering  <meyering@redhat.com>
13455
13456         maint.mk: fix a bug introduced in last change
13457         * top/maint.mk (gl_assured_headers_): Now that all names are on
13458         one line, use sed's "g" modifier.  Note that while the \.in\.h LHS
13459         is not anchored to end of word, it should be adequate.
13460
13461         maint.mk: avoid side-effect in latest syntax-check
13462         * top/maint.mk (sc_prohibit_always_true_header_tests): Rework not
13463         to run commands via $(shell...), and hence to incur cost only when
13464         the new rule is actually run.
13465
13466         maint.mk: syntax-check: prohibit HAVE_<header>_H that are always true
13467         Derive the list of guaranteed header names from gnulib/lib/*.in.h,
13468         and use that to create a regexp used to detect all #if HAVE_..._H uses.
13469         * top/maint.mk (sc_prohibit_always_true_header_tests): New rule.
13470         (gl_assured_headers_, az_, AZ_): Define.
13471         (gl_header_upper_case_or_, gl_have_header_regex_): Define.
13472
13473 2010-04-26  Jim Meyering  <jim@meyering.net>
13474             Bruno Haible  <bruno@clisp.org>
13475
13476         gnulib-common.m4: make glibc write diagnostics to stderr, not /dev/tty
13477         * m4/gnulib-common.m4 (gl_COMMON_BODY): Set LIBC_FATAL_STDERR_.
13478         Prompted by an exchange with Gilles Espinasse.
13479
13480 2010-04-26  Jim Meyering  <meyering@redhat.com>
13481
13482         git-version-gen: aesthetic tweak
13483         * build-aux/git-version-gen: Use "$nl" rather than a literal,
13484         so that the command remains on a single line.
13485
13486 2010-04-26  Eric Blake  <eblake@redhat.com>
13487
13488         git-version-gen: allow use on EBCDIC hosts
13489         * build-aux/git-version-gen (dirty): Use literal rather than tying
13490         ourselves to ascii.
13491         Reported by Steve Goetze.
13492
13493 2010-04-25  Bruno Haible  <bruno@clisp.org>
13494
13495         netdb: Add support for GNULIB_POSIXCHECK.
13496         * lib/netdb.in.h: Include warn-on-use.h.
13497         (getaddrinfo, freeaddrinfo, gai_strerror, getnameinfo): Warn if these
13498         functions are used when GNULIB_POSIXCHECK is defined and the
13499         getaddrinfo module is not in use.
13500         * m4/netdb_h.m4 (gl_HEADER_NETDB): Test whether getaddrinfo,
13501         freeaddrinfo, gai_strerror, getnameinfo are declared.
13502         * modules/netdb (Depends-on): Add warn-on-use.
13503         (Makefile.am): Include warn-on-use.h in netdb.h.
13504
13505 2010-04-24  Ian Beckwith  <ianb@erislabs.net>
13506
13507         build: avoid "make check" failure without .git/ directory
13508         * Makefile (sc_prefer_ac_check_funcs_once): Skip this test when
13509         there is no .git/ directory.
13510
13511 2010-04-25  Bruno Haible  <bruno@clisp.org>
13512
13513         ptsname: Fix misuse of ttyname_r.
13514         * lib/ptsname.c (__ptsname_r): Use __ttyname_r's return value instead
13515         of errno.
13516
13517 2010-04-25  Bruno Haible  <bruno@clisp.org>
13518
13519         ttyname_r: Make it work on Solaris 10.
13520         * m4/ttyname_r.m4 (gl_FUNC_TTYNAME_R): Define HAVE_POSIXDECL_TTYNAME_R
13521         if the system function has the POSIX declaration. Test whether the
13522         function fails if the buffer is less than 128 bytes large.
13523         * lib/ttyname_r.c (ttyname_r): Handle both possible declarations of the
13524         system's ttyname_r function. Provide a reasonably large buffer.
13525         * modules/ttyname_r (Depends-on): Add extensions.
13526         * doc/posix-functions/ttyname_r.texi: Mention the Solaris problem.
13527
13528 2010-04-25  Bruno Haible  <bruno@clisp.org>
13529
13530         Use the 'extensions' module for some more functions on Solaris.
13531         * doc/posix-functions/asctime_r.texi: Recommend to use the 'extensions'
13532         module.
13533         * doc/posix-functions/ctime_r.texi: Likewise.
13534         * doc/posix-functions/getgrgid_r.texi: Likewise.
13535         * doc/posix-functions/getgrnam_r.texi: Likewise.
13536         * doc/posix-functions/getpwnam_r.texi: Likewise.
13537         * doc/posix-functions/getpwuid_r.texi: Likewise.
13538         * doc/posix-functions/readdir_r.texi: Likewise.
13539         * doc/posix-functions/sigwait.texi: Likewise.
13540         * m4/getlogin_r.m4 (gl_FUNC_GETLOGIN_R): Add comment.
13541         * doc/posix-functions/getlogin_r.texi: Mark Solaris problem as fixed.
13542
13543 2010-04-25  Bruno Haible  <bruno@clisp.org>
13544
13545         ttyname_r: Make it work on MacOS X 10.4 and Solaris 10.
13546         * m4/ttyname_r.m4 (gl_FUNC_TTYNAME_R): Test whether the system function
13547         has the POSIX declaration. Set REPLACE_TTYNAME_R if not.
13548         * lib/ttyname_r.c: Include <limits.h>.
13549         (ttyname_r): Define using the system's ttyname_r function, if it exists
13550         and not on Solaris.
13551         * lib/unistd.in.h (ttyname_r): Replace function if REPLACE_TTYNAME_R is
13552         set.
13553         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize REPLACE_TTYNAME_R.
13554         * modules/unistd (Makefile.am): Substitute REPLACE_TTYNAME_R.
13555         * doc/posix-functions/ttyname_r.texi: Mark the problem as fixed.
13556         Reported by Simon Josefsson.
13557
13558 2010-04-25  Bruno Haible  <bruno@clisp.org>
13559
13560         Mention effects of _POSIX_PTHREAD_SEMANTICS on Solaris.
13561         * doc/posix-functions/asctime_r.texi: Mention the Solaris problem.
13562         * doc/posix-functions/ctime_r.texi: Likewise.
13563         * doc/posix-functions/getgrgid_r.texi: Likewise.
13564         * doc/posix-functions/getgrnam_r.texi: Likewise.
13565         * doc/posix-functions/getlogin_r.texi: Likewise.
13566         * doc/posix-functions/getpwnam_r.texi: Likewise.
13567         * doc/posix-functions/getpwuid_r.texi: Likewise.
13568         * doc/posix-functions/readdir_r.texi: Likewise.
13569         * doc/posix-functions/sigwait.texi: Likewise.
13570         * doc/posix-functions/ttyname_r.texi: Likewise.
13571         Reported by Simon Josefsson.
13572
13573 2010-04-25  Bruno Haible  <bruno@clisp.org>
13574
13575         gnulib-tool: Don't include hairy tests of dependencies in testdirs.
13576         * gnulib-tool (func_usage): Document that --with-*-tests options apply
13577         also to --create-testdir.
13578         (func_acceptable): Don't consider the status of *-tests modules here.
13579         (func_modules_transitive_closure): Consider it here, before including a
13580         test module.
13581         (func_import, func_create_testdir): Set inc_all_direct_tests,
13582         inc_all_indirect_tests.
13583         * doc/gnulib.texi (Extra tests modules): Document new behaviour of
13584         --create-testdir and --create-megatestdir.
13585
13586 2010-04-25  Bruno Haible  <bruno@clisp.org>
13587
13588         gnulib-tool: Add --without-*-tests options.
13589         * gnulib-tool (func_usage): Document the --without-*-tests options.
13590         (excl_cxx_tests, excl_longrunning_tests, excl_privileged_tests,
13591         excl_unportable_tests): New variables.
13592         Fail if they are specified with --import or --update.
13593         (func_acceptable): Respect the excl_*_tests variables.
13594         (func_import): Set the excl_*_tests variables to empty.
13595
13596 2010-04-25  Simon Josefsson  <simon@josefsson.org>
13597             Bruno Haible  <bruno@clisp.org>
13598
13599         Work around a MacOS X 10.4 bug with openpty.
13600         * doc/glibc-functions/openpty.texi: Mention the MacOS X 10.4 bug.
13601         * tests/test-openpty.c (main): Close the master side explicitly.
13602
13603 2010-04-25  Bruno Haible  <bruno@clisp.org>
13604
13605         strnlen: Fix a C++ test error on MacOS X and Solaris.
13606         * m4/strnlen.m4 (gl_FUNC_STRNLEN): Don't set REPLACE_STRNLEN to 1 if
13607         the function is not declared.
13608         Reported by Jarno Rajahalme <jarno.rajahalme@nsn.com> and
13609         Simon Josefsson.
13610
13611 2010-04-24  Bruno Haible  <bruno@clisp.org>
13612
13613         Avoid a gcc warning.
13614         * tests/test-vasprintf.c (test_vasprintf, test_asprintf): Pass argument
13615         of correct type for %08lx directive.
13616         Reported by Eric Blake.
13617
13618 2010-04-24  Bruno Haible  <bruno@clisp.org>
13619
13620         vasnprintf: Correct errno value in case of out-of-memory.
13621         * lib/vasnprintf.c (VASNPRINTF): Set errno to 0 before calling SNPRINTF
13622         or sprintf. Use the errno value from SNPRINTF or sprintf.
13623         Reported by Ian Beckwith <ianb@erislabs.net>.
13624
13625 2010-04-24  Bruno Haible  <bruno@clisp.org>
13626
13627         ansi-c++-opt: Find correct compiler when cross-compiling.
13628         * m4/ansi-c++.m4 (gl_PROG_ANSI_CXX): Use AC_CHECK_TOOLS instead of
13629         AC_CHECK_PROGS.
13630         Reported by Simon Josefsson.
13631
13632 2010-04-24  Giuseppe Scrivano  <gscrivano@gnu.org>
13633
13634         vc-list-files: Add support for subversion
13635         * build-aux/vc-list-files: Use "svn list" to generate the list of
13636         files controlled by subversion.
13637
13638 2010-04-23  Jim Meyering  <meyering@redhat.com>
13639
13640         vc-list-files tests: convert to use init.sh
13641         * tests/test-vc-list-files-cvs.sh: Invoke "$srcdir/init.sh" and
13642         path_prepend_.
13643         Use Exit, not exit.
13644         Use skip_ rather than open coding it.
13645         Remove trap set-up and compare definitions.
13646         * tests/test-vc-list-files-git.sh: Likewise.
13647         * modules/vc-list-files-tests (Files): Add tests/init.sh.
13648
13649 2010-04-22  Simon Josefsson  <simon@josefsson.org>
13650
13651         * top/maint.mk (sc_prohibit_backup_files): Prohibit checked in
13652         backup files.
13653
13654 2010-04-21  Simon Josefsson  <simon@josefsson.org>
13655
13656         * tests/test-vasprintf.c (test_vasprintf, test_asprintf): Test %08lx.
13657
13658 2010-04-20  Eric Blake  <eblake@redhat.com>
13659
13660         tests: be robust to ignored SIGPIPE
13661         * tests/test-select-in.sh: Consume all output.
13662         * tests/test-lseek.sh: Check correct exit status, while avoiding
13663         EPIPE.
13664
13665 2010-04-20  Simon Josefsson  <simon@josefsson.org>
13666             Bruno Haible  <bruno@clisp.org>
13667
13668         visibility: Don't use -fvisibility if it leads to a warning.
13669         * m4/visibility.m4 (gl_VISIBILITY): Check whether -Werror is usable. If
13670         yes, don't pretend that visibility works if it leads to a warning.
13671         Reported by Mike Gran <spk121@yahoo.com>.
13672
13673 2010-04-20  Andreas Gruenbacher  <agruen@suse.de>
13674
13675         * build-aux/bootstrap: Use "git -h" for testing for supported options
13676         instead of "git --help".  The short-form option only shows a summary,
13677         and doesn't layout the full man page.  Grep for the full option name
13678         in the summary, too.
13679
13680 2010-04-19  Bruno Haible  <bruno@clisp.org>
13681
13682         relocatable: Drop the need to define RELOCATABLE_STRIP in Makefile.am.
13683         * m4/relocatable.m4 (gl_RELOCATABLE_BODY): Set RELOCATABLE_STRIP.
13684         * doc/relocatable-maint.texi (Supporting Relocation): Remove the
13685         mention of RELOCATABLE_STRIP.
13686         Reported by Sylvain Beucler <beuc@beuc.net>.
13687
13688 2010-04-19  Bruno Haible  <bruno@clisp.org>
13689
13690         * lib/diffseq.h: Fix typo in comment.
13691         Reported by Eric Blake.
13692
13693 2010-04-19  Bruno Haible  <bruno@clisp.org>
13694
13695         ioctl: Move autoconf macro to a .m4 file.
13696         * m4/ioctl.m4: New file, extracted from modules/ioctl.
13697         * modules/ioctl (Files): Add it.
13698         (configure.ac): Simply invoke gl_FUNC_IOCTL.
13699         Reported by Ian Beckwith <ianb@erislabs.net>.
13700
13701 2010-04-18  Andreas Gruenbacher  <agruen@suse.de>
13702             Bruno Haible  <bruno@clisp.org>
13703
13704         diffseq: Accommodate use-case with abstract arrays.
13705         * lib/diffseq.h (struct context): Remove xvec, yvec fields if ELEMENT
13706         is not defined.
13707         (diag, compareseq): Remove local variables xv, yv if ELEMENT is not
13708         defined. Use local macro XREF_YREF_EQUAL instead of EQUAL.
13709
13710 2010-04-18  Bruno Haible  <bruno@clisp.org>
13711
13712         * doc/posix-headers/stdbool.texi: More precise wording.
13713
13714 2010-04-17  Jim Meyering  <meyering@redhat.com>
13715
13716         maint.mk: use gnu-style indentation in an embedded perl script
13717         * top/maint.mk (detect_empty_lines_at_EOF_): Clean up formatting.
13718         Rename variable: s/two/last_two_bytes/
13719
13720 2010-04-16  Eric Blake  <eblake@redhat.com>
13721
13722         test-stdbool: skip test that fails with Solaris CC
13723         * tests/test-stdbool.c (f): Skip test that causes compilation
13724         error under buggy C++ compiler.
13725         * lib/stdbool.in.h: Document the limitation.
13726         * doc/posix-headers/stdbool.texi (stdbool.h): Likewise.
13727
13728         setenv: allow compilation with C++
13729         * lib/setenv.c (__add_to_environ): Add a cast.  Also, drop use of
13730         register keyword.
13731
13732         stdint: allow test to pass with C++
13733         * tests/test-stdint.c: Define __STDC_CONSTANT_MACROS, for glibc.
13734
13735         getopt: allow compilation with C++
13736         * lib/getopt_int.h (__ordering): Hoist enum declaration outside
13737         struct.
13738         * lib/getopt.c (_getopt_internal_r): Use correct type.
13739         Reported by Dagobert Michelson, via Joel E. Denny.
13740
13741 2010-04-16  Bruno Haible  <bruno@clisp.org>
13742
13743         Override netdb.h always.
13744         * modules/netdb (Makefile.am): Augment BUILT_SOURCES always.
13745         * m4/netdb_h.m4 (gl_HEADER_NETDB): Don't set NETDB_H.
13746         Reported by Ludovic Courtès <ludo@gnu.org>.
13747
13748 2010-04-15  Bruno Haible  <bruno@clisp.org>
13749
13750         openpty: Fix mistake from 2010-03-21.
13751         * m4/pty.m4 (gl_FUNC_OPENPTY): Define HAVE_OPENPTY when openpty exists.
13752         Reported by Simon Josefsson.
13753
13754 2010-04-15  Eric Blake  <eblake@redhat.com>
13755
13756         test-forkpty: fix expected signature
13757         * tests/test-forkpty.c (SIGNATURE_CHECK): Add appropriate const.
13758         Reported by Simon Josefsson.
13759
13760 2010-04-15  Jim Meyering  <meyering@redhat.com>
13761
13762         maint.mk: texinfo_suffix_re_: correct the default regexp
13763         * top/maint.mk (texinfo_suffix_re_): Fix default regexp.
13764
13765         * top/maint.mk (sc_texinfo_acronym): Improve filename regexp, and
13766         make it configurable via texinfo_suffix_re_.
13767
13768 2010-04-14  Eric Blake  <eblake@redhat.com>
13769
13770         strtok_r: relax license to LGPLv2+
13771         * modules/strtok_r (License): Relax license.
13772         Reported by Matthias Bolte.
13773
13774 2010-04-14  Simon Josefsson  <simon@josefsson.org>
13775
13776         * lib/gc-libgcrypt.c (gc_init): Use MIN_GCRYPT_VERSION set to
13777         version 1.4.4 by default instead of requiring the libgcrypt
13778         version used during build.  This makes it possible to use the
13779         application with older but still binary compatible libgcrypt
13780         versions.
13781
13782 2010-04-13  Eric Blake  <eblake@redhat.com>
13783
13784         getopt-gnu: match recent glibc fixes and posix ruling
13785         * tests/test-getopt.h (test_getopt): Strengthen tests of leading
13786         '+' handling, when requesting extensions.
13787         * tests/test-getopt_long.h (test_getopt_long): Strengthen test of
13788         'W;' handling.
13789         * m4/getopt.m4 (gl_GETOPT_CHECK_HEADERS): Detect glibc 2.11 bug.
13790         * doc/posix-functions/getopt.texi (getopt): Document this.
13791         * doc/glibc-functions/getopt_long.texi (getopt_long): Likewise.
13792         * doc/glibc-functions/getopt_long_only.texi (getopt_long_only):
13793         Likewise.
13794
13795         getopt: merge bug fixes from glibc
13796         * lib/getopt.c (_getopt_internal_r): Use correct message for 'W;'
13797         diagnostics.  Honor '+:' correctly.  Reject ';'.
13798
13799         getopt-posix: detect MacOS bug
13800         * m4/getopt.m4 (gl_GETOPT_CHECK_HEADERS): Reject MacOS botch of
13801         optind when missing a required argument.
13802         * doc/posix-functions/getopt.texi (getopt): Document the bug.
13803         * doc/glibc-functions/getopt_long.texi (getopt_long): Likewise.
13804         * doc/glibc-functions/getopt_long_only.texi (getopt_long_only):
13805         Likewise.
13806
13807         getopt-posix: avoid spurious failure on Solaris
13808         * m4/getopt.m4 (gl_GETOPT_CHECK_HEADERS): Check for getopt_clip as
13809         an indicator that setting optind=1 is sufficient for reset.
13810
13811         getopt-posix: avoid spurious failure on FreeBSD
13812         * m4/getopt.m4 (gl_GETOPT_CHECK_HEADERS): Check for optreset even
13813         in POSIX mode, since the m4 test uses it.
13814
13815         gnulib-tool: silence warning on BSD sh
13816         * gnulib-tool: Avoid leaking warning about unknown 'declare'.
13817
13818 2010-04-13  Jim Meyering  <meyering@redhat.com>
13819
13820         doc: users.txt: GNU patch now uses gnulib
13821         * users.txt: Add patch.
13822
13823 2010-04-12  Jim Meyering  <meyering@redhat.com>
13824
13825         maint.mk: generate more concise timing data for syntax-check rules
13826         * top/maint.mk ($(sc_z_rules_)): Remove the ":", "sc_" prefix and
13827         " done" from each line that reports a syntax-check test duration.
13828
13829 2010-04-12  Andreas Gruenbacher  <agruen@suse.de>
13830
13831         git-version-gen: use "git update-index..." rather than "git status"
13832         * build-aux/git-version-gen: Use git update-index --refresh, not
13833         "git status".  With some versions of git, "git status" would fail
13834         to update the index and result in an unwarranted "-dirty" suffix.
13835
13836 2010-04-11  Jim Meyering  <meyering@redhat.com>
13837
13838         openat: correct formatting (no semantic change)
13839         * m4/openat.m4 (gl_FUNC_FCHOWNAT): Correct formatting in AC_DEFINE.
13840         Suggested by Bruno Haible.
13841
13842 2010-04-11  Bruno Haible  <bruno@clisp.org>
13843
13844         Stricter declaration checking in testdirs.
13845         * gnulib-tool (func_emit_lib_Makefile_am, func_emit_tests_Makefile_am):
13846         If for_tests is true, augment AM_CPPFLAGS to define
13847         GNULIB_STRICT_CHECKING.
13848         * build-aux/warn-on-use.h (_GL_WARN_ON_USE, _GL_WARN_ON_USE_CXX): When
13849         GNULIB_STRICT_CHECKING is defined, verify that the function is
13850         declared.
13851
13852 2010-04-11  Paolo Bonzini  <bonzini@gnu.org>
13853             Bruno Haible  <bruno@clisp.org>
13854
13855         libunistring: Improve configure output.
13856         * m4/libunistring.m4 (gl_LIBUNISTRING): Check for libiconv first.
13857         Don't say "consider installing GNU libunistring" when checking again
13858         with libiconv.
13859
13860 2010-04-11  Bruno Haible  <bruno@clisp.org>
13861
13862         libunistring: Correct value of $LTLIBUNISTRING.
13863         * m4/libunistring.m4 (gl_LIBUNISTRING): When it depends on libiconv,
13864         correct the value of $LTLIBUNISTRING.
13865
13866 2010-04-11  Bruno Haible  <bruno@clisp.org>
13867
13868         havelib: Add static libraries to LIBS in the right order.
13869         * m4/lib-link.m4 (AC_LIB_HAVE_LINKFLAGS): When $LIB[]NAME contains no
13870         -l options, prepend it to $LIBS, instead of appending it to $LIBS.
13871
13872 2010-04-11  Bruno Haible  <bruno@clisp.org>
13873
13874         libunistring: Detect libunistring also when it depends on libiconv.
13875         * m4/libunistring.m4 (gl_LIBUNISTRING): Unset the cached result before
13876         the second AC_LIB_HAVE_LINKFLAGS invocation.
13877
13878 2010-04-11  James Youngman  <jay@gnu.org>
13879
13880         close-stream: declare local scalars to be "const"
13881         * lib/close-stream.c (close_stream): Make boolean variables const
13882         to document the fact that we set but do not change them.
13883
13884 2010-04-11  Bruno Haible  <bruno@clisp.org>
13885
13886         * m4/libunistring.m4 (gl_LIBUNISTRING): Fix typo in comment.
13887
13888 2010-04-11  Jim Meyering  <meyering@redhat.com>
13889
13890         maint.mk: don't include dist-check.mk
13891         * top/maint.mk: Remove bogus include directive.
13892
13893         maint.mk: improve empty-line-at-EOF check
13894         * top/maint.mk (sc_prohibit_empty_lines_at_EOF): Use Perl-based
13895         solution, rather than tail+Perl-based one.  The latter would read
13896         a few kilobytes from the end of each file, and did not handle empty
13897         files properly.
13898
13899         maint.mk: print the elapsed time for each syntax-check rule
13900         * top/maint.mk (sc_m_rules_): Save start time in a file.
13901         (sc_z_rules_): New rules: remove temp file and print elapsed time.
13902         (local-check): Interpose the .z rules
13903
13904 2010-04-11  Jim Meyering  <meyering@redhat.com>
13905
13906         maint.mk: detect_empty_lines_at_EOF_: avoid FP for an empty file
13907         * top/maint.mk (detect_empty_lines_at_EOF_): Don't confuse an
13908         empty file with one that ends in an empty line.
13909
13910 2010-04-10  Bruno Haible  <bruno@clisp.org>
13911
13912         mkdir: Make it work on mingw64.
13913         * lib/sys_stat.in.h: Include <direct.h> together with <io.h>.
13914         * lib/mkdir.c: Update comment.
13915         Reported by Roman Donchenko (Роман Ð”онченко) <dxdragon@yandex.ru>.
13916
13917 2010-04-10  Bruno Haible  <bruno@clisp.org>
13918
13919         Don't override improved macro from newer autoconf.
13920         * m4/gnulib-common.m4 (AC_C_RESTRICT): Don't define for
13921         autoconf >= 2.62.
13922         Reported by Joel E. Denny <jdenny@clemson.edu>.
13923
13924 2010-04-10  Jim Meyering  <meyering@redhat.com>
13925
13926         maint.mk: new syntax-check rule: prohibit empty lines at end of file
13927         * top/maint.mk (sc_prohibit_empty_lines_at_EOF): New rule.
13928
13929         maint.mk: correct a diagnostic
13930         * top/maint.mk (sc_prohibit_HAVE_MBRTOWC): Fix obsolete use of $re
13931         in diagnostic; now use $prohibit.
13932
13933 2010-04-10  Bruno Haible  <address@hidden>
13934
13935         fchownat: Fix a C++ test error on Solaris 8.
13936         * m4/openat.m4 (gl_FUNC_FCHOWNAT): Don't set REPLACE_FCHOWNAT to 1 if
13937         the function does not exist.
13938
13939 2010-04-10  Bruno Haible  <bruno@clisp.org>
13940
13941         vasnprintf: Add more tests.
13942         * tests/test-vasnprintf-posix.c: Include <errno.h>.
13943         (test_function): Test converting an invalid wide string.
13944
13945         vasnprintf: Correct handling of unconvertible wide string arguments.
13946         * lib/vasnprintf.c (MAX_ROOM_NEEDED): New function, extracted from
13947         VASNPRINTF.
13948         (VASNPRINTF): Use it. After snprintf failed, allocate more memory only
13949         if HAVE_SNPRINTF_RETVAL_C99 is false and the allocated memory is
13950         smaller than the expected maximum need for the directive. Set errno to
13951         EILSEQ, not EINVAL, when the directive is 'c' or 's'.
13952         (local_strnlen, local_wcslen, local_wcsnlen): Update conditions.
13953         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF): Require AC_C_INLINE and
13954         gl_SNPRINTF_RETVAL_C99. Define HAVE_SNPRINTF_RETVAL_C99.
13955         * modules/vasnprintf (Files): Add m4/printf.m4.
13956         Reported by Jarno Rajahalme <jarno.rajahalme@nsn.com>.
13957
13958 2010-04-10  Bruno Haible  <bruno@clisp.org>
13959
13960         vasnprintf: Fix crash in %ls directive.
13961         * lib/vasnprintf.c (VASNPRINTF): Don't abort when a unconvertible wide
13962         string is passed as argument to %ls, with no precision and no width.
13963         Reported by Jarno Rajahalme <jarno.rajahalme@nsn.com>.
13964
13965 2010-04-10  Bruno Haible  <bruno@clisp.org>
13966
13967         vasnprintf: Fix multiple test failures on mingw.
13968         * lib/vasnprintf.c (SNPRINTF) [mingw]: Define to snprintf, not
13969         _snprintf, or snwprintf, not _snwprintf.
13970
13971 2010-04-10  Bruno Haible  <bruno@clisp.org>
13972
13973         write: Fix a C++ test error on mingw.
13974         * lib/unistd.in.h (write): Use _GL_CXXALIAS_SYS_CAST.
13975
13976 2010-04-10  Bruno Haible  <bruno@clisp.org>
13977
13978         vasnprintf test: Reduce code duplication.
13979         * tests/test-vasnprintf.c (test_function): New function, extracted from
13980         test_vasnprintf.
13981         (test_vasnprintf, test_asnprintf): Invoke it.
13982
13983 2010-04-10  Bruno Haible  <bruno@clisp.org>
13984
13985         strnlen: Fix warning in C++ mode on MacOS X.
13986         * lib/string.in.h (strnlen): Use the modern idiom.
13987         * m4/strnlen.m4 (gl_FUNC_STRNLEN): Set REPLACE_STRNLEN to 1, instead of
13988         defining strnlen as a macro already in <config.h>.
13989         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Initialize
13990         REPLACE_STRNLEN.
13991         * modules/string (Makefile.am): Substitute REPLACE_STRNLEN.
13992         Reported by Jarno Rajahalme <jarno.rajahalme@nsn.com>.
13993
13994 2010-04-08  James Youngman  <jay@gnu.org>
13995
13996         * doc/manywarnings.texi (manywarnings): Add missing parenthesis in
13997         the example.
13998
13999 2010-04-09  Jim Meyering  <meyering@redhat.com>
14000
14001         maint.mk: print better diagnostic when there is no $(_hv_file)
14002         * top/maint.mk (sc_cross_check_PATH_usage_in_tests): Skip test and
14003         announce that when $(_hv_file) (aka help-version) does not exist.
14004
14005         init.sh: run tr in the "C" locale to avoid multibyte interpretation
14006         * tests/init.sh (rand_bytes_): Run tr in the "C" locale so it does
14007         not try to interpret its random input bytes.  Jarno Rajahalme reported
14008         that ./test-xalloc-die.sh would fail with "tr: Illegal byte sequence".
14009         on Darwin 10.3.0 with LC_CTYPE=UTF-8.
14010         (mktempd_): Likewise, just in case.
14011
14012         ftruncate: add two years to projected module removal date: 2012
14013         * m4/ftruncate.m4: Adjust comments.
14014
14015         ftruncate: mark module as obsolete; even MinGW provides it, now
14016         * modules/ftruncate (Status): Obsolete.
14017         (Notice): Say that.
14018         * doc/posix-functions/ftruncate.texi: Don't say MinGW lacks it.
14019         http://thread.gmane.org/gmane.comp.lib.gnulib.bugs/9203
14020
14021 2010-04-08  Bruno Haible  <bruno@clisp.org>
14022
14023         Fix side effects from tests-related modules.
14024         * modules/dprintf-posix (Comment): New section.
14025         * modules/fprintf-posix (Comment): Likewise.
14026         * modules/obstack-printf-posix (Comment): Likewise.
14027         * modules/printf-posix (Comment): Likewise.
14028         * modules/snprintf-posix (Comment): Likewise.
14029         * modules/sprintf-posix (Comment): Likewise.
14030         * modules/vasnprintf-posix (Comment): Likewise.
14031         * modules/vasprintf-posix (Comment): Likewise.
14032         * modules/vdprintf-posix (Comment): Likewise.
14033         * modules/vfprintf-posix (Comment): Likewise.
14034         * modules/vprintf-posix (Comment): Likewise.
14035         * modules/vsnprintf-posix (Comment): Likewise.
14036         * modules/vsprintf-posix (Comment): Likewise.
14037         * modules/xprintf-posix (Comment): Likewise.
14038         * modules/xvasprintf-posix (Comment): Likewise.
14039         * modules/ceilf-tests (Depends-on): Remove fprintf-posix.
14040         * modules/floorf-tests (Depends-on): Likewise.
14041         * modules/round-tests (Depends-on): Likewise.
14042         * modules/roundf-tests (Depends-on): Likewise.
14043         * modules/trunc-tests (Depends-on): Likewise.
14044         * modules/truncf-tests (Depends-on): Likewise.
14045         * tests/test-ceilf2.c (check): Don't invoke fprintf if the
14046         'fprintf-posix' module is not present.
14047         * tests/test-floorf2.c (check): Likewise.
14048         * tests/test-trunc2.c (check): Likewise.
14049         * tests/test-truncf2.c (check): Likewise.
14050         * tests/test-round2.c (equal): Likewise.
14051         Reported by Jarno Rajahalme <jarno.rajahalme@nsn.com>.
14052
14053 2010-04-07  Karl Berry  <karl@gnu.org>
14054
14055         * config/srclist.txt,
14056         * config/srclistvars.sh,
14057         * config/srclist-update: doc fixes.
14058
14059 2010-04-07  Jim Meyering  <meyering@redhat.com>
14060
14061         maint.mk: add a PATH crosschecking syntax-check rule
14062         * top/maint.mk (sc_cross_check_PATH_usage_in_tests): New rule.
14063         Useful if you use a test like the one in help-version (coreutils,
14064         diffutils, grep, gzip) that ensures $(VERSION) matches what is
14065         printed by prog --version.
14066
14067 2010-04-06  Bruno Haible  <bruno@clisp.org>
14068
14069         Fix link error on mingw.
14070         * modules/unistd-c++-tests (test_unistd_c___LDADD): Add LIBSOCKET.
14071         * modules/fcntl-h-c++-tests (test_fcntl_h_c___LDADD): Likewise.
14072
14073 2010-04-06  Bruno Haible  <bruno@clisp.org>
14074
14075         Assume rmdir exists.
14076         * lib/rmdir.c (rpl_rmdir): Remove code that invokes the rmdir program.
14077
14078 2010-04-06  Giuseppe Scrivano <gscrivano@gnu.org>
14079
14080         doc: update users.txt
14081         * users.txt: Add gcal.
14082
14083 2010-04-06  Jim Meyering  <meyering@redhat.com>
14084
14085         init.sh: simply unset TMPDIR rather than risking env -i
14086         * tests/init.sh (mktempd_): Using env -i is rather harsh, and
14087         although it probably works fine on all Unix-based systems, some
14088         systems (Cygwin?) cannot tolerate a totally cleared environment.
14089         Suggestion from Eric Blake.
14090
14091 2010-04-06  Jim Meyering  <meyering@redhat.com>
14092
14093         init.sh: portability fix: use env's POSIX-specified -i option not -u
14094         * tests/init.sh (mktempd_): Use env -i and set PATH explicitly rather
14095         than unportable env -u.  Solaris 5.11's env lacks support for -u.
14096
14097 2010-04-05  Bruno Haible  <bruno@clisp.org>
14098
14099         btowc: Work around Cygwin 1.7.2 bug.
14100         * m4/btowc.m4 (gl_FUNC_BTOWC): Set REPLACE_BTOWC to 1 if the function
14101         does not map NUL to 0.
14102         * doc/posix-functions/btowc.texi: Mention the Cygwin bug.
14103
14104 2010-04-05  Bruno Haible  <bruno@clisp.org>
14105
14106         Make the multithread modules work on Cygwin 1.7.2.
14107         * m4/threadlib.m4 (gl_THREADLIB_BODY): Improve the test whether
14108         imported symbols can be declared weak, so that it returns "no" on
14109         Cygwin 1.7.2.
14110
14111 2010-04-05  Bruno Haible  <bruno@clisp.org>
14112
14113         Use the module 'strncat'.
14114         * modules/unistr/u8-strncat (Depends-on): Add strncat.
14115
14116         Tests for module 'strncat'.
14117         * modules/strncat-tests: New file.
14118         * tests/test-strncat.c: New file.
14119
14120         New module 'strncat'.
14121         * lib/string.in.h (strncat): New declaration.
14122         * lib/strncat.c: New file, based on lib/unistr/u-strncat.h.
14123         * m4/strncat.m4: New file, based on m4/memchr.m4.
14124         * modules/strncat: New file.
14125         * m4/string_h.m4 (gl_HEADER_STRING_H_BODY): Also check whether strncat
14126         is declared.
14127         (gl_HEADER_STRING_H_DEFAULTS): Initialize GNULIB_STRNCAT,
14128         REPLACE_STRNCAT.
14129         * modules/string (Makefile.am): Substitute GNULIB_STRNCAT,
14130         REPLACE_STRNCAT.
14131         * doc/posix-functions/strncat.texi: Mention the Solaris bug and the new
14132         module.
14133         * tests/test-string-c++.cc: Check signature of strncat.
14134
14135 2010-04-05  Jim Meyering  <meyering@redhat.com>
14136
14137         xstrtoumax-tests: convert to use init.sh
14138         * modules/xstrtoumax-tests (Files): Add tests/init.sh.
14139         * tests/test-xstrtoumax.sh: Invoke "$srcdir/init.sh" and path_prepend_.
14140         Use Exit, not exit.
14141         Remove uses of $EXEEXT and "./" to run a program in the current dir.
14142
14143         xstrtoimax-tests: convert to use init.sh
14144         * modules/xstrtoimax-tests (Files): Add tests/init.sh.
14145         * tests/test-xstrtoimax.sh: Invoke "$srcdir/init.sh" and path_prepend_.
14146         Use Exit, not exit.
14147         Remove uses of $EXEEXT and "./" to run a program in the current dir.
14148
14149 2010-04-05  Bruno Haible  <bruno@clisp.org>
14150
14151         sys_socket: Avoid #define replacements in C++ mode.
14152         * lib/sys_socket.in.h (close, gethostname, select): In C++, attach a
14153         warning to the function if possible, rather than #defining the symbol
14154         to a dysfunctional alias.
14155
14156 2010-04-05  Bruno Haible  <bruno@clisp.org>
14157
14158         fseeko: Fix C++ test error on mingw.
14159         * m4/fseeko.m4 (gl_HAVE_FSEEKO): New macro, extracted from
14160         gl_FUNC_FSEEKO.
14161         (gl_REPLACE_FSEEKO): Also set REPLACE_FSEEKO if appropriate.
14162         (gl_FUNC_FSEEKO): Require gl_HAVE_FSEEKO. Update.
14163         * m4/fflush.m4 (gl_REPLACE_FFLUSH): Don't fiddle with internals of the
14164         fseeko module. Instead, invoke gl_REPLACE_FSEEKO.
14165
14166 2010-04-05  Bruno Haible  <bruno@clisp.org>
14167
14168         duplocale: Improve test output.
14169         * tests/test-duplocale.c (main): Print reason for skipped test.
14170
14171 2010-04-05  Bruno Haible  <bruno@clisp.org>
14172
14173         Assume rmdir exists.
14174         * m4/rmdir.m4 (gl_FUNC_RMDIR): Remove test whether rmdir exists.
14175         * doc/posix-functions/rmdir.texi: Remove mention of "old platforms".
14176
14177 2010-04-05  Bruno Haible  <bruno@clisp.org>
14178
14179         Fix link error on Solaris 8 with cc.
14180         * modules/pty-c++-tests (test_pty_c___LDADD): Add LIBINTL.
14181
14182 2010-04-05  Bruno Haible  <bruno@clisp.org>
14183
14184         frexpl: Fix a C++ test error on Solaris 8 and Cygwin.
14185         * lib/math.in.h (frexpl): Fix condition on _GL_CXXALIASWARN invocation.
14186
14187 2010-04-05  Bruno Haible  <bruno@clisp.org>
14188
14189         vasprintf: Update documentation.
14190         * doc/glibc-functions/asprintf.texi: Mention the 'vasprintf' module.
14191
14192 2010-04-05  Bruno Haible  <bruno@clisp.org>
14193
14194         ptsname: Improve test.
14195         * tests/test-ptsname.c (main): Also try the various master names of BSD
14196         systems.
14197
14198 2010-04-05  Bruno Haible  <bruno@clisp.org>
14199
14200         memchr: Avoid a possible C++ test error.
14201         * lib/string.in.h (memchr): Provide declaration if function is missing.
14202         * m4/memchr.m4 (gl_FUNC_MEMCHR): If the function is missing, set
14203         HAVE_MEMCHR to 0, not REPLACE_MEMCHR to 1.
14204         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Initialize HAVE_MEMCHR.
14205         * modules/string (Makefile.am): Substitute HAVE_MEMCHR.
14206
14207 2010-04-05  Bruno Haible  <bruno@clisp.org>
14208
14209         strtok_r: Improve idiom.
14210         * m4/strtok_r.m4 (gl_FUNC_STRTOK_R): Invoke gl_PREREQ_STRDUP only when
14211         AC_LIBOBJ is used.
14212
14213 2010-04-05  Bruno Haible  <bruno@clisp.org>
14214
14215         strdup: Improve idiom.
14216         * m4/strdup.m4 (gl_FUNC_STRDUP): Invoke gl_PREREQ_STRDUP only when
14217         AC_LIBOBJ is used.
14218         (gl_FUNC_STRDUP_POSIX): When strdup is missing and malloc is not POSIX
14219         compliant, don't set REPLACE_STRDUP to 1. Invoke gl_PREREQ_STRDUP only
14220         when AC_LIBOBJ is used.
14221
14222 2010-04-05  Bruno Haible  <bruno@clisp.org>
14223
14224         mbsinit, mbrtowc, wcrtomb: Improve idioms.
14225         * m4/mbsinit.m4 (gl_FUNC_MBSINIT): When the function does not exist,
14226         don't set REPLACE_MBSINIT to 1.
14227         * m4/mbrtowc.m4 (gl_FUNC_MBRTOWC): When the function does not exist,
14228         don't set REPLACE_MBRTOWC to 1.
14229         * m4/mbsrtowcs.m4 (gl_FUNC_MBSRTOWCS): When the function does not
14230         exist, don't set REPLACE_MBSRTOWCS to 1.
14231         * m4/mbsnrtowcs.m4 (gl_FUNC_MBSNRTOWCS): When the function does not
14232         exist, don't set REPLACE_MBSNRTOWCS to 1.
14233         * m4/wcrtomb.m4 (gl_FUNC_WCRTOMB): When the function does not exist,
14234         don't set REPLACE_WCRTOMB to 1.
14235         * m4/wcsrtombs.m4 (gl_FUNC_WCSRTOMBS): When the function does not
14236         exist, don't set REPLACE_WCSRTOMBS to 1.
14237         * m4/wcsnrtombs.m4 (gl_FUNC_WCSNRTOMBS): When the function does not
14238         exist, don't set REPLACE_WCSNRTOMBS to 1.
14239
14240 2010-04-05  Bruno Haible  <bruno@clisp.org>
14241
14242         ldexpl: Improve idiom.
14243         * m4/ldexpl.m4 (gl_FUNC_LDEXPL): When the function is not declared,
14244         make sure to set HAVE_DECL_LDEXPL to 0.
14245
14246 2010-04-05  Jim Meyering  <meyering@redhat.com>
14247
14248         xstrtol-tests: convert to use init.sh
14249         * modules/xstrtol-tests (Files): Add tests/init.sh.
14250         * tests/test-xstrtol.sh: Invoke "$srcdir/init.sh" and path_prepend_.
14251         Use Exit, not exit.
14252         Remove uses of $EXEEXT and "./" to run a program in the current dir.
14253
14254         atexit-tests: convert to use init.sh
14255         * modules/atexit-tests (Files): Add tests/init.sh.
14256         * tests/test-atexit.sh: Invoke "$srcdir/init.sh" and path_prepend_.
14257         Use Exit, not exit.
14258         Remove uses of $EXEEXT and "./" to run a program in the current dir.
14259
14260         init.sh: fix typo
14261         * tests/init.sh: Restore omitted ":" before stderr_fileno_ initialization.
14262
14263         init.sh: make it easier for a test script to write to the tty, ...
14264         when using automake's parallel-tests mode.
14265         * tests/init.sh (stderr_fileno_): Define overridable variable.
14266         (warn_): New function, to use it.
14267         (fail_, skip_, framework_failure_): Use warn_.
14268
14269 2010-04-04  Bruno Haible  <bruno@clisp.org>
14270
14271         btowc: Avoid warning.
14272         * lib/btowc.c: Include <stdlib.h>.
14273         Reported by Hauke Fath <hauke@espresso.rhein-neckar.de>.
14274
14275 2010-04-04  Hauke Fath  <hauke@espresso.rhein-neckar.de>  (tiny change)
14276             Bruno Haible  <bruno@clisp.org>
14277
14278         wchar: Port to NetBSD 1.5.
14279         * lib/wchar.in.h (WEOF): Provide fallback also when wint_t exists.
14280         * lib/wctype.in.h (WEOF): Likewise.
14281
14282 2010-04-04  Hauke Fath  <hauke@espresso.rhein-neckar.de>  (tiny change)
14283             Bruno Haible  <bruno@clisp.org>
14284
14285         Port extended stdio to NetBSD 1.5.
14286         * lib/stdio-impl.h [NetBSD]: Include <sys/param.h>.
14287         (struct __sfileext, fp_ub): Define the "old way" for NetBSD 1.5Z and
14288         older.
14289
14290 2010-04-04  Bruno Haible  <bruno@clisp.org>
14291
14292         string: Remove unused substitution.
14293         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Don't initialize
14294         HAVE_DECL_STRERROR.
14295         * modules/string (Makefile.am): Don't substitute HAVE_DECL_STRERROR.
14296
14297 2010-04-04  Bruno Haible  <bruno@clisp.org>
14298
14299         strtod: Avoid a possible C++ test error.
14300         * m4/strtod.m4 (gl_FUNC_STRTOD): When setting HAVE_STRTOD to 0, don't
14301         set REPLACE_STRTOD.
14302
14303 2010-04-04  Bruno Haible  <bruno@clisp.org>
14304
14305         strerror: Update documentation.
14306         * doc/posix-functions/strerror.texi: Remove mention of old platforms.
14307
14308 2010-04-04  Bruno Haible  <bruno@clisp.org>
14309
14310         stdio: Fix some C++ test errors on Solaris 8 with GCC.
14311         * lib/stdio.in.h (vdprintf, vfprintf, vprintf, vsprintf): Use
14312         _GL_CXXALIAS_SYS_CAST.
14313
14314 2010-04-04  Bruno Haible  <bruno@clisp.org>
14315
14316         frexpl: Fix a C++ test error on Solaris 8 and Cygwin.
14317         * m4/frexpl.m4 (gl_FUNC_FREXPL, gl_FUNC_FREXPL_NO_LIBM): When the
14318         function is not declared, set HAVE_DECL_FREXPL to 0, instead of setting
14319         REPLACE_FREXPL to 1.
14320         * doc/posix-functions/frexpl.texi: Update documentation.
14321
14322 2010-04-04  Bruno Haible  <bruno@clisp.org>
14323
14324         math: Fix some C++ test errors on Solaris 8 and Cygwin.
14325         * lib/math.in.h (cosl, logl, sinl): Use simpler idiom.
14326
14327 2010-04-04  Bruno Haible  <bruno@clisp.org>
14328
14329         Implement nanosleep for native Windows.
14330         * lib/nanosleep.c (nanosleep): New implementation for native Windows.
14331
14332 2010-04-04  Bruno Haible  <bruno@clisp.org>
14333
14334         math: Fix some C++ test errors on Solaris 8.
14335         * lib/math.in.h (truncf, trunc): Use simpler idiom.
14336
14337 2010-04-04  Bruno Haible  <bruno@clisp.org>
14338
14339         math: Fix some C++ test errors on Cygwin.
14340         * lib/math.in.h (ceilf, ceill, floorf, floorl, roundf, round, roundl,
14341         truncl): Provide declaration if the system does not have it.
14342         * m4/ceilf.m4 (gl_FUNC_CEILF): If the function is not declared, set
14343         HAVE_DECL_CEILF to 0, not REPLACE_CEILF to 1.
14344         * m4/ceill.m4 (gl_FUNC_CEILL): If the function is not declared, set
14345         HAVE_DECL_CEILL to 0, not REPLACE_CEILL to 1.
14346         * m4/floorf.m4 (gl_FUNC_FLOORF): If the function is not declared, set
14347         HAVE_DECL_FLOORF to 0, not REPLACE_FLOORF to 1.
14348         * m4/floorl.m4 (gl_FUNC_FLOORL): If the function is not declared, set
14349         HAVE_DECL_FLOORL to 0, not REPLACE_FLOORL to 1.
14350         * m4/round.m4 (gl_FUNC_ROUND): If the function is not declared, set
14351         HAVE_DECL_ROUND to 0, not REPLACE_ROUND to 1.
14352         * m4/roundf.m4 (gl_FUNC_ROUNDF): If the function is not declared, set
14353         HAVE_DECL_ROUNDF to 0, not REPLACE_ROUNDF to 1.
14354         * m4/roundl.m4 (gl_FUNC_ROUNDL): If the function is not declared, set
14355         HAVE_DECL_ROUNDL to 0, not REPLACE_ROUNDL to 1.
14356         * m4/truncl.m4 (gl_FUNC_TRUNCL): If the function is not declared, set
14357         HAVE_DECL_TRUNCL to 0, not REPLACE_TRUNCL to 1.
14358         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize HAVE_DECL_CEILF,
14359         HAVE_DECL_CEILL, HAVE_DECL_FLOORF, HAVE_DECL_FLOORL, HAVE_DECL_ROUND,
14360         HAVE_DECL_ROUNDF, HAVE_DECL_ROUNDL, HAVE_DECL_TRUNCL.
14361         * modules/math (Makefile.am): Substitute HAVE_DECL_CEILF,
14362         HAVE_DECL_CEILL, HAVE_DECL_FLOORF, HAVE_DECL_FLOORL, HAVE_DECL_ROUND,
14363         HAVE_DECL_ROUNDF, HAVE_DECL_ROUNDL, HAVE_DECL_TRUNCL.
14364
14365 2010-04-04  Bruno Haible  <bruno@clisp.org>
14366
14367         * m4/ceilf.m4 (gl_FUNC_CEILF): Remove redundant AC_SUBST invocation.
14368         * m4/ceill.m4 (gl_FUNC_CEILL): Likewise.
14369         * m4/floorf.m4 (gl_FUNC_FLOORF): Likewise.
14370         * m4/floorl.m4 (gl_FUNC_FLOORL): Likewise.
14371         * m4/isfinite.m4 (gl_ISFINITE): Likewise.
14372         * m4/isinf.m4 (gl_ISINF): Likewise.
14373         * m4/truncl.m4 (gl_FUNC_TRUNCL): Likewise.
14374
14375 2010-04-04  Bruno Haible  <bruno@clisp.org>
14376
14377         * m4/trunc.m4 (gl_FUNC_TRUNC): Remove redundant AC_SUBST invocation.
14378         * m4/truncf.m4 (gl_FUNC_TRUNCF): Likewise.
14379
14380 2010-04-04  Bruno Haible  <bruno@clisp.org>
14381
14382         * m4/tmpfile.m4 (gl_FUNC_TMPFILE): Renamed from gl_TMPFILE.
14383         * modules/tmpfile (configure.ac): Update.
14384
14385         tmpfile: Fix C++ test error on mingw.
14386         * lib/stdio.in.h (tmpfile): New declaration.
14387         * m4/tmpfile.m4 (gl_TMPFILE): Require gl_STDIO_H_DEFAULTS. Set
14388         REPLACE_TMPFILE instead of defining tmpfile as a macro in config.h.
14389         * modules/tmpfile (Depends-on): Add stdio.
14390         (configure.ac): Invoke gl_STDIO_MODULE_INDICATOR.
14391         * m4/stdio_h.m4 (gl_STDIO_H): Also check whether tmpfile is declared.
14392         (gl_STDIO_H_DEFAULTS): Initialize GNULIB_TMPFILE and REPLACE_TMPFILE.
14393         * modules/stdio (Makefile.am): Substitute GNULIB_TMPFILE and
14394         REPLACE_TMPFILE.
14395         * tests/test-stdio-c++.cc (tmpfile): Verify signature.
14396
14397 2010-04-04  Bruno Haible  <bruno@clisp.org>
14398
14399         ioctl: Fix C++ test error on mingw.
14400         * lib/ioctl.c (ioctl): Renamed from rpl_ioctl.
14401         * lib/sys_ioctl.in.h (ioctl): When SYS_IOCTL_H_HAVE_WINSOCK2_H is 1,
14402         use _GL_FUNCDECL_SYS, not _GL_FUNCDECL_RPL.
14403
14404 2010-04-03  Bruno Haible  <bruno@clisp.org>
14405
14406         wcwidth: Fix C++ test error on mingw.
14407         * lib/wcwidth.c (wcwidth): Renamed from rpl_wcwidth.
14408         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): If the wcwidth function does not
14409         exist, don't set REPLACE_WCWIDTH. Instead, rely on HAVE_DECL_WCWIDTH.
14410
14411 2010-04-03  Bruno Haible  <bruno@clisp.org>
14412
14413         nanosleep: Fix C++ test error on mingw.
14414         * lib/nanosleep.c (nanosleep): Renamed from rpl_nanosleep.
14415         * lib/time.in.h (nanosleep): Use modern idiom.
14416         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP): When the system does not have a
14417         nanosleep function, set HAVE_NANOSLEEP to 0, instead of setting
14418         REPLACE_NANOSLEEP to 1.
14419         * m4/time_h.m4 (gl_HEADER_TIME_H_DEFAULTS): Initialize HAVE_NANOSLEEP.
14420         * modules/time (Makefile.am): Substitute HAVE_NANOSLEEP.
14421
14422 2010-04-03  Bruno Haible  <bruno@clisp.org>
14423
14424         strptime: Fix C++ test error on mingw.
14425         * lib/time.in.h (strptime): Use HAVE_STRPTIME, not REPLACE_STRPTIME.
14426         * m4/strptime.m4 (gl_FUNC_STRPTIME): Set HAVE_STRPTIME, not
14427         REPLACE_STRPTIME. Invoke gl_PREREQ_STRPTIME.
14428         (gl_PREREQ_STRPTIME): New macro, extracted from gl_FUNC_STRPTIME.
14429         * m4/time_h.m4 (gl_HEADER_TIME_H_DEFAULTS): Initialize HAVE_STRPTIME,
14430         not REPLACE_STRPTIME.
14431         * modules/time (Makefile.am): Substitute HAVE_STRPTIME, not
14432         REPLACE_STRPTIME.
14433
14434 2010-04-03  Bruno Haible  <bruno@clisp.org>
14435
14436         timegm: Fix C++ test error on mingw.
14437         * lib/time.in.h (timegm): Use modern idiom.
14438         * m4/timegm.m4 (gl_FUNC_TIMEGM): When timegm does not exist, set
14439         HAVE_TIMEGM to 0, not REPLACE_TIMEGM to 1.
14440         * m4/time_h.m4 (gl_HEADER_TIME_H_DEFAULTS): Initialize HAVE_TIMEGM.
14441         * modules/time (Makefile.am): Substitute HAVE_TIMEGM.
14442
14443 2010-04-03  Bruno Haible  <bruno@clisp.org>
14444
14445         timegm: Assume declaration if function exists.
14446         * m4/timegm.m4 (gl_FUNC_TIMEGM): Assume timegm is declared if and only
14447         if it exists. Don't clobber ac_cv_func_timegm.
14448
14449 2010-04-03  Bruno Haible  <bruno@clisp.org>
14450
14451         time_r: Fix C++ test error on mingw.
14452         * lib/time.in.h (localtime_r, gmtime_r): Use modern idiom.
14453         * m4/time_r.m4 (gl_TIME_R): When localtime_r does not exist, set
14454         HAVE_LOCALTIME_R to 0, not REPLACE_LOCALTIME_R to 1.
14455         * m4/time_h.m4 (gl_HEADER_TIME_H_DEFAULTS): Initialize HAVE_LOCALTIME_R.
14456         * modules/time (Makefile.am): Substitute HAVE_LOCALTIME_R.
14457
14458 2010-04-03  Bruno Haible  <bruno@clisp.org>
14459
14460         time_r: Minor updates.
14461         * modules/time_r (Description): Mention the provided functions.
14462         * lib/time_r.c: Don't include <string.h>.
14463         * doc/posix-functions/gmtime_r.texi: Mention the 'time_r' module.
14464         * doc/posix-functions/localtime_r.texi: Likewise.
14465
14466 2010-04-03  Bruno Haible  <bruno@clisp.org>
14467
14468         time: Fix regression introduced on 2010-03-08.
14469         * m4/time_h.m4 (gl_TIME_MODULE_INDICATOR): Require
14470         gl_HEADER_TIME_H_DEFAULTS, not gl_HEADER_STRING_H_DEFAULTS.
14471
14472 2010-04-03  Jim Meyering  <meyering@redhat.com>
14473
14474         maint.mk: don't silently disable project-specific syntax-check rules
14475         * top/maint.mk (_prohibit_regexp): Define, to help people realize
14476         that they need to convert their project-specific syntax-check rules
14477         to use the new _sc_search_regexp.
14478
14479 2010-04-03  Bruno Haible  <bruno@clisp.org>
14480
14481         fchdir: Fix regression introduced on 2010-03-08.
14482         * lib/unistd.in.h (fchdir): Fix declaration.
14483         * m4/fchdir.m4 (gl_FUNC_FCHDIR): Set HAVE_FCHDIR, not REPLACE_FCHDIR.
14484         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize HAVE_FCHDIR, not
14485         REPLACE_FCHDIR.
14486         * modules/unistd (Makefile.am): Substitute HAVE_FCHDIR, not
14487         REPLACE_FCHDIR.
14488
14489 2010-04-03  Bruno Haible  <bruno@clisp.org>
14490
14491         getpagesize: Fix C++ test error on mingw.
14492         * lib/unistd.in.h (getpagesize): Don't use _GL_CXXALIASWARN if the
14493         system does not declare the function.
14494         * m4/getpagesize.m4 (gl_FUNC_GETPAGESIZE): Also check whether it's
14495         declared.
14496         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize
14497         HAVE_DECL_GETPAGESIZE.
14498         * modules/unistd (Makefile.am): Substitute HAVE_DECL_GETPAGESIZE.
14499
14500 2010-04-03  Bruno Haible  <bruno@clisp.org>
14501
14502         stdio: Make C++ tests work on mingw.
14503         * lib/stdio.in.h (getline): Don't use _GL_CXXALIASWARN if the system
14504         does not declare the function.
14505
14506 2010-04-03  Bruno Haible  <bruno@clisp.org>
14507
14508         ftello: Fix C++ test error on mingw.
14509         * lib/stdio.in.h (ftello): Use modern idiom.
14510         * lib/ftello.c (ftello): Renamed from rpl_ftello.
14511         * m4/ftello.m4 (gl_FUNC_FTELLO): Distinguish the case that the function
14512         is missing and that it needs to be replaced.
14513         (gl_REPLACE_FTELLO): Don't set REPLACE_FTELLO here.
14514         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Initialize HAVE_FTELLO.
14515         * modules/stdio (Makefile.am): Substitute HAVE_FTELLO.
14516
14517 2010-04-03  Bruno Haible  <bruno@clisp.org>
14518
14519         fseeko: Fix C++ test error on mingw.
14520         * lib/stdio.in.h (fseeko): Use modern idiom.
14521         * lib/fseeko.c (fseeko): Renamed from rpl_fseeko.
14522         * m4/fseeko.m4 (gl_FUNC_FSEEKO): Distinguish the case that the function
14523         is missing and that it needs to be replaced.
14524         (gl_REPLACE_FSEEKO): Don't set REPLACE_FSEEKO here.
14525         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Initialize HAVE_FSEEKO.
14526         * modules/stdio (Makefile.am): Substitute HAVE_FSEEKO.
14527
14528 2010-04-03  Bruno Haible  <bruno@clisp.org>
14529
14530         mkstemp: Fix C++ test error on mingw.
14531         * lib/stdlib.in.h (mkstemp): Use modern idiom.
14532         * m4/mkstemp.m4 (gl_FUNC_MKSTEMP): Distinguish the case that the
14533         function is missing and that it needs to be replaced.
14534         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize HAVE_MKSTEMP.
14535         * modules/stdlib (Makefile.am): Substitute HAVE_MKSTEMP.
14536
14537 2010-04-03  Bruno Haible  <bruno@clisp.org>
14538
14539         stpncpy: Fix C++ test error on mingw.
14540         * lib/string.in.h (stpncpy): Use modern idiom.
14541         * m4/stpncpy.m4 (gl_FUNC_STPNCPY): Distinguish the case that the
14542         function is missing and that it needs to be replaced.
14543         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Initialize
14544         REPLACE_STPNCPY.
14545         * modules/string (Makefile.am): Substitute REPLACE_STPNCPY.
14546
14547 2010-04-03  Bruno Haible  <bruno@clisp.org>
14548
14549         sys_stat: Fix C++ test error on mingw.
14550         * build-aux/c++defs.h (_GL_CXXALIAS_RPL_CAST_1): New macro.
14551         * lib/sys_stat.in.h (lchmod): Use it instead of _GL_CXXALIAS_RPL_1.
14552
14553 2010-04-03  Bruno Haible  <bruno@clisp.org>
14554
14555         pty: Update doc.
14556         * doc/glibc-headers/pty.texi: Mention changes done since 2010-03-18.
14557
14558 2010-04-03  Bruno Haible  <bruno@clisp.org>
14559
14560         unistd: Fix C++ test error on mingw.
14561         * lib/unistd.in.h (getcwd): Use _GL_CXXALIAS_SYS_CAST.
14562
14563 2010-04-03  Bruno Haible  <bruno@clisp.org>
14564
14565         Update doc regarding mingw.
14566         * doc/glibc-functions/openpty.texi: Update regarding mingw.
14567         * doc/glibc-functions/login_tty.texi: Likewise.
14568         * doc/glibc-functions/forkpty.texi: Likewise.
14569
14570 2010-04-03  Bruno Haible  <bruno@clisp.org>
14571
14572         stdlib: Avoid compilation failure of c-strtold on mingw.
14573         * lib/stdlib.in.h: Don't include <unistd.h> on native Windows systems.
14574
14575 2010-04-03  Bruno Haible  <bruno@clisp.org>
14576
14577         locale: Make C++ tests work on Cygwin and mingw.
14578         * lib/locale.in.h (duplocale): Don't use _GL_CXXALIASWARN if gnulib
14579         cannot provide the function.
14580         Reported by Simon Josefsson.
14581
14582 2010-04-03  Bruno Haible  <bruno@clisp.org>
14583
14584         localename: Port to MacOS X 10.6.
14585         * lib/localename.c (gl_locale_name_thread_unsafe): On MacOS X, try the
14586         memory layout of the locales in MacOS X 10.6 as well.
14587         Reported by Panu Kekäläinen <panu@kekalainen.eu>.
14588
14589 2010-04-02  Bruno Haible  <bruno@clisp.org>
14590
14591         gnulib-tool: Ensure that long-running tests are executed last.
14592         * gnulib-tool (func_emit_tests_Makefile_am): Emit the code for long-
14593         running tests after the one for the other tests.
14594
14595 2010-04-02  Bruno Haible  <bruno@clisp.org>
14596
14597         gnulib-tool: Ensure the tests in the main directory are executed first.
14598         * gnulib-tool (func_emit_tests_Makefile_am): Initialize SUBDIRS to
14599         start with the current directory.
14600
14601 2010-04-02  Bruno Haible  <bruno@clisp.org>
14602
14603         Tests for module 'havelib', moved here from GNU gettext.
14604         * modules/havelib-tests: New file, from gettext/autoconf-lib-link with
14605         modifications.
14606         * tests/havelib/README: New file, from gettext/autoconf-lib-link.
14607         * tests/havelib/Makefile.am: New file, from gettext/autoconf-lib-link
14608         with modifications.
14609         * tests/havelib/rpath-1: New file, from gettext/autoconf-lib-link with
14610         modifications.
14611         * tests/havelib/rpath-1a: New file, from gettext/autoconf-lib-link.
14612         * tests/havelib/rpath-1b: New file, from gettext/autoconf-lib-link.
14613         * tests/havelib/rpath-2_a: New file, from gettext/autoconf-lib-link
14614         with modifications.
14615         * tests/havelib/rpath-2_b: New file, from gettext/autoconf-lib-link
14616         with modifications.
14617         * tests/havelib/rpath-2aaa: New file, from gettext/autoconf-lib-link.
14618         * tests/havelib/rpath-2aab: New file, from gettext/autoconf-lib-link.
14619         * tests/havelib/rpath-2aac: New file, from gettext/autoconf-lib-link.
14620         * tests/havelib/rpath-2aad: New file, from gettext/autoconf-lib-link.
14621         * tests/havelib/rpath-2aba: New file, from gettext/autoconf-lib-link.
14622         * tests/havelib/rpath-2abb: New file, from gettext/autoconf-lib-link.
14623         * tests/havelib/rpath-2abc: New file, from gettext/autoconf-lib-link.
14624         * tests/havelib/rpath-2abd: New file, from gettext/autoconf-lib-link.
14625         * tests/havelib/rpath-2baa: New file, from gettext/autoconf-lib-link.
14626         * tests/havelib/rpath-2bab: New file, from gettext/autoconf-lib-link.
14627         * tests/havelib/rpath-2bac: New file, from gettext/autoconf-lib-link.
14628         * tests/havelib/rpath-2bad: New file, from gettext/autoconf-lib-link.
14629         * tests/havelib/rpath-2bba: New file, from gettext/autoconf-lib-link.
14630         * tests/havelib/rpath-2bbb: New file, from gettext/autoconf-lib-link.
14631         * tests/havelib/rpath-2bbc: New file, from gettext/autoconf-lib-link.
14632         * tests/havelib/rpath-2bbd: New file, from gettext/autoconf-lib-link.
14633         * tests/havelib/rpath-3_a: New file, from gettext/autoconf-lib-link
14634         with modifications.
14635         * tests/havelib/rpath-3_b: New file, from gettext/autoconf-lib-link
14636         with modifications.
14637         * tests/havelib/rpath-3aaa: New file, from gettext/autoconf-lib-link.
14638         * tests/havelib/rpath-3aab: New file, from gettext/autoconf-lib-link.
14639         * tests/havelib/rpath-3aac: New file, from gettext/autoconf-lib-link.
14640         * tests/havelib/rpath-3aad: New file, from gettext/autoconf-lib-link.
14641         * tests/havelib/rpath-3aae: New file, from gettext/autoconf-lib-link.
14642         * tests/havelib/rpath-3aaf: New file, from gettext/autoconf-lib-link.
14643         * tests/havelib/rpath-3aag: New file, from gettext/autoconf-lib-link.
14644         * tests/havelib/rpath-3aah: New file, from gettext/autoconf-lib-link.
14645         * tests/havelib/rpath-3aba: New file, from gettext/autoconf-lib-link.
14646         * tests/havelib/rpath-3abb: New file, from gettext/autoconf-lib-link.
14647         * tests/havelib/rpath-3abc: New file, from gettext/autoconf-lib-link.
14648         * tests/havelib/rpath-3abd: New file, from gettext/autoconf-lib-link.
14649         * tests/havelib/rpath-3abe: New file, from gettext/autoconf-lib-link.
14650         * tests/havelib/rpath-3abf: New file, from gettext/autoconf-lib-link.
14651         * tests/havelib/rpath-3abg: New file, from gettext/autoconf-lib-link.
14652         * tests/havelib/rpath-3abh: New file, from gettext/autoconf-lib-link.
14653         * tests/havelib/rpath-3baa: New file, from gettext/autoconf-lib-link.
14654         * tests/havelib/rpath-3bab: New file, from gettext/autoconf-lib-link.
14655         * tests/havelib/rpath-3bac: New file, from gettext/autoconf-lib-link.
14656         * tests/havelib/rpath-3bad: New file, from gettext/autoconf-lib-link.
14657         * tests/havelib/rpath-3bae: New file, from gettext/autoconf-lib-link.
14658         * tests/havelib/rpath-3baf: New file, from gettext/autoconf-lib-link.
14659         * tests/havelib/rpath-3bag: New file, from gettext/autoconf-lib-link.
14660         * tests/havelib/rpath-3bah: New file, from gettext/autoconf-lib-link.
14661         * tests/havelib/rpath-3bba: New file, from gettext/autoconf-lib-link.
14662         * tests/havelib/rpath-3bbb: New file, from gettext/autoconf-lib-link.
14663         * tests/havelib/rpath-3bbc: New file, from gettext/autoconf-lib-link.
14664         * tests/havelib/rpath-3bbd: New file, from gettext/autoconf-lib-link.
14665         * tests/havelib/rpath-3bbe: New file, from gettext/autoconf-lib-link.
14666         * tests/havelib/rpath-3bbf: New file, from gettext/autoconf-lib-link.
14667         * tests/havelib/rpath-3bbg: New file, from gettext/autoconf-lib-link.
14668         * tests/havelib/rpath-3bbh: New file, from gettext/autoconf-lib-link.
14669         * tests/havelib/rpathx/rpathx.c: New file, from
14670         gettext/autoconf-lib-link.
14671         * tests/havelib/rpathx/Makefile.am: New file, from
14672         gettext/autoconf-lib-link.
14673         * tests/havelib/rpathx/configure.ac: New file, from
14674         gettext/autoconf-lib-link with modifications.
14675         * tests/havelib/rpathy/rpathy.c: New file, from
14676         gettext/autoconf-lib-link.
14677         * tests/havelib/rpathy/Makefile.am: New file, from
14678         gettext/autoconf-lib-link.
14679         * tests/havelib/rpathy/configure.ac: New file, from
14680         gettext/autoconf-lib-link with modifications.
14681         * tests/havelib/rpathz/rpathz.c: New file, from
14682         gettext/autoconf-lib-link.
14683         * tests/havelib/rpathz/Makefile.am: New file, from
14684         gettext/autoconf-lib-link.
14685         * tests/havelib/rpathz/configure.ac: New file, from
14686         gettext/autoconf-lib-link with modifications.
14687         * tests/havelib/rpathlx/usex.c: New file, from
14688         gettext/autoconf-lib-link.
14689         * tests/havelib/rpathlx/Makefile.am: New file, from
14690         gettext/autoconf-lib-link.
14691         * tests/havelib/rpathlx/configure.ac: New file, from
14692         gettext/autoconf-lib-link with modifications.
14693         * tests/havelib/rpathly/usey.c: New file, from
14694         gettext/autoconf-lib-link.
14695         * tests/havelib/rpathly/Makefile.am: New file, from
14696         gettext/autoconf-lib-link.
14697         * tests/havelib/rpathly/configure.ac: New file, from
14698         gettext/autoconf-lib-link with modifications.
14699         * tests/havelib/rpathlz/usez.c: New file, from
14700         gettext/autoconf-lib-link.
14701         * tests/havelib/rpathlz/Makefile.am: New file, from
14702         gettext/autoconf-lib-link.
14703         * tests/havelib/rpathlz/configure.ac: New file, from
14704         gettext/autoconf-lib-link with modifications.
14705         * tests/havelib/rpathlyx/usey.c: New file, from
14706         gettext/autoconf-lib-link.
14707         * tests/havelib/rpathlyx/Makefile.am: New file, from
14708         gettext/autoconf-lib-link.
14709         * tests/havelib/rpathlyx/configure.ac: New file, from
14710         gettext/autoconf-lib-link with modifications.
14711         * tests/havelib/rpathlzyx/usez.c: New file, from
14712         gettext/autoconf-lib-link.
14713         * tests/havelib/rpathlzyx/Makefile.am: New file, from
14714         gettext/autoconf-lib-link.
14715         * tests/havelib/rpathlzyx/configure.ac: New file, from
14716         gettext/autoconf-lib-link with modifications.
14717         * tests/havelib/rpathcfg.sh: New file, from gettext/autoconf-lib-link
14718         with modifications.
14719
14720 2010-04-02  Bruno Haible  <bruno@clisp.org>
14721
14722         gnulib-tool: Create distributed built sources also for the tests.
14723         * gnulib-tool (func_create_testdir): Also generate distributed built
14724         sources in the tests directory.
14725
14726 2010-04-02  Bruno Haible  <bruno@clisp.org>
14727
14728         gnulib-tool: Obey user's environment variables.
14729         * gnulib-tool (func_create_testdir): When creating built sources,
14730         respect the environment variables for autoconf, automake, etc. given by
14731         the user.
14732
14733 2010-04-02  Bruno Haible  <bruno@clisp.org>
14734
14735         gnulib-tool: Provide the value of --m4-base to modules.
14736         * gnulib-tool (func_import, func_create_testdir): Emit a definition
14737         of gl_m4_base.
14738
14739 2010-04-02  Eric Blake  <eblake@redhat.com>
14740
14741         maint.mk: fix some fallout
14742         * NEWS: Document the incompatible change, and its effect on cfg.mk.
14743         * top/maint.mk (sc_prohibit_test_minus_ao): Update.
14744
14745 2010-03-28  Jose E. Marchesi  <jemarch@gnu.org>
14746
14747         maint.mk: _sc_search_regexp: generalize and rename from _prohibit_regexp
14748         * top/maint.mk (_sc_search_regexp): Rename from _prohibit_regexp.
14749         (sc_cast_of_argument_to_free): Adapt to use _sc_search_regexp.
14750         (sc_cast_of_x_alloc_return_value): Likewise.
14751         (sc_cast_of_alloca_return_value): Likewise.
14752         (sc_space_tab): Likewise.
14753         (sc_prohibit_atoi_atof): Likewise.
14754         (sc_prohibit_magic_number_exit): Likewise.
14755         (sc_error_exit_success): Likewise.
14756         (sc_file_system): Likewise.
14757         (sc_prohibit_have_config_h): Likewise.
14758         (sc_require_config_h): Likewise.
14759         (sc_prohibit_HAVE_MBRTOWC): Likewise.
14760         (sc_obsolete_symbols): Likewise.
14761         (sc_changelog): Likewise.
14762         (sc_program_name): Likewise.
14763         (sc_the_the): Likewise.
14764         (sc_trailing_blank): Likewise.
14765         (sc_two_space_separator_in_usage): Likewise.
14766         (sc_useless_cpp_parens): Likewise.
14767         (sc_GPL_version): Likewise.
14768         (sc_GFDL_version): Likewise.
14769         (sc_texinfo_acronym): Likewise.
14770         (sc_prohibit_cvs_keyword): Likewise.
14771         (sc_prohibit_stat_st_blocks): Likewise.
14772         (sc_prohibit_S_IS_definition): Likewise.
14773         (sc_redundant_const): Likewise.
14774         (sc_makefile_TAB_only_indentation): Likewise.
14775         (sc_m4_quote_check): Likewise.
14776         (sc_makefile_path_separator_check): Likewise.
14777         (sc_copyright_check): Likewise.
14778         (sc_Wundef_boolean): Likewise.
14779         (sc_vulnerable_makefile_CVE-2009-4029): Likewise.
14780
14781         maint.mk: match 0 or more whitespace-before-function-call '('
14782         * top/maint.mk (sc_error_exit_success): Relax regexp to match uses
14783         that have zero or two-and-more spaces between the function name
14784         and the open parenthesis.
14785         (sc_error_message_warn_fatal): Likewise.
14786         (sc_error_message_uppercase): Likewise.
14787         (sc_error_message_period): Likewise.
14788
14789 2010-03-31  Eric Blake  <eblake@redhat.com>
14790
14791         maint.mk: check for [ as well as test
14792         * top/maint.mk (sc_prohibit_test_minus_ao): Extend test.
14793         Based on a libvirt report by Matthias Bolte.
14794
14795         gnumakefile: don't squelch _version output
14796         * top/GNUmakefile (_version): Create one-shot dependency rather
14797         than using $(shell) when version must be regenerated.
14798         (_autoreconf): Run verbosely, by default.
14799
14800         sys_time: avoid compiler warnings
14801         * lib/sys_time.in.h (includes): Ensure gcc pragma is
14802         unconditional, fixing regression from 2010-03-29.
14803         Reported by Simon Josefsson.
14804
14805 2010-03-28  Jose E. Marchesi  <jemarch@gnu.org>
14806
14807         maint.mk: s/_header_without_use/_sc_header_without_use/
14808         * top/maint.mk (_sc_header_without_use): Rename from _header_without_use.
14809         (sc_prohibit_assert_without_use): Use the new name.
14810         (sc_prohibit_close_stream_without_use): Likewise.
14811         (sc_prohibit_getopt_without_use): Likewise.
14812         (sc_prohibit_quotearg_without_use): Likewise.
14813         (sc_prohibit_quote_without_use): Likewise.
14814         (sc_prohibit_long_options_without_use): Likewise.
14815         (sc_prohibit_inttostr_without_use): Likewise.
14816         (sc_prohibit_ignore_value_without_use): Likewise.
14817         (sc_prohibit_error_without_use): Likewise.
14818         (sc_prohibit_xalloc_without_use): Likewise.
14819         (sc_prohibit_hash_without_use): Likewise.
14820         (sc_prohibit_hash_pjw_without_use): Likewise.
14821         (sc_prohibit_safe_read_without_use): Likewise.
14822         (sc_prohibit_argmatch_without_use): Likewise.
14823         (sc_prohibit_canonicalize_without_use): Likewise.
14824         (sc_prohibit_root_dev_ino_without_use): Likewise.
14825         (sc_prohibit_openat_without_use): Likewise.
14826         (sc_prohibit_c_ctype_without_use): Likewise.
14827         (sc_prohibit_signal_without_use): Likewise.
14828         (sc_prohibit_intprops_without_use): Likewise.
14829
14830 2010-03-30  Eric Blake  <eblake@redhat.com>
14831
14832         maint: improve module indicators
14833         * m4/gnulib-common.m4 (gl_MODULE_INDICATOR_SET_VARIABLE)
14834         (gl_MODULE_INDICATOR, gl_MODULE_INDICATOR_FOR_TESTS): Fit in 80
14835         columns, and avoid extra macro expansion.
14836
14837         fdopendir: work around FreeBSD bug
14838         * m4/dirent_h.m4 (gl_DIRENT_H_DEFAULTS): New witness.
14839         * m4/fdopendir.m4 (gl_FUNC_FDOPENDIR): Set it.
14840         * modules/dirent (Makefile.am): Substitute it.
14841         * lib/dirent.in.h (fdopendir): Supply missing FreeBSD
14842         declaration.
14843         * doc/posix-functions/fdopendir.texi (fdopendir): Document the
14844         fix.
14845         Reported by Christian Weisgerber <naddy@mips.inka.de>.
14846
14847 2010-03-29  Bruno Haible  <bruno@clisp.org>
14848
14849         Emit #pragma system_header after the inclusion guard, not before.
14850         * lib/arpa_inet.in.h: Emit #pragma system_header after the inclusion
14851         guard that spans the entire file, not before. This enables an
14852         optimization in GCC's preprocessor.
14853         * lib/ctype.in.h: Likewise.
14854         * lib/dirent.in.h: Likewise.
14855         * lib/errno.in.h: Likewise.
14856         * lib/float.in.h: Likewise.
14857         * lib/getopt.in.h: Likewise.
14858         * lib/iconv.in.h: Likewise.
14859         * lib/langinfo.in.h: Likewise.
14860         * lib/locale.in.h: Likewise.
14861         * lib/math.in.h: Likewise.
14862         * lib/netdb.in.h: Likewise.
14863         * lib/netinet_in.in.h: Likewise.
14864         * lib/pty.in.h: Likewise.
14865         * lib/sched.in.h: Likewise.
14866         * lib/se-selinux.in.h: Likewise.
14867         * lib/search.in.h: Likewise.
14868         * lib/spawn.in.h: Likewise.
14869         * lib/stdarg.in.h: Likewise.
14870         * lib/stdint.in.h: Likewise.
14871         * lib/string.in.h: Likewise.
14872         * lib/strings.in.h: Likewise.
14873         * lib/sys_file.in.h: Likewise.
14874         * lib/sys_ioctl.in.h: Likewise.
14875         * lib/sys_time.in.h: Likewise.
14876         * lib/sys_times.in.h: Likewise.
14877         * lib/sys_utsname.in.h: Likewise.
14878         * lib/sys_wait.in.h: Likewise.
14879         * lib/sysexits.in.h: Likewise.
14880         * lib/wctype.in.h: Likewise.
14881
14882 2010-03-28  James Youngman  <jay@gnu.org>
14883
14884         save-cwd: don't leak a file descriptor when the caller execs.
14885         * lib/save-cwd.c (save_cwd): set the close-on-exec flag for the
14886         saved file descriptor.
14887         * modules/save-cwd (Depends-on): Depend on cloexec.
14888
14889 2010-03-29  Bruno Haible  <bruno@clisp.org>
14890
14891         Remove vestiges of fts-lgpl module.
14892         * lib/fts_.h: Assume GNULIB_FTS is 1.
14893         * lib/fts.c: Likewise.
14894         * modules/fts (configure.ac): Remove gl_MODULE_INDICATOR invocation.
14895
14896 2010-03-28  Bruno Haible  <bruno@clisp.org>
14897
14898         Fix definition of tests witness macro.
14899         * gnulib-tool (func_import): Fix definition of witness macro.
14900
14901 2010-03-28  Bruno Haible  <bruno@clisp.org>
14902
14903         Fix ioctl's protoype on glibc systems.
14904         * lib/sys_ioctl.in.h (ioctl): If REPLACE_IOCTL is 1, use a wrapper. Use
14905         _GL_CXXALIAS_SYS, not _GL_CXXALIAS_SYS_CAST.
14906         * lib/ioctl.c (rpl_ioctl) [HAVE_IOCTL]: New wrapper.
14907         * modules/ioctl (configure.ac): Test whether ioctl has the POSIX
14908         signature. If not, arrange to replace the ioctl function.
14909         * m4/sys_ioctl_h.m4 (gl_SYS_IOCTL_H_DEFAULTS): Initialize
14910         REPLACE_IOCTL.
14911         * modules/sys_ioctl (Makefile.am): Substitute REPLACE_IOCTL.
14912         * doc/posix-functions/ioctl.texi: Mention the glibc problem.
14913         Reported by Ludovic Courtès <ludo@gnu.org>.
14914
14915 2010-03-28  Javier Villavicencio  <the_paya@gentoo.org>
14916
14917         exclude: fix the case of globs vs. EXCLUDE_INCLUDE
14918         * lib/exclude.c (excluded_file_pattern_p): Fix logic error that
14919         made it so grep -r --include=GLOB* ... did not work.
14920
14921 2010-03-26  Jim Meyering  <meyering@redhat.com>
14922             Eric Blake  <eblake@redhat.com>
14923
14924         maint.mk: prohibit use of test's -o and -a operators
14925         * top/maint.mk (sc_prohibit_test_minus_ao): New rule.
14926
14927 2010-03-28  Bruno Haible  <bruno@clisp.org>
14928
14929         Remove unused GNULIB_XYZ macro definitions.
14930         * modules/crypto/gc-camellia (configure.ac): Remove gl_MODULE_INDICATOR
14931         invocation.
14932
14933 2010-03-28  Bruno Haible  <bruno@clisp.org>
14934
14935         Mark privileged tests modules.
14936         * modules/idpriv-drop-tests (Status): New section.
14937         * modules/idpriv-droptemp-tests (Status): New section.
14938
14939 2010-03-28  Bruno Haible  <bruno@clisp.org>
14940
14941         Split C++ tests into separate tests modules.
14942         * modules/dirent-c++-tests: New file, extracted from
14943         modules/dirent-tests.
14944         * modules/dirent-tests: Depend on it.
14945         * modules/fcntl-h-c++-tests: New file, extracted from
14946         modules/fcntl-h-tests.
14947         * modules/fcntl-h-tests: Depend on it.
14948         * modules/glob-c++-tests: New file, extracted from modules/glob-tests.
14949         * modules/glob-tests: Depend on it.
14950         * modules/iconv-h-c++-tests: New file, extracted from
14951         modules/iconv-h-tests.
14952         * modules/iconv-h-tests: Depend on it.
14953         * modules/langinfo-c++-tests: New file, extracted from
14954         modules/langinfo-tests.
14955         * modules/langinfo-tests: Depend on it.
14956         * modules/locale-c++-tests: New file, extracted from
14957         modules/locale-tests.
14958         * modules/locale-tests: Depend on it.
14959         * modules/math-c++-tests: New file, extracted from modules/math-tests.
14960         * modules/math-tests: Depend on it.
14961         * modules/pty-c++-tests: New file, extracted from modules/pty-tests.
14962         * modules/pty-tests: Depend on it.
14963         * modules/search-c++-tests: New file, extracted from
14964         modules/search-tests.
14965         * modules/search-tests: Depend on it.
14966         * modules/signal-c++-tests: New file, extracted from
14967         modules/signal-tests.
14968         * modules/signal-tests: Depend on it.
14969         * modules/spawn-c++-tests: New file, extracted from
14970         modules/spawn-tests.
14971         * modules/spawn-tests: Depend on it.
14972         * modules/stdio-c++-tests: New file, extracted from
14973         modules/stdio-tests.
14974         * modules/stdio-tests: Depend on it.
14975         * modules/stdlib-c++-tests: New file, extracted from
14976         modules/stdlib-tests.
14977         * modules/stdlib-tests: Depend on it.
14978         * modules/string-c++-tests: New file, extracted from
14979         modules/string-tests.
14980         * modules/string-tests: Depend on it.
14981         * modules/sys_ioctl-c++-tests: New file, extracted from
14982         modules/sys_ioctl-tests.
14983         * modules/sys_ioctl-tests: Depend on it.
14984         * modules/sys_select-c++-tests: New file, extracted from
14985         modules/sys_select-tests.
14986         * modules/sys_select-tests: Depend on it.
14987         * modules/sys_socket-c++-tests: New file, extracted from
14988         modules/sys_socket-tests.
14989         * modules/sys_socket-tests: Depend on it.
14990         * modules/sys_stat-c++-tests: New file, extracted from
14991         modules/sys_stat-tests.
14992         * modules/sys_stat-tests: Depend on it.
14993         * modules/sys_time-c++-tests: New file, extracted from
14994         modules/sys_time-tests.
14995         * modules/sys_time-tests: Depend on it.
14996         * modules/time-c++-tests: New file, extracted from modules/time-tests.
14997         * modules/time-tests: Depend on it.
14998         * modules/unistd-c++-tests: New file, extracted from
14999         modules/unistd-tests.
15000         * modules/unistd-tests: Depend on it.
15001         * modules/wchar-c++-tests: New file, extracted from
15002         modules/wchar-tests.
15003         * modules/wchar-tests: Depend on it.
15004         * modules/wctype-c++-tests: New file, extracted from
15005         modules/wctype-tests.
15006         * modules/wctype-tests: Depend on it.
15007         Reported by Simon Josefsson.
15008
15009 2010-03-28  Bruno Haible  <bruno@clisp.org>
15010
15011         gnulib-tool: Allow 'foo-tests' module even if there is no module 'foo'.
15012         * gnulib-tool (func_exists_module): New function, extracted from
15013         func_verify_module.
15014         (func_verify_module): Use it.
15015         (func_get_dependencies): Synthetize a dependency from 'foo-tests' to
15016         'foo' only if 'foo' exists.
15017         * doc/gnulib.texi (Extra tests modules): Explain how to split a tests
15018         module.
15019
15020 2010-03-28  Bruno Haible  <bruno@clisp.org>
15021
15022         gnulib-tool: Add support for special categories of tests.
15023         * gnulib-tool: New options --with-c++-tests, --with-longrunning-tests,
15024         --with-privileged-tests, --with-unportable-tests, --with-all-tests.
15025         (func_usage): Document them.
15026         (inc_cxx_tests, inc_longrunning_tests, inc_privileged_tests,
15027         inc_unportable_tests, inc_all_tests): New variables.
15028         (func_acceptable): Consider these variables.
15029         (func_modules_transitive_closure): Make it work when the 'Status' field
15030         consists of multiple words.
15031         (func_import): Store and restore the values of inc_cxx_tests,
15032         inc_longrunning_tests, inc_privileged_tests, inc_unportable_tests,
15033         inc_all_tests in gnulib-comp.m4.
15034         (func_create_testdir): Set inc_all_tests to true.
15035         * doc/gnulib.texi (Extra tests modules): New section.
15036         Suggested by Jim Meyering.
15037
15038 2010-03-28  Bruno Haible  <bruno@clisp.org>
15039
15040         ansi-c++-opt: Allow turning off the C++ build by default.
15041         * m4/ansi-c++.m4 (gl_CXX_CHOICE): Let CXX_CHOICE default to 'no' if
15042         gl_CXX_CHOICE_DEFAULT_NO is defined.
15043         Requested by Eric Blake.
15044
15045 2010-03-28  Bruno Haible  <bruno@clisp.org>
15046
15047         unistd: Avoid #define replacements in C++ mode.
15048         * lib/unistd.in.h (socket, connect, accept, bind, getpeername,
15049         getsockname, getsockopt, listen, recv, send, recvfrom, sendto,
15050         setsockopt, shutdown, select): In C++, attach a warning to the function
15051         if possible, rather than #defining the symbol to a dysfunctional alias.
15052         Reported by John W. Eaton <jwe@gnu.org>.
15053
15054 2010-03-28  Bruno Haible  <bruno@clisp.org>
15055
15056         Fix link errors on mingw.
15057         * lib/sys_ioctl.in.h (ioctl): Fix declaration idiom.
15058         * modules/sys_ioctl-tests (Makefile.am): Link test-sys_ioctl-c++ with
15059         $(LIBSOCKET).
15060         * modules/sys_select-tests (Makefile.am): Link test-sys_select-c++ with
15061         $(LIBSOCKET).
15062
15063 2010-03-28  Bruno Haible  <bruno@clisp.org>
15064             Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
15065
15066         lib-ignore: Determine different options for different compilers.
15067         * m4/lib-ignore.m4 (gl_IGNORE_UNUSED_LIBRARIES): Set a variable which
15068         depends on the current language (C/C++/Fortran). Don't set LDFLAGS.
15069         Add comments.
15070         (_gl_IGNORE_UNUSED_LIBRARIES_OPTIONS): New macro.
15071         * NEWS: Mention the change.
15072
15073 2010-03-27  Bruno Haible  <bruno@clisp.org>
15074
15075         Remove unused GNULIB_XYZ macro definitions.
15076         * modules/dup3 (configure.ac): Remove gl_MODULE_INDICATOR invocation.
15077         * modules/fseek (configure.ac): Likewise.
15078         * modules/ioctl (configure.ac): Likewise.
15079         * modules/open (configure.ac): Likewise.
15080         * modules/stdlib-safer (configure.ac): Likewise.
15081
15082 2010-03-27  Bruno Haible  <bruno@clisp.org>
15083
15084         Add a remark about certain modules.
15085         * modules/malloc (Comment): New section.
15086         * modules/realloc (Comment): Likewise.
15087         * modules/sigpipe (Comment): Likewise.
15088
15089 2010-03-27  Bruno Haible  <bruno@clisp.org>
15090
15091         Resolve conflict between the two kinds of module indicators.
15092         * m4/gnulib-common.m4 (gl_MODULE_INDICATOR_FOR_TESTS): Define
15093         GNULIB_TEST_XYZ instead of GNULIB_XYZ.
15094         * modules/canonicalize (configure.ac): Invoke
15095         gl_MODULE_INDICATOR_FOR_TESTS.
15096         * tests/test-canonicalize-lgpl.c: Test GNULIB_TEST_XYZ instead of
15097         GNULIB_XYZ.
15098         * tests/test-dirent-c++.cc: Likewise.
15099         * tests/test-dirent-safer.c: Likewise.
15100         * tests/test-dup2.c: Likewise.
15101         * tests/test-fchdir.c: Likewise.
15102         * tests/test-fcntl-h-c++.cc: Likewise.
15103         * tests/test-getopt.c: Likewise.
15104         * tests/test-getopt.h: Likewise.
15105         * tests/test-langinfo-c++.cc: Likewise.
15106         * tests/test-locale-c++.cc: Likewise.
15107         * tests/test-math-c++.cc: Likewise.
15108         * tests/test-pty-c++.cc: Likewise.
15109         * tests/test-search-c++.cc: Likewise.
15110         * tests/test-signal-c++.cc: Likewise.
15111         * tests/test-spawn-c++.cc: Likewise.
15112         * tests/test-stdio-c++.cc: Likewise.
15113         * tests/test-stdlib-c++.cc: Likewise.
15114         * tests/test-string-c++.cc: Likewise.
15115         * tests/test-sys_ioctl-c++.cc: Likewise.
15116         * tests/test-sys_select-c++.cc: Likewise.
15117         * tests/test-sys_socket-c++.cc: Likewise.
15118         * tests/test-sys_stat-c++.cc: Likewise.
15119         * tests/test-sys_time-c++.cc: Likewise.
15120         * tests/test-time-c++.cc: Likewise.
15121         * tests/test-unistd-c++.cc: Likewise.
15122         * tests/test-wchar-c++.cc: Likewise.
15123         * tests/uninorm/test-u8-nfc.c: Likewise.
15124         * tests/uninorm/test-u8-nfd.c: Likewise.
15125         * tests/uninorm/test-u8-nfkc.c: Likewise.
15126         * tests/uninorm/test-u8-nfkd.c: Likewise.
15127         * tests/uninorm/test-u16-nfc.c: Likewise.
15128         * tests/uninorm/test-u16-nfd.c: Likewise.
15129         * tests/uninorm/test-u16-nfkc.c: Likewise.
15130         * tests/uninorm/test-u16-nfkd.c: Likewise.
15131         * tests/uninorm/test-u32-nfc.c: Likewise.
15132         * tests/uninorm/test-u32-nfc-big.c: Likewise.
15133         * tests/uninorm/test-u32-nfd.c: Likewise.
15134         * tests/uninorm/test-u32-nfd-big.c: Likewise.
15135         * tests/uninorm/test-u32-nfkc.c: Likewise.
15136         * tests/uninorm/test-u32-nfkc-big.c: Likewise.
15137         * tests/uninorm/test-u32-nfkd.c: Likewise.
15138         * tests/uninorm/test-u32-nfkd-big.c: Likewise.
15139         * tests/uninorm/test-u32-normalize-big.c: Likewise.
15140
15141 2010-03-27  Bruno Haible  <bruno@clisp.org>
15142
15143         Distinguish two kinds of module indicators.
15144         * m4/gnulib-common.m4 (gl_MODULE_INDICATOR_FOR_TESTS): Renamed from
15145         gl_MODULE_INDICATOR.
15146         (gl_MODULE_INDICATOR): New macro.
15147         * m4/dirent_h.m4 (gl_DIRENT_MODULE_INDICATOR): Invoke
15148         gl_MODULE_INDICATOR_FOR_TESTS instead of gl_MODULE_INDICATOR.
15149         * m4/fcntl_h.m4 (gl_FCNTL_MODULE_INDICATOR): Likewise.
15150         * m4/langinfo_h.m4 (gl_LANGINFO_MODULE_INDICATOR): Likewise.
15151         * m4/locale_h.m4 (gl_LOCALE_MODULE_INDICATOR): Likewise.
15152         * m4/math_h.m4 (gl_MATH_MODULE_INDICATOR): Likewise.
15153         * m4/pty_h.m4 (gl_PTY_MODULE_INDICATOR): Likewise.
15154         * m4/search_h.m4 (gl_SEARCH_MODULE_INDICATOR): Likewise.
15155         * m4/signal_h.m4 (gl_SIGNAL_MODULE_INDICATOR): Likewise.
15156         * m4/spawn_h.m4 (gl_SPAWN_MODULE_INDICATOR): Likewise.
15157         * m4/stdio_h.m4 (gl_STDIO_MODULE_INDICATOR): Likewise.
15158         * m4/stdlib_h.m4 (gl_STDLIB_MODULE_INDICATOR): Likewise.
15159         * m4/string_h.m4 (gl_STRING_MODULE_INDICATOR): Likewise.
15160         * m4/sys_ioctl_h.m4 (gl_SYS_IOCTL_MODULE_INDICATOR): Likewise.
15161         * m4/sys_select_h.m4 (gl_SYS_SELECT_MODULE_INDICATOR): Likewise.
15162         * m4/sys_socket_h.m4 (gl_SYS_SOCKET_MODULE_INDICATOR): Likewise.
15163         * m4/sys_stat_h.m4 (gl_SYS_STAT_MODULE_INDICATOR): Likewise.
15164         * m4/sys_time_h.m4 (gl_SYS_TIME_MODULE_INDICATOR): Likewise.
15165         * m4/time_h.m4 (gl_TIME_MODULE_INDICATOR): Likewise.
15166         * m4/unistd_h.m4 (gl_UNISTD_MODULE_INDICATOR): Likewise.
15167         * m4/wchar_h.m4 (gl_WCHAR_MODULE_INDICATOR): Likewise.
15168         * modules/cloexec (configure.ac): Likewise.
15169         * modules/getopt-gnu (configure.ac): Likewise.
15170         * modules/uninorm/u8-normalize (configure.ac): Likewise.
15171         * modules/uninorm/u16-normalize (configure.ac): Likewise.
15172         * modules/uninorm/u32-normalize (configure.ac): Likewise.
15173         * modules/fdopendir (configure.ac): Invoke gl_MODULE_INDICATOR.
15174
15175 2010-03-27  Bruno Haible  <bruno@clisp.org>
15176
15177         New module description field 'Comment'.
15178         * gnulib-tool: New option --extract-comment.
15179         (func_usage): Document it.
15180         (sed_extract_prog, sed_extract_field_header): Support 'Comment' field.
15181         (func_get_comment): New function.
15182         * modules/TEMPLATE-EXTENDED: Add a blank Comment field.
15183
15184 2010-03-27  Bruno Haible  <bruno@clisp.org>
15185
15186         Addendum to 2010-02-07 commit.
15187         * gnulib-tool (func_usage): Document --extract-applicability option.
15188
15189 2010-03-27  Bruno Haible  <bruno@clisp.org>
15190
15191         Use GNULIB_POSIXCHECK instead of GNULIB_PORTCHECK.
15192         * lib/time.in.h (asctime, asctime_r, ctime, ctime_r): Test
15193         GNULIB_POSIXCHECK, not GNULIB_PORTCHECK. Provide compile-time warnings
15194         rather than link errors.
15195
15196 2010-03-27  Bruno Haible  <bruno@clisp.org>
15197
15198         Avoid side effects from tests-related modules on the compilation of lib.
15199         * m4/gnulib-common.m4 (gl_MODULE_INDICATOR_CONDITION): New macro.
15200         (gl_MODULE_INDICATOR_SET_VARIABLE): Use its expansion as a value.
15201         * gnulib-tool (func_emit_tests_Makefile_am): Accept a witness_macro
15202         parameter. Emit into AM_CPPFLAGS a definition of the designated C
15203         macro.
15204         (func_import): Define a witness macro. Assign it a value that depends
15205         on the current package. Override gl_MODULE_INDICATOR_CONDITION for the
15206         tests-related modules.
15207         (func_create_testdir): Update func_emit_tests_Makefile_am invocation.
15208         Reported by Jim Meyering.
15209
15210 2010-03-27  Bruno Haible  <bruno@clisp.org>
15211
15212         Factorize common .m4 code.
15213         * m4/gnulib-common.m4 (gl_MODULE_INDICATOR_SET_VARIABLE): New macro.
15214         * m4/arpa_inet_h.m4 (gl_ARPA_INET_MODULE_INDICATOR): Use it.
15215         * m4/ctype.m4 (gl_CTYPE_MODULE_INDICATOR): Likewise.
15216         * m4/dirent_h.m4 (gl_DIRENT_MODULE_INDICATOR): Likewise.
15217         * m4/fcntl_h.m4 (gl_FCNTL_MODULE_INDICATOR): Likewise.
15218         * m4/iconv_h.m4 (gl_ICONV_MODULE_INDICATOR): Likewise.
15219         * m4/inttypes.m4 (gl_INTTYPES_MODULE_INDICATOR): Likewise.
15220         * m4/langinfo_h.m4 (gl_LANGINFO_MODULE_INDICATOR): Likewise.
15221         * m4/locale_h.m4 (gl_LOCALE_MODULE_INDICATOR): Likewise.
15222         * m4/math_h.m4 (gl_MATH_MODULE_INDICATOR): Likewise.
15223         * m4/netdb_h.m4 (gl_NETDB_MODULE_INDICATOR): Likewise.
15224         * m4/pty_h.m4 (gl_PTY_MODULE_INDICATOR): Likewise.
15225         * m4/search_h.m4 (gl_SEARCH_MODULE_INDICATOR): Likewise.
15226         * m4/signal_h.m4 (gl_SIGNAL_MODULE_INDICATOR): Likewise.
15227         * m4/spawn_h.m4 (gl_SPAWN_MODULE_INDICATOR): Likewise.
15228         * m4/stddef_h.m4 (gl_STDDEF_MODULE_INDICATOR): Likewise.
15229         * m4/stdio_h.m4 (gl_STDIO_MODULE_INDICATOR): Likewise.
15230         * m4/stdlib_h.m4 (gl_STDLIB_MODULE_INDICATOR): Likewise.
15231         * m4/string_h.m4 (gl_STRING_MODULE_INDICATOR): Likewise.
15232         * m4/strings_h.m4 (gl_STRINGS_MODULE_INDICATOR): Likewise.
15233         * m4/sys_file_h.m4 (gl_HEADER_SYS_FILE_MODULE_INDICATOR): Likewise.
15234         * m4/sys_ioctl_h.m4 (gl_SYS_IOCTL_MODULE_INDICATOR): Likewise.
15235         * m4/sys_select_h.m4 (gl_SYS_SELECT_MODULE_INDICATOR): Likewise.
15236         * m4/sys_socket_h.m4 (gl_SYS_SOCKET_MODULE_INDICATOR): Likewise.
15237         * m4/sys_stat_h.m4 (gl_SYS_STAT_MODULE_INDICATOR): Likewise.
15238         * m4/sys_time_h.m4 (gl_SYS_TIME_MODULE_INDICATOR): Likewise.
15239         * m4/sys_times_h.m4 (gl_SYS_TIMES_MODULE_INDICATOR): Likewise.
15240         * m4/sys_utsname_h.m4 (gl_SYS_UTSNAME_MODULE_INDICATOR): Likewise.
15241         * m4/sys_wait_h.m4 (gl_SYS_WAIT_MODULE_INDICATOR): Likewise.
15242         * m4/time_h.m4 (gl_TIME_MODULE_INDICATOR): Likewise.
15243         * m4/unistd_h.m4 (gl_UNISTD_MODULE_INDICATOR): Likewise.
15244         * m4/wchar_h.m4 (gl_WCHAR_MODULE_INDICATOR): Likewise.
15245
15246 2010-03-27  Bruno Haible  <bruno@clisp.org>
15247
15248         Fix a compilation error on Cygwin with g++ >= 4.3.
15249         * lib/sys_stat.in.h (lchmod): Don't warn about the use of this function
15250         if it is undefined or if we alias it to chmod.
15251         (lstat): Don't warn about the use of this function if it is undefined
15252         or if we alias it to stat.
15253         Reported by Simon Josefsson.
15254
15255 2010-03-27  Bruno Haible  <bruno@clisp.org>
15256
15257         * m4/getlogin.m4 (gl_FUNC_GETLOGIN): Renamed from gl_GETLOGIN.
15258         * modules/getlogin (configure.ac): Update.
15259
15260         * m4/getlogin_r.m4 (gl_FUNC_GETLOGIN_R): Renamed from gl_GETLOGIN_R.
15261         * modules/getlogin_r (configure.ac): Update.
15262
15263         * m4/inet_ntop.m4 (gl_FUNC_INET_NTOP): Renamed from gl_INET_NTOP.
15264         * m4/getaddrinfo.m4 (gl_GETADDRINFO): Update.
15265         * modules/inet_ntop (configure.ac): Update.
15266
15267         * m4/inet_pton.m4 (gl_FUNC_INET_PTON): Renamed from gl_INET_PTON.
15268         * modules/inet_pton (configure.ac): Update.
15269
15270         * m4/mbslen.m4 (gl_FUNC_MBSLEN): Renamed from gl_MBSLEN.
15271         * modules/mbslen (configure.ac): Update.
15272
15273         * m4/pty.m4 (gl_FUNC_FORKPTY): Renamed from gl_FORKPTY.
15274         (gl_FUNC_OPENPTY): Renamed from gl_OPENPTY.
15275         * modules/forkpty (configure.ac): Update.
15276         * modules/openpty (configure.ac): Update.
15277
15278 2010-03-26  Simon Josefsson  <simon@josefsson.org>
15279
15280         * top/maint.mk (sc_texinfo_acronym): Don't infloop if there is
15281         no *.texi files.  Reported by Eric Blake <eblake@redhat.com>.
15282
15283 2010-03-25  Eric Blake  <eblake@redhat.com>
15284
15285         maint: use pragma consistently across replacement headers
15286         * lib/ctype.in.h (system_header): Hoist for consistent placement.
15287         * lib/dirent.in.h (system_header): Likewise.
15288         * lib/errno.in.h (system_header): Likewise.
15289         * lib/float.in.h (system_header): Likewise.
15290         * lib/getopt.in.h (system_header): Likewise.
15291         * lib/iconv.in.h (system_header): Likewise.
15292         * lib/inttypes.in.h (system_header): Likewise.
15293         * lib/langinfo.in.h (system_header): Likewise.
15294         * lib/locale.in.h (system_header): Likewise.
15295         * lib/math.in.h (system_header): Likewise.
15296         * lib/netdb.in.h (system_header): Likewise.
15297         * lib/netinet_in.in.h (system_header): Likewise.
15298         * lib/pty.in.h (system_header): Likewise.
15299         * lib/sched.in.h (system_header): Likewise.
15300         * lib/se-selinux.in.h (system_header): Likewise.
15301         * lib/search.in.h (system_header): Likewise.
15302         * lib/spawn.in.h (system_header): Likewise.
15303         * lib/stdarg.in.h (system_header): Likewise.
15304         * lib/stdint.in.h (system_header): Likewise.
15305         * lib/string.in.h (system_header): Likewise.
15306         * lib/strings.in.h (system_header): Likewise.
15307         * lib/sys_file.in.h (system_header): Likewise.
15308         * lib/sys_ioctl.in.h (system_header): Likewise.
15309         * lib/sys_socket.in.h (system_header): Likewise.
15310         * lib/sys_times.in.h (system_header): Likewise.
15311         * lib/sys_utsname.in.h (system_header): Likewise.
15312         * lib/sys_wait.in.h (system_header): Likewise.
15313         * lib/sysexits.in.h (system_header): Likewise.
15314         * lib/unistd.in.h (system_header): Likewise.
15315         * lib/wctype.in.h (system_header): Likewise.
15316
15317         arpa/inet: fix mingw compilation warning
15318         * lib/arpa_inet.in.h (system_header): Hoist to be unconditional.
15319         Reported by Matthew Bolte.
15320
15321 2010-03-25  Bruno Haible  <bruno@clisp.org>
15322
15323         Avoid collision between gnulib wrapper and libintl wrapper.
15324         * lib/printf.c (printf): Don't define if a printf wrapper is already
15325         defined in intl/printf.c.
15326         Reported by Michel Boaventura <michel@michelboaventura.com>.
15327
15328 2010-03-25  Bruno Haible  <bruno@clisp.org>
15329
15330         Use ANSI C.
15331         * lib/readutmp.h (getutent): Provide ANSI C prototype.
15332
15333 2010-03-25  Bruno Haible  <bruno@clisp.org>
15334
15335         Minor formatting changes.
15336         * lib/acosl.c: Insert space before function argument list.
15337         * lib/argz.c: Likewise.
15338         * lib/asinl.c: Likewise.
15339         * lib/expl.c: Likewise.
15340         * lib/gen-uni-tables.c: Likewise.
15341         * lib/gettext.h: Likewise.
15342         * lib/glthread/lock.h: Likewise.
15343         * lib/tanl.c: Likewise.
15344         * lib/uniname/uniname.c: Likewise.
15345         * tests/test-idpriv-drop.c: Likewise.
15346         * tests/test-idpriv-droptemp.c: Likewise.
15347         * tests/test-lock.c: Likewise.
15348         * tests/test-tls.c: Likewise.
15349         * lib/argp-help.c: Insert space before function-like macro argument
15350         list.
15351         * lib/memcmp.c: Likewise.
15352         * tests/test-base64.c: Likewise.
15353         * lib/localename.c: Insert space before sizeof's argument list.
15354         * lib/safe-alloc.h: Likewise.
15355         * lib/file-set.h: Insert space before macro argument list.
15356         * tests/test-argp.c: Likewise.
15357         * lib/argp-namefrob.h: Insert space before function parameter list.
15358         * lib/getaddrinfo.c: Likewise.
15359         * lib/netdb.in.h: Likewise.
15360         * lib/parse-duration.h: Likewise.
15361         * lib/parse-duration.c: Likewise.
15362         * lib/poll.c: Likewise.
15363         * lib/select.c: Likewise.
15364         * lib/trim.h: Likewise.
15365         * tests/test-usleep.c: Likewise.
15366         * lib/ldexpl.c: Insert space before function parameter list and before
15367         function argument list.
15368         * lib/logl.c: Likewise.
15369         * lib/sqrtl.c: Likewise.
15370         * lib/trim.c: Likewise.
15371         * lib/cosl.c: Use GNU style indentation. Insert space before function
15372         argument list.
15373         * lib/sinl.c: Likewise.
15374         * lib/tsearch.c: Insert space after 'for'.
15375         Reported by Jim Meyering.
15376
15377 2010-03-23  Pádraig Brady  <P@draigBrady.com>  (tiny change)
15378
15379         * maint.mk (sc_Wundef_boolean): Check for the presence of the
15380         config header before grepping, as it's not present before
15381         autoreconf/configure are run.  Reported by Simon Josefsson.
15382
15383 2010-03-23  Bruno Haible  <bruno@clisp.org>
15384
15385         pt_chown: Make it work with automake < 1.11.
15386         * modules/pt_chown (Makefile.am): Define pkglibexecdir.
15387         Reported by Simon Josefsson.
15388
15389 2010-03-23  Bruno Haible  <bruno@clisp.org>
15390
15391         pt_chown: Don't depend on GPLed modules.
15392         * lib/pt_chown.c: Don't include idpriv.h.
15393         (main): Don't drop privileges.
15394         * modules/pt_chown (Depends-on): Remove idpriv-drop.
15395         Reported by Simon Josefsson.
15396
15397 2010-03-24  Simon Josefsson  <simon@josefsson.org>
15398
15399         * top/maint.mk (sc_texinfo_acronym): Add rule, based on
15400         suggestions from karl@freefriends.org (Karl Berry).
15401
15402 2010-03-22  Eric Blake  <eblake@redhat.com>
15403
15404         gethostname: further tweaks
15405         * lib/unistd.in.h (includes): Only worry about <winsock2.h> if we
15406         are overriding gethostname.
15407         Suggested by Bruno Haible.
15408
15409 2010-03-21  Bruno Haible  <bruno@clisp.org>
15410
15411         Fix comments.
15412         * lib/forkpty.c (rpl_forkpty): Fix comment.
15413         * lib/openpty.c (rpl_openpty): Likewise.
15414         Reported by Eric Blake.
15415
15416 2010-03-22  Eric Blake  <eblake@redhat.com>
15417
15418         gethostname: fix build on mingw
15419         * lib/unistd.in.h (includes): Work around fact that mingw
15420         <winsock2.h> re-includes <unistd.h>, by avoiding any
15421         redeclarations if we are being included by <winsock2.h>.
15422         Reported by Matthias Bolte.
15423
15424 2010-03-21  Bruno Haible  <bruno@clisp.org>
15425
15426         forkpty: Provide replacement on AIX, HP-UX, IRIX, Solaris.
15427         * lib/forkpty.c (forkpty): New replacement function, from glibc with
15428         modifications.
15429         * lib/pty.in.h (forkpty): Update declaration. Add comments.
15430         * m4/pty.m4 (gl_FORKPTY): If forkpty is not declared, arrange to
15431         provide the replacement.
15432         * modules/forkpty (Depends-on): Add openpty, login_tty.
15433         * m4/pty_h.m4 (gl_PTY_H_DEFAULTS): Initialize HAVE_FORKPTY.
15434         * modules/pty (Makefile.am): Substitute HAVE_FORKPTY.
15435         * doc/glibc-functions/forkpty.texi: More supported platforms.
15436         * config/srclist.txt: Add forkpty.c (commented).
15437
15438 2010-03-21  Bruno Haible  <bruno@clisp.org>
15439
15440         * modules/forkpty-tests: Use the common TEMPLATE-TESTS.
15441         (Makefile.am): Verify that PTY_LIB is defined.
15442
15443         * modules/openpty-tests: Use the common TEMPLATE-TESTS.
15444
15445 2010-03-21  Bruno Haible  <bruno@clisp.org>
15446
15447         Tests for module 'login_tty'.
15448         * modules/login_tty-tests: New file.
15449         * tests/test-login_tty.c: New file.
15450
15451         New module 'login_tty'.
15452         * lib/login_tty.c: New file.
15453         * m4/pty.m4 (gl_FUNC_LOGIN_TTY): New macro.
15454         * modules/login_tty: New file.
15455         * doc/glibc-functions/login_tty.texi: Mention the new module.
15456
15457 2010-03-21  Bruno Haible  <bruno@clisp.org>
15458
15459         login_tty: Documentation.
15460         * doc/glibc-functions/login_tty.texi: New file.
15461         * doc/gnulib.texi (Glibc <utmp.h>): Include it.
15462
15463 2010-03-21  Bruno Haible  <bruno@clisp.org>
15464
15465         pty: Consistent macro naming.
15466         * m4/pty_h.m4 (gl_PTY_H): Renamed from gl_PTY.
15467         * m4/pty.m4 (gl_FORKPTY, gl_OPENPTY): Update.
15468         * modules/pty (configure.ac): Update.
15469
15470 2010-03-21  Bruno Haible  <bruno@clisp.org>
15471
15472         Tests for openpty: Make stricter.
15473         * tests/test-openpty.c (main): Add test of canonical processing and
15474         erase.
15475         * modules/openpty-tests (Makefile.am): Verify that PTY_LIB is defined.
15476
15477         openpty: Provide replacement on AIX, HP-UX, IRIX, Solaris.
15478         * lib/openpty.c (openpty): New replacement function.
15479         * lib/pty.in.h: Include <termios.h>.
15480         (openpty): Update declaration. Add comments.
15481         * m4/pty.m4 (gl_OPENPTY): Require AC_USE_SYSTEM_EXTENSIONS. If openpty
15482         is not declared, arrange to provide the replacement. Check for _getpty
15483         and posix_openpt.
15484         * modules/openpty (Depends-on): Add extensions, fcntl-h, ioctl.
15485         * m4/pty_h.m4 (gl_PTY_H_DEFAULTS): Initialize HAVE_OPENPTY.
15486         * modules/pty (Makefile.am): Substitute HAVE_OPENPTY.
15487         * modules/pty-tests (test_pty_c___LDADD): New variable.
15488         * doc/glibc-functions/openpty.texi: More supported platforms.
15489
15490 2010-03-21  Bruno Haible  <bruno@clisp.org>
15491
15492         setenv: Tweaks.
15493         * m4/setenv.m4 (gl_FUNC_SETENV_SEPARATE): Include necessary headers in
15494         the test program.
15495         * doc/posix-functions/setenv.texi: Update platforms list.
15496
15497 2010-03-21  Bruno Haible  <bruno@clisp.org>
15498
15499         New module 'unlockpt'.
15500         * lib/unlockpt.c: New file, from glibc with modifications.
15501         * m4/unlockpt.m4: New file.
15502         * modules/unlockpt: New file.
15503         * lib/stdlib.in.h (unlockpt): New declaration.
15504         * m4/stdlib_h.m4 (gl_STDLIB_H): Check whether unlockpt is declared.
15505         (gl_STDLIB_H_DEFAULTS): Initialize GNULIB_UNLOCKPT, HAVE_UNLOCKPT.
15506         * modules/stdlib (Makefile.am): Substitute GNULIB_UNLOCKPT,
15507         HAVE_UNLOCKPT.
15508         * doc/posix-functions/unlockpt.texi: Mention the new module.
15509         * tests/test-stdlib-c++.cc: Check GNULIB_NAMESPACE::unlockpt.
15510         * config/srclist.txt: Add unlockpt.c (commented).
15511
15512 2010-03-21  Jim Meyering  <meyering@redhat.com>
15513
15514         maint.mk: prohibit inclusion of "intprops.h" without use
15515         * top/maint.mk (sc_prohibit_intprops_without_use): New rule.
15516
15517 2010-03-21  Bruno Haible  <bruno@clisp.org>
15518
15519         New module 'grantpt'.
15520         * lib/grantpt.c: New file, from glibc with modifications.
15521         * m4/grantpt.m4: New file.
15522         * modules/grantpt: New file.
15523         * lib/stdlib.in.h (grantpt): New declaration.
15524         * m4/stdlib_h.m4 (gl_STDLIB_H): Check whether grantpt is declared.
15525         (gl_STDLIB_H_DEFAULTS): Initialize GNULIB_GRANTPT, HAVE_GRANTPT.
15526         * modules/stdlib (Makefile.am): Substitute GNULIB_GRANTPT,
15527         HAVE_GRANTPT.
15528         * doc/posix-functions/grantpt.texi: Mention the new module.
15529         * tests/test-stdlib-c++.cc: Check GNULIB_NAMESPACE::grantpt.
15530         * config/srclist.txt: Add grantpt.c (commented).
15531
15532 2010-03-21  Bruno Haible  <bruno@clisp.org>
15533
15534         New module 'pt_chown'.
15535         * lib/pt_chown.c: New file, from glibc with modifications.
15536         * lib/pty-private.h: New file, from glibc with modifications.
15537         * modules/pt_chown: New file.
15538         * config/srclist.txt: Add pt_chown.c, pty-private.h (commented).
15539
15540 2010-03-21  Bruno Haible  <bruno@clisp.org>
15541
15542         Tests for module 'ptsname'.
15543         * modules/ptsname-tests: New file.
15544         * tests/test-ptsname.c: New file.
15545
15546         New module 'ptsname'.
15547         * lib/ptsname.c: New file, from glibc with modifications.
15548         * m4/ptsname.m4: New file.
15549         * modules/ptsname: New file.
15550         * lib/stdlib.in.h (ptsname): New declaration.
15551         * m4/stdlib_h.m4 (gl_STDLIB_H): Check whether ptsname is declared.
15552         (gl_STDLIB_H_DEFAULTS): Initialize GNULIB_PTSNAME, HAVE_PTSNAME.
15553         * modules/stdlib (Makefile.am): Substitute GNULIB_PTSNAME,
15554         HAVE_PTSNAME.
15555         * doc/posix-functions/ptsname.texi: Mention the new module.
15556         * tests/test-stdlib-c++.cc: Check GNULIB_NAMESPACE::ptsname.
15557         * config/srclist.txt: Add ptsname.c (commented).
15558
15559 2010-03-21  Bruno Haible  <bruno@clisp.org>
15560
15561         Tests for module 'ttyname_r'.
15562         * modules/ttyname_r-tests: New file.
15563         * tests/test-ttyname_r.c: New file.
15564
15565         New module 'ttyname_r'.
15566         * lib/ttyname_r.c: New file.
15567         * m4/ttyname_r.m4: New file.
15568         * modules/ttyname_r: New file.
15569         * lib/unistd.in.h (ttyname_r): New declaration.
15570         * m4/unistd_h.m4 (gl_UNISTD_H): Check whether ttyname_r is declared.
15571         (gl_UNISTD_H_DEFAULTS): Initialize GNULIB_TTYNAME_R, HAVE_TTYNAME_R.
15572         * modules/unistd (Makefile.am): Substitute GNULIB_TTYNAME_R,
15573         HAVE_TTYNAME_R.
15574         * tests/test-unistd-c++.cc: Check GNULIB_NAMESPACE::ttyname_r.
15575         * doc/posix-functions/ttyname_r.texi: Mention the new module.
15576
15577 2010-03-20  Bruno Haible  <bruno@clisp.org>
15578
15579         signal: Undefine macro definitions in C++ mode.
15580         * lib/signal.in.h (sigismember, sigemptyset, sigaddset, sigdelset,
15581         sigfillset): Undefine macro definitions from the system header in C++
15582         mode.
15583         Reported by John W. Eaton <jwe@gnu.org>.
15584
15585 2010-03-20  Bruno Haible  <bruno@clisp.org>
15586
15587         Ensure no #include statements inside extern "C" { ... }.
15588         * lib/obstack.h: Shrink extern "C" { ... } region so that it does not
15589         contain #include statements.
15590         * lib/time.in.h: Likewise.
15591
15592 2010-03-20  Bruno Haible  <bruno@clisp.org>
15593
15594         Make _GL_WARN_ON_USE usable in C++ and C mode in the same compilation.
15595         * build-aux/warn-on-use.h (_GL_WARN_EXTERN_C): New macro.
15596         (_GL_WARN_ON_USE, _GL_WARN_ON_USE_CXX): Likewise.
15597         Reported by John W. Eaton <jwe@gnu.org>.
15598
15599 2010-03-20  Bruno Haible  <bruno@clisp.org>
15600
15601         * m4/unlink.m4 (gl_FUNC_UNLINK): Fix last commit.
15602         Reported by Jim Meyering.
15603
15604 2010-03-20  Bruno Haible  <bruno@clisp.org>
15605
15606         pipe: Set errno upon failure.
15607         * lib/pipe.h: Specify that when -1 is returned, errno is set.
15608         * lib/pipe.c (create_pipe): Set errno when returning -1. Use the right
15609         errno value in error message.
15610
15611 2010-03-20  Bruno Haible  <bruno@clisp.org>
15612             Jim Meyering  <meyering@redhat.com>
15613
15614         lchown: Avoid "unused variable" warning.
15615         * lib/lchown.c (rpl_lchown): Move variable 'st' into #if block.
15616
15617 2010-03-20  Bruno Haible  <bruno@clisp.org>
15618
15619         Work around unlink() bug on MacOS X 10.5.6.
15620         * lib/unlink.c (rpl_unlink): If UNLINK_PARENT_BUG is defined, fail when
15621         attempting to unlink a parent directory.
15622         * m4/unlink.m4 (gl_FUNC_UNLINK): Require AC_CANONICAL_HOST. Test for
15623         MacOS X 10.5 bug. If the bug is present, define UNLINK_PARENT_BUG and
15624         activate for the replacement function.
15625         * doc/posix-functions/unlink.texi: Mention the MacOS X 10.5 bug.
15626
15627 2010-03-20  Bruno Haible  <bruno@clisp.org>
15628
15629         Fix link errors on Solaris 8.
15630         * modules/dirent-tests (test_dirent_c___LDADD): Add LIB_NANOSLEEP.
15631         * modules/wctype-tests (test_wctype_c___LDADD): Likewise.
15632
15633 2010-03-19  Jim Meyering  <meyering@redhat.com>
15634
15635         regcomp.c: make non-_LIBC implementation of build_range_exp consistent
15636         The _LIBC implementation of build_range_exp correctly honors the
15637         RE_NO_EMPTY_RANGES flag when checking for reversed range endpoints.
15638         However, the non-_LIBC implementation would ignore that syntax-bit
15639         flag and return REG_ERANGE unconditionally.
15640         This change makes it honor that flag.
15641         * lib/regcomp.c (build_range_exp) [!_LIBC]: Add a parameter: "syntax".
15642         Make two pointer parameters "const".
15643         Use "syntax" bits in order to honor RE_NO_EMPTY_RANGES.
15644         (parse_bracket_exp): Update caller.
15645
15646         regex.m4: correct the reversed range endpoint ([b-a]) test
15647         * m4/regex.m4: When requiring that [b-a] evoke failure,
15648         use RE_NO_EMPTY_RANGES.  This makes this entire configure-time
15649         test pass once again for x86-based systems.
15650
15651 2010-03-19  Bruno Haible  <bruno@clisp.org>
15652
15653         scandir: Fix link error on Solaris 8.
15654         * lib/scandir.c (_D_EXACT_NAMLEN, _D_ALLOC_NAMLEN): New fallback
15655         macros.
15656
15657 2010-03-19  Bruno Haible  <bruno@clisp.org>
15658
15659         getusershell: Fix documentation.
15660         * doc/glibc-functions/endusershell.texi: Refer to the getusershell
15661         module.
15662         * doc/glibc-functions/setusershell.texi: Likewise.
15663
15664         getusershell: Provide declaration, missing on Solaris 9.
15665         * lib/unistd.in.h (getusershell, setusershell, endusershell): Declare
15666         also if HAVE_GETUSERSHELL && !HAVE_DECL_GETUSERSHELL.
15667         * m4/getusershell.m4 (gl_FUNC_GETUSERSHELL): When the function exists,
15668         check whether it is declared. Set HAVE_DECL_GETUSERSHELL.
15669         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize
15670         HAVE_DECL_GETUSERSHELL, not HAVE_GETUSERSHELL.
15671         * modules/unistd (Makefile.am): Substitute HAVE_DECL_GETUSERSHELL, not
15672         HAVE_GETUSERSHELL.
15673         * doc/glibc-functions/getusershell.texi: Mention the Solaris problem.
15674
15675 2010-03-19  Bruno Haible  <bruno@clisp.org>
15676
15677         wctype: Provide iswblank function.
15678         * lib/wctype.in.h (iswblank): Provide a replacement also when iswcntrl
15679         exists and is fine.
15680         * m4/wctype_h.m4 (gl_WCTYPE_H): Also check whether iswcntrl exists.
15681         * modules/wctype (Makefile.am): Substitute HAVE_ISWBLANK.
15682         * tests/test-wctype.c (main): Re-enable the iswblank tests.
15683         * doc/posix-functions/iswblank.texi: Update.
15684
15685 2010-03-19  Bruno Haible  <bruno@clisp.org>
15686
15687         Tests of module 'pty' in C++ mode.
15688         * modules/pty-tests: New file.
15689         * tests/test-pty-c++.cc: New file.
15690         * m4/pty_h.m4 (gl_PTY_MODULE_INDICATOR): Invoke gl_MODULE_INDICATOR.
15691
15692 2010-03-19  Eric Blake  <eblake@redhat.com>
15693
15694         logb: fix documentation
15695         * doc/posix-functions/logb.texi (logb): Gnulib fixes the cygwin
15696         1.5 declaration bug.
15697
15698         forkpty, openpty: prefer glibc's const-safe prototype
15699         * lib/forkpty.c (rpl_forkpty): New file.
15700         * lib/openpty.c (rpl_openpty): Likewise.
15701         * modules/forkpty (Files): Distribute it.
15702         * modules/openpty (Files): Likewise.
15703         * m4/pty_h.m4 (gl_PTY_H_DEFAULTS): Add new witnesses.  Move decl
15704         check...
15705         * m4/pty.m4 (gl_FORKPTY, gl_OPENPTY): ...here.  Request
15706         replacement for for non-const BSD signature.
15707         * modules/pty (Makefile.am): Substitute witnesses.
15708         * lib/pty.in.h (forkpty, openpty): Declare replacements.
15709         * tests/test-forkpty.c: Update signature check.
15710         * tests/test-openpty.c: Likewise.
15711         * doc/glibc-functions/forkpty.texi (forkpty): Document the fix.
15712         * doc/glibc-functions/openpty.texi (openpty): Likewise.
15713
15714         forkpty, openpty: split functions into new modules
15715         * modules/pty (Makefile.am): Substitute new witnesses.
15716         (Libraries): Move library detection...
15717         * modules/forkpty: ...into new module.
15718         * modules/openpty: Another new module.
15719         * modules/pty-tests: Rename and split...
15720         * modules/forkpty-tests: ...to this...
15721         * modules/openpty-tests: ...and this.
15722         * tests/test-pty.c: Rename and split...
15723         * tests/test-forkpty.c: ...to this...
15724         * tests/test-openpty.c: ...and this.
15725         * m4/pty_h.m4 (gl_PTY_H_DEFAULTS): Add new witnesses.
15726         (gl_PTY): Split library searching...
15727         * m4/pty.m4 (gl_PTY_LIB): ...into new file.
15728         (gl_FORKPTY, gl_OPENPTY): New macros.
15729         * lib/pty.in.h (forkpty, openpty): Honor new witnesses.
15730         * NEWS: Mention the split.
15731         * MODULES.html.sh (Misc): Document the modules.
15732         * doc/glibc-functions/forkpty.texi (forkpty): Likewise.
15733         * doc/glibc-functions/openpty.texi (openpty): Likewise.
15734
15735         pty: improve replacement header
15736         * lib/pty.in.h: New file.
15737         * modules/pty (Files): Ship it.
15738         (Makefile.am): Always build replacement.
15739         * m4/pty.m4: Rename...
15740         * m4/pty_h.m4: ...to this.
15741         (gl_PTY): Modernize setting of witness macros; update check of
15742         forkpty to take proper advantage of cache.
15743         (gl_PTY_MODULE_INDICATOR, gl_PTY_H_DEFAULTS): New macros.
15744
15745         getopt: avoid compiler warning
15746         * lib/getopt.c (attribute_hidden): Remove unused macro.
15747
15748 2010-03-18  Bruno Haible  <bruno@clisp.org>
15749
15750         Fix link errors on Solaris 8.
15751         * modules/iconv-h-tests (test_iconv_h_c___LDADD): Add LIB_NANOSLEEP.
15752         * modules/search-tests (test_search_c___LDADD): Likewise.
15753         * modules/signal-tests (test_signal_c___LDADD): Likewise.
15754         * modules/spawn-tests (test_spawn_c___LDADD): Likewise.
15755         * modules/stdio-tests (test_stdio_c___LDADD): Likewise.
15756         * modules/sys_select-tests (test_sys_select_c___LDADD): Likewise.
15757         * modules/sys_socket-tests (test_sys_socket_c___LDADD): Likewise.
15758         * modules/sys_time-tests (test_sys_time_c___LDADD): Likewise.
15759         * modules/wchar-tests (test_wchar_c___LDADD): Likewise.
15760
15761 2010-03-18  Bruno Haible  <bruno@clisp.org>
15762
15763         Fix bug introduced on 2010-03-14.
15764         * m4/spawn_h.m4 (gl_HAVE_POSIX_SPAWN): New macro.
15765         (gl_SPAWN_H): Require it.
15766         * m4/posix_spawn.m4 (gl_POSIX_SPAWN_BODY): Likewise.
15767         Reported by Simon Josefsson.
15768
15769 2010-03-18  Bruno Haible  <bruno@clisp.org>
15770
15771         Fix typo introduced on 2009-12-31.
15772         * m4/spawn_h.m4 (gl_SPAWN_H): Check for the declaration of
15773         posix_spawn_file_actions_adddup2.
15774
15775 2010-03-17  Bert Wesarg  <bert.wesarg@googlemail.com>  (tiny change)
15776         and Eric Blake  <eblake@redhat.com>
15777
15778         test-vc-list-files-git: make more robust
15779         * tests/test-vc-list-files-git.sh: Unset problematic environment
15780         variables.  Chain commands together.
15781
15782 2010-03-17  Ludovic Courtès <ludo@gnu.org>  (tiny change)
15783
15784         * m4/pty.m4: Unset $ac_cv_have_decl_forkpty before the second
15785         `AC_CHECK_DECL' invocation.
15786
15787 2010-03-15  Sergey Poznyakoff  <gray@gnu.org.ua>
15788
15789         * lib/inttostr.c (inttostr): Make sure the invocation of verify
15790         appears before executable statements. Suggested by Petr Sumbera
15791         <Petr.Sumbera@Sun.COM>.
15792
15793 2010-03-14  Bruno Haible  <bruno@clisp.org>
15794
15795         * tests/test-flock.c (test_exclusive): Comment out a test that causes
15796         portability problems. Instead use a simpler test.
15797         (main): Check that invalid arguments are rejected only on Linux.
15798
15799 2010-03-14  Bruno Haible  <bruno@clisp.org>
15800
15801         Fix bug introduced on 2009-12-31.
15802         * m4/sys_select_h.m4 (gl_HEADER_SYS_SELECT): Invoke
15803         gl_PREREQ_SYS_H_WINSOCK2 always.
15804         * m4/sys_socket_h.m4 (gl_HEADER_SYS_SOCKET): Likewise. Remove
15805         SYS_SOCKET_H variable.
15806         * m4/sys_file_h.m4 (gl_HEADER_SYS_FILE_H): Remove test for flock.
15807         Update comments.
15808         * m4/ctype.m4 (gl_CTYPE_H): Update comments.
15809         * m4/langinfo_h.m4 (gl_LANGINFO_H): Likewise.
15810         * m4/sys_times_h.m4 (gl_SYS_TIMES_H): Likewise.
15811         * m4/sys_utsname_h.m4 (gl_SYS_UTSNAME_H): Likewise.
15812         * m4/sys_wait_h.m4 (gl_SYS_WAIT_H): Likewise.
15813
15814 2010-03-14  Bruno Haible  <bruno@clisp.org>
15815
15816         Fix values returned by sinl, cosl.
15817         * lib/trigl.h: Add specification comments.
15818         * lib/sincosl.c (kernel_sinl, kernel_cosl): Fix comments and formula
15819         that combines the values from the precomputed table with the values of
15820         the Chebyshev polynomials.
15821
15822 2010-03-14  Bruno Haible  <bruno@clisp.org>
15823
15824         Fix compilation error when modules 'posix_spawn[p]' are not used.
15825         * m4/spawn_h.m4 (gl_SPAWN_H): Set HAVE_POSIX_SPAWN here.
15826         * m4/posix_spawn.m4 (gl_POSIX_SPAWN_BODY): ... not here.
15827
15828 2010-03-14  Bruno Haible  <bruno@clisp.org>
15829
15830         Fix compilation error on mingw when module 'time_r' is not used.
15831         * lib/time.in.h (localtime_r, gmtime_r): Declare only if GNULIB_TIME_R
15832         is 1.
15833         * tests/test-time-c++.cc (localtime_r, gmtime_r): Likewise.
15834         * modules/time_r (configure.ac): Invoke gl_TIME_MODULE_INDICATOR.
15835         * modules/time (Makefile.am): Substitute GNULIB_TIME_R.
15836         * m4/time_h.m4 (gl_HEADER_TIME_H_DEFAULTS): Initialize GNULIB_TIME_R.
15837
15838 2010-03-14  Bruno Haible  <bruno@clisp.org>
15839
15840         Fix compilation error with Sun C.
15841         * lib/strtol.c: Use LLONG_MIN instead of GCC specific LONG_LONG_MIN.
15842         Use LLONG_MAX instead of GCC specific LONG_LONG_MAX. Use ULLONG_MAX
15843         instead of GCC specific ULONG_LONG_MAX.
15844         * lib/xstrtoll.c: Likewise.
15845         * lib/xstrtoull.c: Likewise.
15846
15847 2010-03-13  Bruno Haible  <bruno@clisp.org>
15848
15849         Allow the user to disable C++ code and tests.
15850         * m4/ansi-c++.m4 (gl_CXX_CHOICE): New macro.
15851         (gl_PROG_ANSI_CXX): Require it.
15852
15853 2010-03-13  Bruno Haible  <bruno@clisp.org>
15854
15855         * DEPENDENCIES (libtool): Mention libtool 2.2.x requirement in special
15856         cases.
15857
15858 2010-03-13  Bruno Haible  <bruno@clisp.org>
15859
15860         Test that gnulib does not break the standard C++ headers.
15861         * tests/test-locale-c++2.cc: New file.
15862         * modules/locale-tests (Files): Add it.
15863         (Makefile.am): Compile it for test-locale-c++.
15864         * tests/test-math-c++2.cc: New file.
15865         * modules/math-tests (Files): Add it.
15866         (Makefile.am): Compile it for test-math-c++.
15867         * tests/test-signal-c++2.cc: New file.
15868         * modules/signal-tests (Files): Add it.
15869         (Makefile.am): Compile it for test-signal-c++.
15870         * tests/test-stdio-c++2.cc: New file.
15871         * modules/stdio-tests (Files): Add it.
15872         (Makefile.am): Compile it for test-stdio-c++.
15873         * tests/test-stdlib-c++2.cc: New file.
15874         * modules/stdlib-tests (Files): Add it.
15875         (Makefile.am): Compile it for test-stdlib-c++.
15876         * tests/test-string-c++2.cc: New file.
15877         * modules/string-tests (Files): Add it.
15878         (Makefile.am): Compile it for test-string-c++.
15879         * tests/test-time-c++2.cc: New file.
15880         * modules/time-tests (Files): Add it.
15881         (Makefile.am): Compile it for test-time-c++.
15882         Reported by John W. Eaton <jwe@gnu.org>.
15883
15884 2010-03-13  Bruno Haible  <bruno@clisp.org>
15885
15886         * gnulib-tool (func_usage): Clarify which options are available for
15887         --create-testdir and --create-megatestdir.
15888
15889 2010-03-13  Bruno Haible  <bruno@clisp.org>
15890
15891         Fix compilation error with glibc >= 2.10 and g++ >= 4.4.
15892         * build-aux/warn-on-use.h (_GL_WARN_ON_USE_CXX): New macro.
15893         * build-aux/c++defs.h (_GL_CXXALIASWARN1): New macro.
15894         * lib/string.in.h (memchr, memrchr, rawmemchr, strchrnul, strpbrk,
15895         strstr, strcasestr): Use _GL_CXXALIASWARN1 instead of _GL_CXXALIASWARN
15896         when appropriate.
15897         Reported by Jim Meyering.
15898
15899 2010-03-12  Simon Josefsson  <simon@josefsson.org>
15900
15901         * gnulib-tool (func_import): Explain origin of code.
15902
15903 2010-03-12  Bruno Haible  <bruno@clisp.org>
15904
15905         Fix problem with automake's definition of CXXLINK.
15906         * gnulib-tool (func_create_testdir): After LT_INIT, also use LT_LANG.
15907         Reported by Simon Josefsson and Ludovic Courtès.
15908
15909 2010-03-12  Bruno Haible  <bruno@clisp.org>
15910
15911         * doc/gnulib-intro.texi (Steady Development): Mention Ian Beckwith's
15912         stable releases.
15913
15914 2010-03-11  Bruno Haible  <bruno@clisp.org>
15915
15916         Fix problems with overloaded C++ definitions of memchr, strpbrk, etc.
15917         * build-aux/c++defs.h (_GL_CXXALIAS_SYS_CAST2): Make it work regardless
15918         whether the system provides one variant or multiple variants of the
15919         function.
15920         * lib/string.in.h (memchr, strpbrk): Use _GL_CXXALIAS_SYS_CAST2 for all
15921         C++ compilers.
15922         (memrchr, rawmemchr, strchrnul, strstr, strcasestr): Use
15923         _GL_CXXALIAS_SYS_CAST2 instead of _GL_CXXALIAS_SYS.
15924         Reported by Jim Meyering.
15925
15926 2010-03-09  Simon Josefsson  <simon@josefsson.org>
15927
15928         * gnulib-tool (LIBTOOLPATH): Fix cut'n'paste bug.
15929
15930 2010-03-08  Bruno Haible  <bruno@clisp.org>
15931
15932         gnulib-tool: Add support for --libtool in --create-testdir.
15933         * gnulib-tool (LIBTOOLPATH, LIBTOOLIZE): New variables.
15934         (func_create_testdir): Emit LT_INIT invocations. Invoke LIBTOOLIZE.
15935
15936 2010-03-08  Eric Blake  <eblake@redhat.com>
15937
15938         gnulib-tool.texi: mention possibility of git submodule
15939         * doc/gnulib-tool.texi (VCS Issues): Add details about using git
15940         submodules.
15941         * doc/.gitignore: Ignore another generated file.
15942
15943 2010-03-08  Karl Berry  <karl@gnu.org>
15944
15945         * doc/gnulib-tool.texi (VCS Issues): Mention third option
15946         of committing gnulib files while skipping others.
15947
15948 2010-03-07  Bruno Haible  <bruno@clisp.org>
15949
15950         Tests of module 'wctype' in C++ mode.
15951         * tests/test-wctype-c++.cc: New file.
15952         * modules/wctype-tests (Files): Add it and tests/signature.h.
15953         (Depends-on): Add ansi-c++-opt.
15954         (Makefile.am): Arrange to compile and run test-wctype-c++.
15955
15956         Tests of module 'wchar' in C++ mode.
15957         * tests/test-wchar-c++.cc: New file.
15958         * modules/wchar-tests (Files): Add it and tests/signature.h.
15959         (Depends-on): Add ansi-c++-opt.
15960         (Makefile.am): Arrange to compile and run test-wchar-c++.
15961         * m4/wchar_h.m4 (gl_WCHAR_MODULE_INDICATOR): Invoke
15962         gl_MODULE_INDICATOR.
15963
15964         Tests of module 'unistd' in C++ mode.
15965         * tests/test-unistd-c++.cc: New file.
15966         * modules/unistd-tests (Files): Add it and tests/signature.h.
15967         (Depends-on): Add ansi-c++-opt.
15968         (Makefile.am): Arrange to compile and run test-unistd-c++.
15969         * m4/unistd_h.m4 (gl_UNISTD_MODULE_INDICATOR): Invoke
15970         gl_MODULE_INDICATOR.
15971
15972         Tests of module 'time' in C++ mode.
15973         * tests/test-time-c++.cc: New file.
15974         * modules/time-tests (Files): Add it and tests/signature.h.
15975         (Depends-on): Add ansi-c++-opt.
15976         (Makefile.am): Arrange to compile and run test-time-c++.
15977         * m4/time_h.m4 (gl_TIME_MODULE_INDICATOR): Invoke gl_MODULE_INDICATOR.
15978
15979         Tests of module 'sys_time' in C++ mode.
15980         * tests/test-sys_time-c++.cc: New file.
15981         * modules/sys_time-tests (Files): Add it and tests/signature.h.
15982         (Depends-on): Add ansi-c++-opt.
15983         (Makefile.am): Arrange to compile and run test-sys_time-c++.
15984         * m4/sys_time_h.m4 (gl_SYS_TIME_MODULE_INDICATOR): Invoke
15985         gl_MODULE_INDICATOR.
15986
15987         Tests of module 'sys_stat' in C++ mode.
15988         * tests/test-sys_stat-c++.cc: New file.
15989         * modules/sys_stat-tests (Files): Add it and tests/signature.h.
15990         (Depends-on): Add ansi-c++-opt.
15991         (Makefile.am): Arrange to compile and run test-sys_stat-c++.
15992         * m4/sys_stat_h.m4 (gl_SYS_STAT_MODULE_INDICATOR): Invoke
15993         gl_MODULE_INDICATOR.
15994
15995         Tests of module 'sys_socket' in C++ mode.
15996         * tests/test-sys_socket-c++.cc: New file.
15997         * modules/sys_socket-tests (Files): Add it and tests/signature.h.
15998         (Depends-on): Add ansi-c++-opt.
15999         (Makefile.am): Arrange to compile and run test-sys_socket-c++.
16000         * m4/sys_socket_h.m4 (gl_SYS_SOCKET_MODULE_INDICATOR): Invoke
16001         gl_MODULE_INDICATOR.
16002
16003         Tests of module 'sys_select' in C++ mode.
16004         * tests/test-sys_select-c++.cc: New file.
16005         * modules/sys_select-tests (Files): Add it and tests/signature.h.
16006         (Depends-on): Add ansi-c++-opt.
16007         (Makefile.am): Arrange to compile and run test-sys_select-c++.
16008         * m4/sys_select_h.m4 (gl_SYS_SELECT_MODULE_INDICATOR): Invoke
16009         gl_MODULE_INDICATOR.
16010
16011         Tests of module 'sys_ioctl' in C++ mode.
16012         * tests/test-sys_ioctl-c++.cc: New file.
16013         * modules/sys_ioctl-tests (Files): Add it and tests/signature.h.
16014         (Depends-on): Add ansi-c++-opt.
16015         (Makefile.am): Arrange to compile and run test-sys_ioctl-c++.
16016         * m4/sys_ioctl_h.m4 (gl_SYS_IOCTL_MODULE_INDICATOR): Invoke
16017         gl_MODULE_INDICATOR.
16018
16019         Tests of module 'string' in C++ mode.
16020         * tests/test-string-c++.cc: New file.
16021         * modules/string-tests (Files): Add it and tests/signature.h.
16022         (Depends-on): Add ansi-c++-opt.
16023         (Makefile.am): Arrange to compile and run test-string-c++.
16024         * m4/string_h.m4 (gl_STRING_MODULE_INDICATOR): Invoke
16025         gl_MODULE_INDICATOR.
16026
16027         Tests of module 'stdlib' in C++ mode.
16028         * tests/test-stdlib-c++.cc: New file.
16029         * modules/stdlib-tests (Files): Add it and tests/signature.h.
16030         (Depends-on): Add ansi-c++-opt.
16031         (Makefile.am): Arrange to compile and run test-stdlib-c++.
16032         * m4/stdlib_h.m4 (gl_STDLIB_MODULE_INDICATOR): Invoke
16033         gl_MODULE_INDICATOR.
16034
16035         Tests of module 'stdio' in C++ mode.
16036         * tests/test-stdio-c++.cc: New file.
16037         * modules/stdio-tests (Files): Add it and tests/signature.h.
16038         (Depends-on): Add ansi-c++-opt.
16039         (Makefile.am): Arrange to compile and run test-stdio-c++.
16040         * m4/stdio_h.m4 (gl_STDIO_MODULE_INDICATOR): Invoke
16041         gl_MODULE_INDICATOR.
16042
16043         Tests of module 'spawn' in C++ mode.
16044         * tests/test-spawn-c++.cc: New file.
16045         * modules/spawn-tests (Files): Add it and tests/signature.h.
16046         (Depends-on): Add ansi-c++-opt.
16047         (Makefile.am): Arrange to compile and run test-spawn-c++.
16048         * m4/spawn_h.m4 (gl_SPAWN_MODULE_INDICATOR): Invoke
16049         gl_MODULE_INDICATOR.
16050
16051         Tests of module 'signal' in C++ mode.
16052         * tests/test-signal-c++.cc: New file.
16053         * modules/signal-tests (Files): Add it and tests/signature.h.
16054         (Depends-on): Add ansi-c++-opt.
16055         (Makefile.am): Arrange to compile and run test-signal-c++.
16056         * m4/signal_h.m4 (gl_SIGNAL_MODULE_INDICATOR): Invoke
16057         gl_MODULE_INDICATOR.
16058
16059         Tests of module 'search' in C++ mode.
16060         * tests/test-search-c++.cc: New file.
16061         * modules/search-tests (Files): Add it and tests/signature.h.
16062         (Depends-on): Add ansi-c++-opt.
16063         (Makefile.am): Arrange to compile and run test-search-c++.
16064         * m4/search_h.m4 (gl_SEARCH_MODULE_INDICATOR): Invoke
16065         gl_MODULE_INDICATOR.
16066
16067         Tests of module 'math' in C++ mode.
16068         * tests/test-math-c++.cc: New file.
16069         * modules/math-tests (Files): Add it and tests/signature.h.
16070         (Depends-on): Add ansi-c++-opt.
16071         (Makefile.am): Arrange to compile and run test-math-c++.
16072         * m4/math_h.m4 (gl_MATH_MODULE_INDICATOR): Invoke gl_MODULE_INDICATOR.
16073
16074         Tests of module 'locale' in C++ mode.
16075         * tests/test-locale-c++.cc: New file.
16076         * modules/locale-tests (Files): Add it and tests/signature.h.
16077         (Depends-on): Add ansi-c++-opt.
16078         (Makefile.am): Arrange to compile and run test-locale-c++.
16079         * m4/locale_h.m4 (gl_LOCALE_MODULE_INDICATOR): Invoke
16080         gl_MODULE_INDICATOR.
16081
16082         Tests of module 'langinfo' in C++ mode.
16083         * tests/test-langinfo-c++.cc: New file.
16084         * modules/langinfo-tests (Files): Add it and tests/signature.h.
16085         (Depends-on): Add ansi-c++-opt.
16086         (Makefile.am): Arrange to compile and run test-langinfo-c++.
16087         * m4/langinfo_h.m4 (gl_LANGINFO_MODULE_INDICATOR): Invoke
16088         gl_MODULE_INDICATOR.
16089
16090         Tests of module 'iconv-h' in C++ mode.
16091         * tests/test-iconv-h-c++.cc: New file.
16092         * modules/iconv-h-tests (Files): Add it and tests/signature.h.
16093         (Depends-on): Add ansi-c++-opt.
16094         (Makefile.am): Arrange to compile and run test-iconv-h-c++.
16095
16096         Tests of module 'glob' in C++ mode.
16097         * tests/test-glob-c++.cc: New file.
16098         * modules/glob-tests (Files): Add it.
16099         (Depends-on): Add ansi-c++-opt.
16100         (Makefile.am): Arrange to compile and run test-glob-c++.
16101
16102         Tests of module 'fcntl-h' in C++ mode.
16103         * tests/test-fcntl-h-c++.cc: New file.
16104         * modules/fcntl-h-tests (Files): Add it and tests/signature.h.
16105         (Depends-on): Add ansi-c++-opt.
16106         (Makefile.am): Arrange to compile and run test-fcntl-h-c++.
16107         * m4/fcntl_h.m4 (gl_FCNTL_MODULE_INDICATOR): Invoke
16108         gl_MODULE_INDICATOR.
16109
16110         Tests of module 'dirent' in C++ mode.
16111         * tests/test-dirent-c++.cc: New file.
16112         * modules/dirent-tests (Files): Add it and tests/signature.h.
16113         (Depends-on): Add ansi-c++-opt.
16114         (Makefile.am): Arrange to compile and run test-dirent-c++.
16115         * m4/dirent_h.m4 (gl_DIRENT_MODULE_INDICATOR): Invoke
16116         gl_MODULE_INDICATOR.
16117
16118         New module 'ansi-c++-opt'.
16119         * modules/ansi-c++-opt: New file.
16120         * m4/ansi-c++.m4: New file, from GNU gettext with modifications.
16121
16122         Document C++ namespace mode.
16123         * doc/gnulib.texi (A C++ namespace for gnulib): New section.
16124
16125         wctype: Avoid #define replacements in C++ mode.
16126         * lib/wctype.in.h: Include c++defs.h, warn-on-use.h.
16127         (iswalnum, iswalpha, iswblank, iswcntrl, iswdigit, iswgraph, iswlower,
16128         iswprint, iswpunct, iswspace, iswupper, iswxdigit, towlower, towupper):
16129         In C++, define a namespaced alias symbol.
16130         * m4/wctype_h.m4 (gl_WCTYPE_H): Don't set WCTYPE_H.
16131         * modules/wctype (Depends-on): Add c++defs, warn-on-use.
16132         (Makefile.am): Provide a wctype.h replacement always. Update wctype.h
16133         rule.
16134
16135         wchar: Avoid #define replacements in C++ mode.
16136         * lib/wchar.in.h: Include c++defs.h.
16137         (btowc, wctob, mbsinit, mbrtowc, mbrlen, mbsrtowcs, mbsnrtowcs,
16138         wcrtomb, wcsrtombs, wcsnrtombs): In C++, define a namespaced alias
16139         symbol.
16140         (wcwidth): Likewise. Fix prototype to be POSIX compliant.
16141         * modules/wchar (Depends-on): Add c++defs.
16142         (Makefile.am): Update wchar.h rule.
16143
16144         unistd: Avoid #define replacements in C++ mode.
16145         * lib/unistd.in.h: Include c++defs.h.
16146         (chown, close, dup, dup2, dup3, euidaccess, faccessat, fchdir,
16147         fchownat, fsync, ftruncate, getcwd, getdomainname, getdtablesize,
16148         getgroups, gethostname, getlogin, getlogin_r, getpagesize,
16149         getusershell, setusershell, endusershell, lchown, link, linkat, lseek,
16150         pipe2, pread, readlink, readlinkat, rmdir, sleep, symlink, symlinkat,
16151         unlink, unlinkat, usleep, write): In C++, define a namespaced alias
16152         symbol.
16153         (environ): Update.
16154         * modules/unistd (Depends-on): Add c++defs.
16155         (Makefile.am): Update unistd.h rule.
16156
16157         time: Avoid #define replacements in C++ mode.
16158         * lib/time.in.h: Include c++defs.h, warn-on-use.h.
16159         (nanosleep, mktime, localtime_r, gmtime_r, strptime, timegm): In C++,
16160         define a namespaced alias symbol.
16161         * m4/time_h.m4 (gl_TIME_MODULE_INDICATOR): New macro.
16162         (gl_HEADER_TIME_H_DEFAULTS): Initialize also GNULIB_MKTIME,
16163         GNULIB_NANOSLEEP, GNULIB_STRPTIME, GNULIB_TIMEGM.
16164         * modules/time (Depends-on): Add c++defs, warn-on-use.
16165         (Makefile.am): Update time.h rule.
16166         * modules/mktime (configure.ac): Invoke gl_TIME_MODULE_INDICATOR.
16167         * modules/nanosleep (configure.ac): Likewise.
16168         * modules/strptime (configure.ac): Likewise.
16169         * modules/timegm (configure.ac): Likewise.
16170
16171         sys_time: Avoid #define replacements in C++ mode.
16172         * lib/sys_time.in.h: Include c++defs.h.
16173         (gettimeofday): In C++, define a namespaced alias symbol.
16174         * modules/sys_time (Depends-on): Add c++defs.
16175         (Makefile.am): Update sys/time.h rule.
16176
16177         sys_stat: Avoid #define replacements in C++ mode.
16178         * lib/sys_stat.in.h: Include c++defs.h.
16179         (fchmodat, fstat, fstatat, futimens, lchmod, lstat, mkdir, mkdirat,
16180         mkfifo, mkfifoat, mknod, mknodat, utimensat): In C++, define a
16181         namespaced alias symbol.
16182         In C++, define a namespaced alias symbol.
16183         * modules/sys_stat (Depends-on): Add c++defs.
16184         (Makefile.am): Update sys/stat.h rule.
16185
16186         sys_socket: Avoid #define replacements in C++ mode.
16187         * lib/sys_socket.in.h: Handle the case of recursive include on Cygwin.
16188         Include c++defs.h. Include warn-on-use.h earlier. Enable the function
16189         definitions also when the system has a <sys/socket.h>.
16190         (socket, connect, accept, bind, getpeername, getsockname, getsockopt,
16191         listen, recv, send, recvfrom, sendto, setsockopt, shutdown, accept4):
16192         In C++, define a namespaced alias symbol.
16193         * modules/sys_socket (Depends-on): Add c++defs.
16194         (Makefile.am): Update sys/socket.h rule.
16195
16196         sys_select: Avoid #define replacements in C++ mode.
16197         * lib/sys_select.in.h: Include c++defs.h. Enable the function
16198         definitions also when the system has a <sys/select.h>.
16199         (select): In C++, define a namespaced alias symbol.
16200         * modules/sys_select (Depends-on): Add c++defs.
16201         (Makefile.am): Update sys/select.h rule.
16202
16203         sys_ioctl: Avoid #define replacements in C++ mode.
16204         * lib/sys_ioctl.in.h: Include c++defs.h.
16205         (ioctl): In C++, define a namespaced alias symbol.
16206         * modules/sys_ioctl (Depends-on): Add c++defs.
16207         (Makefile.am): Update sys/ioctl.h rule.
16208
16209         string: Avoid #define replacements in C++ mode.
16210         * lib/string.in.h: Include c++defs.h.
16211         (stpncpy): Define to rpl_stpncpy, not gnu_stpncpy.
16212         (memchr, memmem, mempcpy, memrchr, rawmemchr, stpcpy, stpncpy,
16213         strchrnul, strdup, strndup, strnlen, strpbrk, strsep, strstr,
16214         strcasestr, strtok_r, mbslen, mbschr, mbsrchr, mbspbrk, strerror,
16215         strsignal, strverscmp): In C++, define a namespaced alias symbol.
16216         * modules/string (Depends-on): Add c++defs.
16217         (Makefile.am): Update string.h rule.
16218
16219         stdlib: Avoid #define replacements in C++ mode.
16220         * lib/stdlib.in.h: Include c++defs.h.
16221         (atoll, calloc, canonicalize_file_name, getloadavg, getsubopt, malloc,
16222         mkdtemp, mkostemp, mkostemps, mkstemp, mkstemps, putenv, random_r,
16223         srandom_r, initstate_r, setstate_r, realloc, realpath, rpmatch, setenv,
16224         strtod, strtoll, strtoull, unsetenv): In C++, define a namespaced alias
16225         symbol.
16226         * modules/stdlib (Depends-on): Add c++defs.
16227         (Makefile.am): Update stdlib.h rule.
16228
16229         stdio: Avoid #define replacements in C++ mode.
16230         * lib/stdio.in.h: Include c++defs.h.
16231         (dprintf, fclose, fflush, fopen, fprintf, fpurge, fputc, fputs,
16232         freopen, fseek, fseeko, ftell, ftello, fwrite, getdelim, getline,
16233         obstack_printf, obstack_vprintf, perror, popen, printf, fputc, putchar,
16234         puts, remove, rename, renameat, snprintf, sprintf, asprintf, vasprintf,
16235         vdprintf, vfprintf, vprintf, vsnprintf, vsprintf): In C++, define a
16236         namespaced alias symbol.
16237         * modules/stdio (Depends-on): Add c++defs.
16238         (Makefile.am): Update stdio.h rule.
16239
16240         spawn: Avoid #define replacements in C++ mode.
16241         * lib/spawn.in.h: Include c++defs.h.
16242         (posix_spawn, posix_spawnp, posix_spawnattr_init,
16243         posix_spawnattr_destroy, posix_spawnattr_getsigdefault,
16244         posix_spawnattr_setsigdefault, posix_spawnattr_getsigmask,
16245         posix_spawnattr_setsigmask, posix_spawnattr_getflags,
16246         posix_spawnattr_setflags, posix_spawnattr_getpgroup,
16247         posix_spawnattr_setpgroup, posix_spawnattr_getschedpolicy,
16248         posix_spawnattr_setschedpolicy, posix_spawnattr_getschedparam,
16249         posix_spawnattr_setschedparam, posix_spawn_file_actions_init,
16250         posix_spawn_file_actions_destroy, posix_spawn_file_actions_addopen,
16251         posix_spawn_file_actions_addclose, posix_spawn_file_actions_adddup2):
16252         In C++, define a namespaced alias symbol.
16253         * modules/spawn (Depends-on): Add c++defs.
16254         (Makefile.am): Update spawn.h rule.
16255
16256         signal: Avoid #define replacements in C++ mode.
16257         * lib/signal.in.h: Include c++defs.h.
16258         (sigismember, sigemptyset, sigaddset, sigdelset, sigfillset,
16259         sigpending, sigprocmask, signal, raise, sigaction): In C++, define a
16260         namespaced alias symbol.
16261         * modules/signal (Depends-on): Add c++defs.
16262         (Makefile.am): Update signal.h rule.
16263
16264         search: Avoid #define replacements in C++ mode.
16265         * lib/search.in.h: Include c++defs.h.
16266         (_gl_search_compar_fn, _gl_search_action_fn): New types.
16267         (tsearch, tfind, tdelete, twalk): In C++, define a namespaced alias
16268         symbol.
16269         * modules/search (Depends-on): Add c++defs.
16270         (Makefile.am): Update search.h rule.
16271
16272         math: Avoid #define replacements in C++ mode.
16273         * lib/math.in.h: Include c++defs.h.
16274         (frexp, acosl, asinl, atanl, ceilf, ceill, cosl, expl, floorf, floorl,
16275         frexpl, ldexpl, logl, roundf, round, roundl, sinl, sqrtl, tanl, truncf,
16276         trunc, truncl): In C++, define a namespaced alias symbol.
16277         * modules/math (Depends-on): Add c++defs.
16278         (Makefile.am): Update math.h rule.
16279
16280         locale: Avoid #define replacements in C++ mode.
16281         * lib/locale.in.h: Include c++defs.h.
16282         (duplocale): In C++, define a namespaced alias symbol.
16283         * m4/locale_h.m4 (gl_LOCALE_H_DEFAULTS): Initialize HAVE_DUPLOCALE.
16284         * m4/duplocale.m4 (gl_FUNC_DUPLOCALE): Set HAVE_DUPLOCALE.
16285         * modules/locale (Depends-on): Add c++defs.
16286         (Makefile.am): Update locale.h rule. Substitute HAVE_DUPLOCALE.
16287
16288         langinfo: Avoid #define replacements in C++ mode.
16289         * lib/langinfo.in.h: Include c++defs.h.
16290         (nl_langinfo): In C++, define a namespaced alias symbol.
16291         * modules/langinfo (Depends-on): Add c++defs.
16292         (Makefile.am): Update langinfo.h rule.
16293
16294         iconv-h: Avoid #define replacements in C++ mode.
16295         * lib/iconv.in.h: Include c++defs.h, warn-on-use.h.
16296         (iconv_open, iconv, iconv_close): In C++, define a namespaced alias
16297         symbol.
16298         * m4/iconv_open.m4 (gl_FUNC_ICONV_OPEN): Invoke gl_REPLACE_ICONV_H
16299         whenever iconv is present.
16300         * modules/iconv-h (Depends-on): Add c++defs, warn-on-use.
16301         (Makefile.am): Update iconv.h rule.
16302
16303         glob: Avoid #define replacements in C++ mode.
16304         * lib/glob.in.h: Include c++defs.h, warn-on-use.h.
16305         (_gl_glob_errfunc_fn): New type.
16306         (glob, globfree, glob_pattern_p): In C++, define a namespaced alias
16307         symbol.
16308         * modules/glob (Depends-on): Add c++defs, warn-on-use.
16309         (Makefile.am): Update glob.h rule.
16310
16311         fcntl-h: Avoid #define replacements in C++ mode.
16312         * lib/fcntl.in.h: Include c++defs.h.
16313         (fcntl, open, openat): In C++, define a namespaced alias symbol.
16314         * modules/fcntl-h (Depends-on): Add c++defs.
16315         (Makefile.am): Update fcntl.h rule.
16316
16317         dirent: Avoid #define replacements in C++ mode.
16318         * lib/dirent.in.h: Include c++defs.h.
16319         (closedir, fdopendir, opendir, scandir, alphasort): In C++, define a
16320         namespaced alias symbol.
16321         (dirfd): Update declaration.
16322         * modules/dirent (Depends-on): Add c++defs.
16323         (Makefile.am): Update dirent.h rule.
16324
16325         ctype: Make it usable in C++ code.
16326         * lib/ctype.in.h: Include c++defs.h.
16327         (isblank): Declare as extern "C".
16328         * modules/ctype (Depends-on): Add c++defs.
16329         (Makefile.am): Update ctype.h rule.
16330
16331         New module 'c++defs'.
16332         * modules/c++defs: New file.
16333         * build-aux/c++defs.h: New file.
16334         Reported by John W. Eaton <jwe@gnu.org>.
16335
16336 2010-03-07  Bruno Haible  <bruno@clisp.org>
16337
16338         logb: Provide missing declaration for Cygwin.
16339         * lib/math.in.h (logb): New declaration.
16340         * m4/logb.m4: New file.
16341         * modules/logb (Files): Add m4/logb.m4.
16342         (Depends-on): Add math.
16343         (configure.ac): Invoke gl_FUNC_LOGB, gl_MATH_MODULE_INDICATOR.
16344         * m4/math_h.m4 (gl_MATH_H): Check also for logb declaration.
16345         (gl_MATH_H_DEFAULTS): Initialize GNULIB_LOGB, HAVE_DECL_LOGB.
16346         * modules/math (Makefile.am): Substitute GNULIB_LOGB, HAVE_DECL_LOGB.
16347         * doc/posix-functions/logb.texi: Mention the Cygwin bug.
16348
16349 2010-03-07  Bruno Haible  <bruno@clisp.org>
16350
16351         Fix test-cond link error.
16352         * tests/test-cond.c: Include <stdio.h>.
16353
16354 2010-03-07  Bruno Haible  <bruno@clisp.org>
16355
16356         Fix test-dirent-safer link error.
16357         * modules/dirent-safer-tests (Makefile.am): Define
16358         test_dirent_safer_LDADD.
16359
16360 2010-03-07  Bruno Haible  <bruno@clisp.org>
16361
16362         * gnulib-tool (func_create_testdir): Don't use 'lib-ignore' module
16363         among default module list.
16364
16365 2010-03-07  Bruno Haible  <bruno@clisp.org>
16366
16367         Fix link error on platforms with GNU libiconv.
16368         * modules/unistr/u8-strcoll-tests (Makefile): Define
16369         test_u8_strcoll_LDADD.
16370         * modules/unistr/u16-strcoll-tests (Makefile): Define
16371         test_u16_strcoll_LDADD.
16372         * modules/unistr/u32-strcoll-tests (Makefile): Define
16373         test_u32_strcoll_LDADD.
16374
16375 2010-03-07  Bruno Haible  <bruno@clisp.org>
16376
16377         Use POSIX declarations for socket functions.
16378         * lib/sys_socket.in.h (rpl_connect, rpl_accept, rpl_bind,
16379         rpl_getpeername, rpl_getsockname, rpl_recv, rpl_send, rpl_recvfrom,
16380         rpl_sendto): Change declaration to match POSIX.
16381         * lib/connect.c (rpl_connect): Likewise.
16382         * lib/accept.c (rpl_accept): Likewise.
16383         * lib/bind.c (rpl_bind): Likewise.
16384         * lib/getpeername.c (rpl_getpeername): Likewise.
16385         * lib/getsockname.c (rpl_getsockname): Likewise.
16386         * lib/recv.c (rpl_recv): Likewise.
16387         * lib/send.c (rpl_send): Likewise.
16388         * lib/recvfrom.c (rpl_recvfrom): Likewise.
16389         * lib/sendto.c (rpl_sendto): Likewise.
16390
16391 2010-03-06  Bruno Haible  <bruno@clisp.org>
16392
16393         Clarify access, euidaccess, faccessat.
16394         * doc/posix-functions/faccessat.texi: Mention security problem under
16395         "Other problems", not "Portability problems".
16396         * doc/posix-functions/access.texi: Likewise. Mention a related security
16397         problem.
16398         * doc/glibc-functions/euidaccess.texi: Mention security problems.
16399         * lib/euidaccess.c: Add comments about platforms.
16400         * lib/unistd.in.h (access, euidaccess): Add warnings.
16401
16402 2010-03-07  Bruno Haible  <bruno@clisp.org>
16403
16404         Ensure posix_spawnattr_{get,set}sched{policy,param} are defined.
16405         * lib/spawn.in.h (POSIX_SPAWN_SETSCHEDPARAM): Define fallback.
16406         (POSIX_SPAWN_SETSCHEDULER): Likewise.
16407         (POSIX_SPAWN_USEVFORK): Define in a way that works when
16408         POSIX_SPAWN_SETSCHEDPARAM and POSIX_SPAWN_SETSCHEDULER are zero.
16409         (posix_spawnattr_getschedpolicy, posix_spawnattr_setschedpolicy): Also
16410         declare when POSIX_SPAWN_SETSCHEDULER is zero.
16411         (posix_spawnattr_getschedparam, posix_spawnattr_setschedparam): Also
16412         declare when POSIX_SPAWN_SETSCHEDPARAM is zero.
16413         * m4/posix_spawn.m4 (gl_POSIX_SPAWN_BODY): Test whether
16414         POSIX_SPAWN_SETSCHEDULER or POSIX_SPAWN_SETSCHEDPARAM are zero.
16415         * modules/posix_spawnattr_getschedparam (configure.ac): Enable the
16416         replacement also when POSIX_SPAWN_SETSCHEDPARAM is zero.
16417         * modules/posix_spawnattr_setschedparam (configure.ac): Likewise.
16418         * modules/posix_spawnattr_getschedpolicy (configure.ac): Enable the
16419         replacement also when POSIX_SPAWN_SETSCHEDULER is zero.
16420         * modules/posix_spawnattr_setschedpolicy (configure.ac): Likewise.
16421         * lib/spawnattr_getschedparam.c (posix_spawnattr_getschedparam): Do
16422         nothing if POSIX_SPAWN_SETSCHEDPARAM is zero.
16423         * lib/spawnattr_setschedparam.c (posix_spawnattr_setschedparam):
16424         Likewise.
16425         * lib/spawnattr_getschedpolicy.c (posix_spawnattr_getschedpolicy): Do
16426         nothing if POSIX_SPAWN_SETSCHEDULER is zero.
16427         * lib/spawnattr_setschedpolicy.c (posix_spawnattr_setschedpolicy):
16428         Likewise.
16429         * tests/test-spawn.c (main): Make it work when
16430         POSIX_SPAWN_SETSCHEDPARAM and POSIX_SPAWN_SETSCHEDULER are zero.
16431
16432 2010-03-07  Bruno Haible  <bruno@clisp.org>
16433
16434         Fix incorrect Makefile.am generation in German locale.
16435         * gnulib-tool (func_emit_lib_Makefile_am, func_emit_tests_Makefile_am):
16436         Execute sed command with character range in C locale.
16437
16438 2010-03-06  Bruno Haible  <bruno@clisp.org>
16439
16440         Tests for module 'iconv-h'.
16441         * modules/iconv-h-tests: New file.
16442         * tests/test-iconv-h.c: New file.
16443
16444         New module 'iconv-h'.
16445         * modules/iconv-h: New file.
16446         * modules/iconv_open (Files): Remove lib/iconv.in.h, m4/iconv_h.m4.
16447         (Depends-on): Add iconv-h. Remove include_next, arg-nonnull.
16448         (configure.ac): Remove gl_ICONV_H.
16449         (Makefile.am): Remove rule for iconv.h.
16450
16451 2010-03-06  Bruno Haible  <bruno@clisp.org>
16452
16453         More consistent naming of *.m4 files.
16454         * m4/wctype_h.m4: Renamed from m4/wctype.m4.
16455         * modules/wctype (Files): Update.
16456
16457         More consistent naming of *.m4 files.
16458         * m4/wchar_h.m4: Renamed from m4/wchar.m4.
16459         * modules/wchar (Files): Update.
16460
16461 2010-03-06  Jim Meyering  <meyering@redhat.com>
16462
16463         euidaccess: relax license to LGPLv2+
16464         * modules/euidaccess (License): Relax to LGPLv2+.
16465
16466 2010-03-06  Bruno Haible  <bruno@clisp.org>
16467
16468         Prefer lib_SOURCES over unconditional AC_LIBOBJ.
16469         * modules/exitfail (configure.ac): Remove AC_LIBOBJ invocation.
16470         (Makefile.am): Augment lib_SOURCES instead.
16471
16472 2010-03-04  Jim Meyering  <meyering@redhat.com>
16473
16474         utime: remove obsolete module
16475         This module, like autoconf's AC_FUNC_UTIME_NULL macro, has been
16476         unnecessary for years, and has been marked as obsolete for 10 months.
16477         * modules/utime: Remove file.
16478         * lib/utime.c: Remove file.
16479         * m4/utime.m4: Remove file.
16480         * m4/utimes-null.m4: Remove file.
16481         * doc/posix-functions/utime.texi (utime): Remove reference to
16482         the module.  Move the sole "fixed by gnulib" item into the
16483         "problems not fixed by Gnulib" list.
16484         * MODULES.html.sh (func_all_modules): Remove reference to "utime".
16485
16486 2010-03-05  Simon Josefsson  <simon@josefsson.org>
16487
16488         * modules/exit (License): Relax license to LGPLv2+.
16489         (Status): Mark as obsolete.
16490         * NEWS: Mention deprecated 'exit' module.
16491         * doc/posix-functions/exit.texi: Recommend 'stdlib' module instead
16492         of now obsolete 'exit'.
16493
16494 2010-03-02  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
16495
16496         fts-lgpl: remove unused module
16497         * modules/fts-lgpl: Remove.
16498         * MODULES.html.sh (func_all_modules): Adjust.
16499         * check-module (find_included_lib_files): Adjust.
16500         * m4/fts.m4 (gl_FUNC_FTS_LGPL): Remove.
16501
16502 2010-03-02  Ben Walton  <bwalton@artsci.utoronto.ca>  (tiny change)
16503
16504         copy-acl: enhance Solaris ACL error handling
16505         * lib/copy-acl.c (qcopy_acl): Also ignore EOPNOTSUPP.
16506         * lib/set-mode-acl.c (qset_acl): Likewise.
16507
16508 2010-03-02  Bruno Haible  <bruno@clisp.org>
16509
16510         spawn: Don't override the system defined values on FreeBSD 8.
16511         * lib/spawn.in.h (POSIX_SPAWN_RESETIDS, POSIX_SPAWN_SETPGROUP,
16512         POSIX_SPAWN_SETSIGDEF, POSIX_SPAWN_SETSIGMASK,
16513         POSIX_SPAWN_SETSCHEDPARAM, POSIX_SPAWN_SETSCHEDULER): Don't redefine
16514         if HAVE_POSIX_SPAWN is 1.
16515         Reported by Johan van Selst <johans@stack.nl> via Eric Blake.
16516
16517 2010-03-01  Bruno Haible  <bruno@clisp.org>
16518
16519         * doc/gnulib-tool.texi (Initial import): Clarify the requirements
16520         regarding Automake.
16521
16522 2010-02-25  Bruno Haible  <bruno@clisp.org>
16523
16524         Fix breakage of gnulib-tool with ksh, introduced on 2010-02-21.
16525         * gnulib-tool: Define 'echo' as a function only before the ksh alias
16526         setting, not afterwards.
16527         Reported by Ben Walton <bwalton@artsci.utoronto.ca>.
16528
16529 2010-02-24  Eric Blake  <eblake@redhat.com>
16530
16531         bootstrap, git-version-gen: use timestamp
16532         * build-aux/git-version-gen (scriptversion): Force UTC.
16533         * build-aux/bootstrap (scriptversion): New variable.
16534
16535         bootstrap: allow older git
16536         * build-aux/bootstrap (GNULIB_SRCDIR): Add fallback if git is
16537         older than 1.6.4.  Requested by the libvirt project.
16538
16539 2010-02-23  Eric Blake  <eblake@redhat.com>
16540
16541         warn-on-use: work with old autoconf
16542         * m4/warn-on-use.m4 (gl_WARN_ON_USE_PREPARE): Accomodate older
16543         AS_VAR semantics of autoconf 2.60.
16544         Reported by Bruno Haible.
16545
16546         bootstrap: improve some comments
16547         * build-aux/bootstrap: Drop unneeded emacs hint.  Add some
16548         clarification comments.
16549
16550         gettimeofday: provide correct function
16551         * lib/gettimeofday.c (gettimeofday): Provide rpl_gettimeofday only
16552         when replacement is declared, otherwise provide gettimeofday.
16553         Reported by Michael Goffioul.
16554
16555 2010-02-23  Jim Meyering  <meyering@redhat.com>
16556
16557         lib-ignore: relax license to "unlimited", not LGPLv2+
16558         * modules/lib-ignore (License): Relax to "unlimited".
16559
16560 2010-02-23  Jim Meyering  <meyering@redhat.com>
16561
16562         lib-ignore: relax license to LGPLv2+
16563         * modules/lib-ignore (License): Relax to LGPLv2+.
16564
16565 2010-02-22  Eric Blake  <eblake@redhat.com>
16566
16567         lseek: avoid bash 3.2 broken pipe bug
16568         * m4/lseek.m4 (gl_FUNC_LSEEK): Drain pipe, to avoid spurious
16569         warning from bash 3.2.
16570         Reported by Ben Pfaff, with analysis from Bruno Haible.
16571
16572         bootstrap: support non-FSF copyright holder
16573         * build-aux/bootstrap (COPYRIGHT_HOLDER, with_gettext): Allow
16574         bootstrap.conf override of COPYRIGHT_HOLDER.
16575         (MSGID_BUGS_ADDRESS): Allow URL rather than email.
16576
16577         bootstrap: interoperate with gettext 0.14.1
16578         * build-aux/bootstrap (slurp): Fix typo when using older gettext.
16579
16580         bootstrap: allow for alternate submodule location
16581         * build-aux/bootstrap (gnulib_path): New variable; use instead of
16582         hardcoding submodule location.
16583         (gnulib_mk): Allow direct use of Makefile.am.
16584
16585         bootstrap: use GNULIB_SRCDIR to reduce disk usage
16586         * build-aux/bootstrap (GNULIB_SRCDIR): If set, use as a reference,
16587         rather than reconfiguring where the submodule points.
16588
16589         gettimeofday: restore support for platforms that lack function
16590         * m4/gettimeofday.m4 (gl_FUNC_GETTIMEOFDAY): Also compile
16591         replacement if function is missing.
16592         * m4/sys_time_h.m4 (gl_HEADER_SYS_TIME_H_DEFAULTS): New witness.
16593         * modules/sys_time (Makefile.am): Substitute it.
16594         * lib/sys_time.in.h (gettimeofday): Check it.
16595         Reported by Michael Goffioul.
16596
16597 2010-02-21  Bruno Haible  <bruno@clisp.org>
16598
16599         * lib/stdio.in.h (obstack_printf): Fix typo.
16600
16601 2010-02-21  Jose E. Marchesi  <jemarch@gnu.org>
16602
16603         vc-list-files: use bzr ls's -R option
16604         * build-aux/vc-list-files: Invoke bazaar to generate a recursive
16605         list of versioned files based on 'dir' (usage of -R in 'bzr ls').
16606
16607 2010-02-21  Jim Meyering  <meyering@redhat.com>
16608
16609         init.sh: fix EXEEXT shims to work also for names like test-prog
16610         * tests/init.sh: Re-exec a better shell, when needed.
16611         If the current shell lacks support for posix $(...), an init.sh-using
16612         test will now try to find a shell that supports that.  If EXEEXT is
16613         nonempty, we also require support for hyphen-in-alias-name and shell
16614         substitutions like ${var#glob}.  Failure to find such a shell results
16615         in a skipped test.
16616
16617 2010-02-21  Bruno Haible  <bruno@clisp.org>
16618
16619         Really work around around "broken pipe" error message from bash 3.2.
16620         * gnulib-tool (func_reset_sigpipe): Remove function.
16621         (echo): In bash 3.2, define to a function that uses printf.
16622         Analyzed by Ralf Wildenhues, Chet Ramey, Ben Pfaff.
16623
16624 2010-02-20  Bruno Haible  <bruno@clisp.org>
16625
16626         Restore support for automake 1.9.6 with autoconf 2.61.
16627         * m4/gnulib-common.m4 (AC_PROG_MKDIR_P): Ensure MKDIR_P is AC_SUBSTed.
16628         Reported by James Youngman <jay@gnu.org>.
16629
16630 2010-02-20  Bruno Haible  <bruno@clisp.org>
16631
16632         Improve *printf warning condition.
16633         * lib/stdio.in.h (fprintf, printf, vfprintf, vprintf): Emit warning
16634         also if GNULIB_POSIXCHECK is defined, the *-posix module is not used,
16635         and the function is overridden due to SIGPIPE emulation.
16636
16637 2010-02-20  Bruno Haible  <bruno@clisp.org>
16638
16639         * lib/stdio.in.h: Tweak comments.
16640
16641 2010-02-19  Bruno Haible  <bruno@clisp.org>
16642
16643         Make it easier to find modules. New gnulib-tool option '--find'.
16644         * gnulib-tool: New option --find.
16645         (func_usage): Document it.
16646         (func_sanitize_modulelist): New function, extracted from
16647         func_all_modules.
16648         (func_all_modules): Invoke it.
16649         * doc/gnulib-tool.texi (Which modules?): New node.
16650
16651 2010-02-18  Markus Duft <mduft@gentoo.org>  (tiny change)
16652
16653         * lib/sys_select.in.h: Provide select replacement even if
16654         sys/select.h exists on a system, for Interix.
16655
16656 2010-02-18  Jim Meyering  <meyering@redhat.com>
16657
16658         init.sh: don't use $(...) just yet
16659         * tests/init.sh (create_exe_shim_functions_): Use `...`, not $(...),
16660         to accommodate e.g., Solaris' /bin/sh.
16661
16662 2010-02-17  Bruno Haible  <bruno@clisp.org>
16663
16664         * doc/posix-headers/netdb.texi: Mention NetBSD 5.0 problem.
16665         Reported by Ludovic Courtès <ludo@gnu.org>.
16666
16667 2010-02-16  Simon Josefsson  <simon@josefsson.org>
16668
16669         * modules/userspec-tests (test_userspec_LDADD): Add variable, for
16670         linking with -lintl.
16671
16672 2010-02-17  Simon Josefsson  <simon@josefsson.org>
16673
16674         * lib/netdb.in.h (AI_V4MAPPED, AI_ALL, AI_ADDRCONFIG): Define to 0
16675         if not provided by the system's netdb.h.  Reported by
16676         ludo@gnu.org (Ludovic Courtès).
16677
16678 2010-02-15  Jim Meyering  <meyering@redhat.com>
16679
16680         init.sh: improve portability and efficiency
16681         * tests/init.sh (find_exe_basenames_): Remove unnecessary use of
16682         "dummy" in a for loop.
16683         Use '!', not '^' to select the complement of a character set used
16684         in a "case" statement.
16685         Use shell variable manipulation, a la ${...%.exe}, rather than sed.
16686         Suggestions from Eric Blake.
16687
16688         init.sh: automatically accommodate programs with the .exe suffix
16689         Automatically arrange for an invocation of "prog" to execute the
16690         program named "prog$EXEEXT" (usually prog.exe).  Thus, all invocations
16691         may use the simpler "prog", yet still work when built on a system
16692         that requires specifying the added suffix.
16693         Do this by constructing a function named "prog" that invokes
16694         "prog.exe" for each .exe file in selected directories.
16695         * tests/init.sh (find_exe_basenames_): New function.
16696         (create_exe_shim_functions_): New function.
16697         (path_prepend_): Use it.
16698
16699         maint.mk: mark syntax-check sc_*.m rules as .PHONY
16700         * top/maint.mk ($(syntax-check-rules)): Add .PHONY, so that
16701         "make -t syntax-check" doesn't create a ton of sc_*.m files.
16702
16703 2010-02-14  Jim Meyering  <meyering@redhat.com>
16704
16705         maint.mk: prohibit inclusion of "hash-pjw.h" without_use
16706         * top/maint.mk (sc_prohibit_hash_without_use): Re-add "@".
16707         (sc_prohibit_hash_pjw_without_use): New rule.
16708
16709         maint.mk: allow the default upload destination dir to be overridden
16710         * top/maint.mk (upload_dest_dir_): Define with a default that
16711         preserves the status quo.
16712         (emit_upload_commands): Use it, rather than hard-coding $(PACKAGE).
16713         Reported by Peter Simons.
16714
16715         maint.mk: prohibit inclusion of "hash.h" without_use
16716         * top/maint.mk (sc_prohibit_hash_without_use): New rule.
16717
16718 2010-02-10  Jim Meyering  <meyering@redhat.com>
16719
16720         maint.mk: prohibit inclusion of "ignore-value.h" without_use
16721         * top/maint.mk (sc_prohibit_ignore_value_without_use): New rule.
16722
16723 2010-02-09  Eric Blake  <ebb9@byu.net>
16724         and Bruno Haible  <bruno@clisp.org>
16725
16726         obstack-printf-posix: ensure declaration
16727         * m4/obstack-printf.m4 (gl_DECL_OBSTACK_PRINTF): New macro,
16728         extracted from gl_FUNC_OBSTACK_PRINTF.
16729         (gl_FUNC_OBSTACK_PRINTF): Invoke it.
16730         * m4/obstack-printf-posix.m4 (gl_FUNC_OBSTACK_PRINTF_POSIX):
16731         Likewise.
16732         * lib/stdio.in.h (obstack_printf, obstack_vprintf): Declare also
16733         if GNULIB_OBSTACK_PRINTF_POSIX is 1 and GNULIB_OBSTACK_PRINTF is
16734         0.
16735
16736 2010-02-08  Bruno Haible  <bruno@clisp.org>
16737
16738         gnulib-tool: Fix typo in 2010-02-07 commit.
16739         * gnulib-tool (func_get_dependencies): Fix typo in last commit.
16740         Reported by Eric Blake.
16741
16742 2010-02-07  Bruno Haible  <bruno@clisp.org>
16743
16744         gnulib-tool: Fix up caching patches.
16745         * gnulib-tool: New options --cache-modules, --no-cache-modules. Remove
16746         option --no-cache. Use associative arrays when supported by the shell.
16747         (sed_comments): New variable.
16748         (modcache): Renamed from do_cache.
16749         (sed_extract_field_header): Renamed from sed_extract_cache_prog. Don't
16750         abbreviate unnecessarily.
16751         (have_associative): New variable.
16752         (func_cache_var): Define correctly for bash 1.x. Define in an optimized
16753         way also for ksh and zsh.
16754         (func_init_sed_convert_to_cache_statements): New function, extracted
16755         from func_cache_lookup_module. Add support for associative arrays.
16756         Don't set the c_MODULE_cached variable here. Ignore all lines before
16757         the first field header. Remove only the final newline, not all trailing
16758         newlines. Support empty fields correctly. Limit the use of 'eval' to
16759         assignments.
16760         (func_get_description, func_get_status, func_get_notice,
16761         func_get_applicability, func_get_filelist, func_get_dependencies,
16762         func_get_autoconf_early_snippet, func_get_autoconf_snippet,
16763         func_get_automake_snippet, func_get_include_directive,
16764         func_get_link_directive, func_get_license, func_get_maintainer):
16765         Update documentation. List the unoptimized code first. Add support for
16766         associative arrays. Limit the use of 'eval' to assignments.
16767         (func_get_applicability): Undo stylistic pessimisations.
16768         (func_get_automake_snippet, func_get_include_directive): Reduce code
16769         duplication.
16770         (func_modules_transitive_closure, func_modules_add_dummy,
16771         func_modules_notice, func_modules_to_filelist, func_add_file,
16772         func_update_file, func_emit_lib_Makefile_am, func_emit_po_Makevars,
16773         func_emit_po_POTFILES_in, func_emit_tests_Makefile_am, func_import,
16774         func_create_testdir, func_create_megatestdir): Update documentation.
16775
16776 2010-01-18  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
16777
16778         * gnulib-tool (func_cache_lookup_module): Store the module name
16779         belonging to the cache variable; error out if two different
16780         module names map to the same cache variable name.
16781
16782 2010-01-18  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
16783
16784         gnulib-tool: Make caching optional.
16785         * gnulib-tool: Accept option --no-cache, turning off $do_cache.
16786         Update matching short versions of --no-changelog.
16787         (func_usage): Update.
16788         (sed_extract_cache_prog): Renamed from ...
16789         (sed_extract_prog): ... this; revert to old extraction script.
16790         (func_get_description, func_get_status)
16791         (func_get_notice, func_get_applicability, func_get_filelist)
16792         (func_get_dependencies, func_get_autoconf_early_snippet)
16793         (func_get_autoconf_snippet, func_get_automake_snippet)
16794         (func_get_include_directive, func_get_link_directive)
16795         (func_get_license, func_get_maintainer): If $do_cache is false,
16796         use old, non-caching extraction scripts.
16797         Suggestion by Bruno Haible.
16798
16799 2010-01-17  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
16800
16801         gnulib-tool: cache module metainformation.
16802         * gnulib-tool (sed_extract_prog): Match newline before each
16803         header, and rewrite header to a shell variable suffix.
16804         (func_cache_var, func_cache_lookup_module): New functions,
16805         to turn a module name into a cache variable prefix, and to
16806         look up and cache module metainformation.
16807         (func_get_description, func_get_status)
16808         (func_get_notice, func_get_applicability, func_get_filelist)
16809         (func_get_dependencies, func_get_autoconf_early_snippet)
16810         (func_get_autoconf_snippet, func_get_automake_snippet)
16811         (func_get_include_directive, func_get_link_directive)
16812         (func_get_license, func_get_maintainer): Use
16813         func_cache_lookup_module.
16814
16815 2010-02-07  Bruno Haible  <bruno@clisp.org>
16816
16817         fnctl: Fix missing dependency.
16818         * modules/fcntl (Depends-on): Add getdtablesize.
16819         Reported by John W. Eaton <jwe@gnu.org>.
16820
16821 2010-02-05  Sergey Poznyakoff  <gray@gnu.org.ua>
16822
16823         Argp: fix recognition of short alias options.
16824
16825         * lib/argp-parse.c (convert_options): Fix improper use of
16826         `|' between character values.
16827         * tests/test-argp.c (group1_option): New alias option
16828         --read (-r).
16829         (group1_parser): Special handling for 'r'.
16830         (test15): New test case.
16831         (test_fun): Add test15.
16832         * tests/test-argp-2.sh: Update expected --help and --usage
16833         outputs.
16834
16835 2010-02-05  Sergey Poznyakoff  <gray@gnu.org.ua>
16836
16837         * tests/test-argp.c: Fix indentation.
16838
16839 2010-02-04  Eric Blake  <ebb9@byu.net>
16840
16841         gettimeofday: expose type of second argument
16842         * m4/gettimeofday.m4 (gl_FUNC_GETTIMEOFDAY): Do better detection
16843         of glibc extension signature, and define GETTIMEOFDAY_TIMEZONE.
16844         * tests/test-gettimeofday.c: Use it to silence warning.
16845         * doc/posix-functions/gettimeofday.texi (gettimeofday): Document
16846         the issue.
16847
16848 2010-02-03  Jim Meyering  <meyering@redhat.com>
16849
16850         regcomp.c: avoid the sole warning from gcc's -Wtype-limits
16851         * lib/regcomp.c (TYPE_SIGNED): Define.
16852         (parse_dup_op): Use it to avoid the sole warning from -Wtype-limits.
16853
16854         regcomp.c: avoid a new -Wshadow warning
16855         * lib/regcomp.c (create_initial_state): Do not shadow local "err".
16856
16857 2010-02-01  Jim Meyering  <meyering@redhat.com>
16858
16859         removing useless parentheses in cpp #define directives
16860         For motivation, see commit c0221df4, "define STREQ(a,b)
16861         consistently, removing useless parentheses"
16862         * lib/memcmp.c (CMP_LT_OR_GT): Remove useless parentheses.
16863         * lib/mountlist.c (MNT_IGNORE): Likewise.
16864         * lib/trim.h (trim, trim_trailing, trim_leading): Likewise.
16865
16866 2010-02-01  Eric Blake  <ebb9@byu.net>
16867
16868         sys_time: use link-warning
16869         * m4/sys_time_h.m4 (gl_HEADER_SYS_TIME_H_BODY): Split defaults...
16870         (gl_HEADER_SYS_TIME_H_DEFAULTS): ...into new macro.
16871         (gl_SYS_TIME_MODULE_INDICATOR): New macro.
16872         * modules/sys_time (Depends-on): Add warn-on-use.
16873         (Makefile.am): Always build replacement.
16874         (configure.ac): Update substitutions.
16875         * m4/gettimeofday.m4 (gl_FUNC_GETTIMEOFDAY)
16876         (gl_FUNC_GETTIMEOFDAY_CLOBBER): Include defaults, and no longer
16877         bother with SYS_TIME_H.
16878         * modules/gettimeofday (configure.ac): Declare indicator.
16879         * lib/sys_time.in.h (gettimeofday): Warn if gnulib module is not
16880         in use.
16881
16882         closein-tests: silence compiler warning
16883         * tests/test-closein.c (main): Ignore fread result.
16884         * modules/closein-tests (Depends-on): Add ignore-value.
16885
16886         tests: silence warning about system return
16887         * tests/test-areadlink-with-size.c (main): Ignore system result.
16888         * tests/test-areadlink.c (main): Likewise.
16889         * tests/test-areadlinkat-with-size.c (main): Likewise.
16890         * tests/test-areadlinkat.c (main): Likewise.
16891         * tests/test-canonicalize-lgpl.c (main): Likewise.
16892         * tests/test-canonicalize.c (main): Likewise.
16893         * tests/test-chown.c (main): Likewise.
16894         * tests/test-fchownat.c (main): Likewise.
16895         * tests/test-fdutimensat.c (main): Likewise.
16896         * tests/test-fstatat.c (main): Likewise.
16897         * tests/test-futimens.c (main): Likewise.
16898         * tests/test-lchown.c (main): Likewise.
16899         * tests/test-link.c (main): Likewise.
16900         * tests/test-linkat.c (main): Likewise.
16901         * tests/test-lstat.c (main): Likewise.
16902         * tests/test-mkdir.c (main): Likewise.
16903         * tests/test-mkdirat.c (main): Likewise.
16904         * tests/test-mkfifo.c (main): Likewise.
16905         * tests/test-mkfifoat.c (main): Likewise.
16906         * tests/test-mknod.c (main): Likewise.
16907         * tests/test-readlink.c (main): Likewise.
16908         * tests/test-remove.c (main): Likewise.
16909         * tests/test-rename.c (main): Likewise.
16910         * tests/test-renameat.c (main): Likewise.
16911         * tests/test-rmdir.c (main): Likewise.
16912         * tests/test-symlink.c (main): Likewise.
16913         * tests/test-symlinkat.c (main): Likewise.
16914         * tests/test-unlink.c (main): Likewise.
16915         * tests/test-unlinkat.c (main): Likewise.
16916         * tests/test-utimens.c (main): Likewise.
16917         * tests/test-utimensat.c (main): Likewise.
16918         * modules/areadlink-tests (Depends-on): Add ignore-value.
16919         * modules/areadlink-with-size-tests (Depends-on): Likewise.
16920         * modules/areadlinkat-tests (Depends-on): Likewise.
16921         * modules/areadlinkat-with-size-tests (Depends-on): Likewise.
16922         * modules/canonicalize-lgpl-tests (Depends-on): Likewise.
16923         * modules/canonicalize-tests (Depends-on): Likewise.
16924         * modules/chown-tests (Depends-on): Likewise.
16925         * modules/fdutimensat-tests (Depends-on): Likewise.
16926         * modules/futimens-tests (Depends-on): Likewise.
16927         * modules/lchown-tests (Depends-on): Likewise.
16928         * modules/link-tests (Depends-on): Likewise.
16929         * modules/linkat-tests (Depends-on): Likewise.
16930         * modules/lstat-tests (Depends-on): Likewise.
16931         * modules/mkdir-tests (Depends-on): Likewise.
16932         * modules/mkfifo-tests (Depends-on): Likewise.
16933         * modules/mkfifoat-tests (Depends-on): Likewise.
16934         * modules/mknod-tests (Depends-on): Likewise.
16935         * modules/openat-tests (Depends-on): Likewise.
16936         * modules/readlink-tests (Depends-on): Likewise.
16937         * modules/remove-tests (Depends-on): Likewise.
16938         * modules/rename-tests (Depends-on): Likewise.
16939         * modules/renameat-tests (Depends-on): Likewise.
16940         * modules/rmdir-tests (Depends-on): Likewise.
16941         * modules/symlink-tests (Depends-on): Likewise.
16942         * modules/symlinkat-tests (Depends-on): Likewise.
16943         * modules/unlink-tests (Depends-on): Likewise.
16944         * modules/utimens-tests (Depends-on): Likewise.
16945         * modules/utimensat-tests (Depends-on): Likewise.
16946
16947 2010-01-31  Bruno Haible  <bruno@clisp.org>
16948
16949         Perform the same test for many <math.h> functions.
16950         * m4/mathfunc.m4 (gl_COMMON_DOUBLE_MATHFUNC,
16951         gl_COMMON_DOUBLE_MATHFUNC_TEST): New macros.
16952         * m4/sqrt.m4 (gl_FUNC_SQRT): Invoke gl_COMMON_DOUBLE_MATHFUNC instead
16953         of gl_MATHFUNC.
16954         * modules/acos (configure.ac): Likewise.
16955         * modules/asin (configure.ac): Likewise.
16956         * modules/atan (configure.ac): Likewise.
16957         * modules/atan2 (configure.ac): Likewise.
16958         * modules/cbrt (configure.ac): Likewise.
16959         * modules/copysign (configure.ac): Likewise.
16960         * modules/cos (configure.ac): Likewise.
16961         * modules/cosh (configure.ac): Likewise.
16962         * modules/erf (configure.ac): Likewise.
16963         * modules/erfc (configure.ac): Likewise.
16964         * modules/exp (configure.ac): Likewise.
16965         * modules/fmod (configure.ac): Likewise.
16966         * modules/hypot (configure.ac): Likewise.
16967         * modules/j0 (configure.ac): Likewise.
16968         * modules/j1 (configure.ac): Likewise.
16969         * modules/jn (configure.ac): Likewise.
16970         * modules/lgamma (configure.ac): Likewise.
16971         * modules/log (configure.ac): Likewise.
16972         * modules/log10 (configure.ac): Likewise.
16973         * modules/log1p (configure.ac): Likewise.
16974         * modules/pow (configure.ac): Likewise.
16975         * modules/remainder (configure.ac): Likewise.
16976         * modules/sin (configure.ac): Likewise.
16977         * modules/sinh (configure.ac): Likewise.
16978         * modules/tan (configure.ac): Likewise.
16979         * modules/tanh (configure.ac): Likewise.
16980         * modules/y0 (configure.ac): Likewise.
16981         * modules/y1 (configure.ac): Likewise.
16982         * modules/yn (configure.ac): Likewise.
16983         Suggested by Paolo Bonzini.
16984
16985 2010-01-31  Bruno Haible  <bruno@clisp.org>
16986
16987         * m4/getline.m4 (gl_FUNC_GETLINE): Add comment about REPLACE_GETLINE.
16988
16989 2010-01-31  Bruno Haible  <bruno@clisp.org>
16990
16991         Work around getdelim() bug on FreeBSD 8.0.
16992         * m4/getdelim.m4 (gl_FUNC_GETDELIM): Test whether getdelim supports an
16993         initially NULL line. Set REPLACE_GETDELIM if getdelim exists but does
16994         not work.
16995         * lib/stdio.in.h (getdelim): Define as an alias if REPLACE_GETDELIM
16996         is 1.
16997         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Initialize REPLACE_GETDELIM.
16998         * modules/stdio (Makefile.am): Also substitute REPLACE_GETDELIM.
16999         * tests/test-getdelim.c (main): Also test result for a NULL buffer and
17000         a non-zero size.
17001         * doc/posix-functions/getdelim.texi: Mention the FreeBSD bug.
17002
17003 2010-01-31  Bruno Haible  <bruno@clisp.org>
17004
17005         Work around getline() bug on FreeBSD 8.0.
17006         * m4/getline.m4 (gl_FUNC_GETLINE): Also test result for a NULL buffer
17007         and a non-zero size.
17008         * tests/test-getline.c (main): Likewise.
17009         * doc/posix-functions/getline.texi: Mention the FreeBSD bug.
17010         Reported by Dennis <noordsij@cs.helsinki.fi> via Eric Blake.
17011
17012 2010-01-28  Eric Blake  <ebb9@byu.net>
17013
17014         regex: fix build failure
17015         * lib/regex_internal.h (__GNUC_PREREQ): Define for non-glibc
17016         platforms.
17017
17018 2010-01-28  Jim Meyering  <meyering@redhat.com>
17019
17020         regex: do not ignore memory allocation failure
17021         * lib/regex_internal.c (create_cd_newstate): Detect
17022         re_node_set_init_copy failure.   Extracted from glibc commit
17023         2da42bc06566bc89785e580fa1ac89b4c9f2a63c.
17024
17025         regex: sync more white-space changes from libc
17026         * lib/regex_internal.c: White-space only changes.
17027         * lib/regexec.c: Likewise.
17028
17029         regex: add many uses of __attribute_warn_unused_result__
17030         * lib/regex_internal.c: Use __attribute_warn_unused_result__.
17031         * lib/regexec.c: Likewise.
17032         Extracted from a messy glibc commit.
17033
17034         regcomp.c: spelling and merge-artifact from glibc
17035         * lib/regcomp.c: Merge remainder of glibc's
17036         2da42bc06566bc89785e580fa1ac89b4c9f2a63c.
17037
17038         regcomp.c: sync white-space changes from glibc
17039         * lib/regcomp.c: Merge to accommodate white space
17040         changes from glibc's 2da42bc06566bc89785e580fa1ac89b4c9f2a63c.
17041
17042         regcomp.c: do not ignore internal return values
17043         * lib/regcomp.c: Do not ignore internal return values.
17044         This is from glibc's 2da42bc06566bc89785e580fa1ac89b4c9f2a63c,
17045         but without its white-space changes and spelling fixes.
17046
17047         regex_internal.h: define __attribute_warn_unused_result__
17048         * lib/regex_internal.h (__attribute_warn_unused_result__): Define.
17049
17050         maint: add a syntax-check rule to check for vulnerable Makefile.in
17051         * top/maint.mk (sc_vulnerable_makefile_CVE-2009-4029): New rule.
17052
17053 2010-01-27  Jim Meyering  <meyering@redhat.com>
17054
17055         ncftpput-ftp: clean up spaces
17056         * build-aux/ncftpput-ftp: Make Copyright line consistent.
17057         Remove trailing blanks.
17058
17059 2010-01-27  Simon Josefsson  <simon@josefsson.org>
17060
17061         * build-aux/git-version-gen: Fix copyright statement.
17062         * build-aux/gnupload: Likewise.
17063         * tests/test-arcfour.c: Likewise.
17064         * tests/test-arctwo.c: Likewise.
17065         * tests/test-count-one-bits.c: Likewise.
17066         * tests/test-crc.c: Likewise.
17067         * tests/test-des.c: Likewise.
17068         * tests/test-gc-arcfour.c: Likewise.
17069         * tests/test-gc-arctwo.c: Likewise.
17070         * tests/test-gc-des.c: Likewise.
17071         * tests/test-gc-hmac-md5.c: Likewise.
17072         * tests/test-gc-hmac-sha1.c: Likewise.
17073         * tests/test-gc-md2.c: Likewise.
17074         * tests/test-gc-md4.c: Likewise.
17075         * tests/test-gc-md5.c: Likewise.
17076         * tests/test-gc-pbkdf2-sha1.c: Likewise.
17077         * tests/test-gc-rijndael.c: Likewise.
17078         * tests/test-gc-sha1.c: Likewise.
17079         * tests/test-gc.c: Likewise.
17080         * tests/test-gethostname.c: Likewise.
17081         * tests/test-gettimeofday.c: Likewise.
17082         * tests/test-hash.c: Likewise.
17083         * tests/test-hmac-md5.c: Likewise.
17084         * tests/test-hmac-sha1.c: Likewise.
17085         * tests/test-md2.c: Likewise.
17086         * tests/test-md4.c: Likewise.
17087         * tests/test-md5.c: Likewise.
17088         * tests/test-memchr.c: Likewise.
17089         * tests/test-memchr2.c: Likewise.
17090         * tests/test-memcmp.c: Likewise.
17091         * tests/test-memmem.c: Likewise.
17092         * tests/test-memrchr.c: Likewise.
17093         * tests/test-rawmemchr.c: Likewise.
17094         * tests/test-read-file.c: Likewise.
17095         * tests/test-rijndael.c: Likewise.
17096         * tests/test-sockets.c: Likewise.
17097         * tests/test-strchrnul.c: Likewise.
17098         * tests/test-strstr.c: Likewise.
17099         * tests/test-strtod.c: Likewise.
17100         * build-aux/ncftpput-ftp: Likewise.
17101
17102 2010-01-26  Eric Blake  <ebb9@byu.net>
17103
17104         ignore-value: update recommended header name
17105         * modules/ignore-value (Include): Only use <> for headers that
17106         exist in glibc.
17107
17108 2010-01-26  Jim Meyering  <meyering@redhat.com>
17109
17110         test-userspec.c: avoid compiler warnings
17111         * tests/test-userspec.c (main): Avoid shadowing ("uid"),
17112         and "initialization discards qualifiers..." warnings.
17113         Put the first "uid" in its own scope, and make char* members "const".
17114
17115 2010-01-25  Bruno Haible  <bruno@clisp.org>
17116
17117         gnulib-tool: Make warning diagnostics consistent.
17118         * gnulib-tool (func_warning): New function.
17119         Use it everywhere where gnulib-tool produces output to stderr and it is
17120         not a fatal error.
17121
17122 2010-01-25  Bruno Haible  <bruno@clisp.org>
17123
17124         Fix test dependencies.
17125         * modules/xstrtol-tests (Depends-on): Add inttypes.
17126         * modules/xstrtoll-tests (Depends-on): Likewise. Remove xstrtoll.
17127
17128 2010-01-25 Pádraig Brady <P@draigBrady.com>
17129
17130         syntax-check: detect incorrect boolean macro values in config.h
17131         * modules/maintainer-makefile (configure.ac): Parameterize the location
17132         of config.h which will be available to makefiles as $(CONFIG_INCLUDE).
17133         The logic is from Eric Blake and the location indicated by Jim Meyering.
17134         Note the more natural CONFIG_HEADER name is prohibited by automake
17135         for backwards compatibility reasons.
17136         * top/maint.mk (sc_Wundef_boolean): New rule.
17137
17138 2010-01-25  Jim Meyering  <meyering@redhat.com>
17139
17140         bootstrap: detect MacOS 10.6's shasum, too
17141         * build-aux/bootstrap: Also recognize MacOS 10.6's shasum.
17142         Suggested by Thomas Treichl <Thomas.Treichl@gmx.net>.
17143
17144 2010-01-23  Jim Meyering  <meyering@redhat.com>
17145
17146         xstrtoll: new module
17147         * modules/xstrtoll: New file.
17148         * MODULES.html.sh (Numeric conversion functions): Add xstrtoll.
17149         * lib/xstrtol.h [HAVE_LONG_LONG_INT]: Declare xstrtoll and xstrtoull.
17150         * lib/xstrtoll.c, lib/xstrtoull.c: New files.
17151         ./configure fails if you use this module and lack "long long".
17152         * modules/xstrtoll-tests: New module.
17153         * tests/test-xstrtoll.c, tests/test-xstrtoull.c: New files.
17154         * tests/test-xstrtoll.sh: Like test-xstrtol.c, but use the
17155         new init.sh-based test framework.
17156
17157 2010-01-24  Bruno Haible  <bruno@clisp.org>
17158
17159         Tests for module 'yn'.
17160         * modules/yn-tests: New file.
17161         * tests/test-yn.c: New file.
17162
17163         Tests for module 'y1'.
17164         * modules/y1-tests: New file.
17165         * tests/test-y1.c: New file.
17166
17167         Tests for module 'y0'.
17168         * modules/y0-tests: New file.
17169         * tests/test-y0.c: New file.
17170
17171         Tests for module 'tanh'.
17172         * modules/tanh-tests: New file.
17173         * tests/test-tanh.c: New file.
17174
17175         Tests for module 'tan'.
17176         * modules/tan-tests: New file.
17177         * tests/test-tan.c: New file.
17178
17179         Tests for module 'sqrt'.
17180         * modules/sqrt-tests: New file.
17181         * tests/test-sqrt.c: New file.
17182
17183         Tests for module 'sinh'.
17184         * modules/sinh-tests: New file.
17185         * tests/test-sinh.c: New file.
17186
17187         Tests for module 'sin'.
17188         * modules/sin-tests: New file.
17189         * tests/test-sin.c: New file.
17190
17191         Tests for module 'rint'.
17192         * modules/rint-tests: New file.
17193         * tests/test-rint.c: New file.
17194
17195         Tests for module 'remainder'.
17196         * modules/remainder-tests: New file.
17197         * tests/test-remainder.c: New file.
17198
17199         Tests for module 'pow'.
17200         * modules/pow-tests: New file.
17201         * tests/test-pow.c: New file.
17202
17203         Tests for module 'nextafter'.
17204         * modules/nextafter-tests: New file.
17205         * tests/test-nextafter.c: New file.
17206
17207         Tests for module 'modf'.
17208         * modules/modf-tests: New file.
17209         * tests/test-modf.c: New file.
17210
17211         Tests for module 'logb'.
17212         * modules/logb-tests: New file.
17213         * tests/test-logb.c: New file.
17214
17215         Tests for module 'log1p'.
17216         * modules/log1p-tests: New file.
17217         * tests/test-log1p.c: New file.
17218
17219         Tests for module 'log10'.
17220         * modules/log10-tests: New file.
17221         * tests/test-log10.c: New file.
17222
17223         Tests for module 'log'.
17224         * modules/log-tests: New file.
17225         * tests/test-log.c: New file.
17226
17227         Tests for module 'lgamma'.
17228         * modules/lgamma-tests: New file.
17229         * tests/test-lgamma.c: New file.
17230
17231         Tests for module 'ldexp'.
17232         * modules/ldexp-tests: New file.
17233         * tests/test-ldexp.c: New file.
17234
17235         Tests for module 'jn'.
17236         * modules/jn-tests: New file.
17237         * tests/test-jn.c: New file.
17238
17239         Tests for module 'j1'.
17240         * modules/j1-tests: New file.
17241         * tests/test-j1.c: New file.
17242
17243         Tests for module 'j0'.
17244         * modules/j0-tests: New file.
17245         * tests/test-j0.c: New file.
17246
17247         Tests for module 'hypot'.
17248         * modules/hypot-tests: New file.
17249         * tests/test-hypot.c: New file.
17250
17251         Tests for module 'fmod'.
17252         * modules/fmod-tests: New file.
17253         * tests/test-fmod.c: New file.
17254
17255         Tests for module 'fabs'.
17256         * modules/fabs-tests: New file.
17257         * tests/test-fabs.c: New file.
17258
17259         Tests for module 'exp'.
17260         * modules/exp-tests: New file.
17261         * tests/test-exp.c: New file.
17262
17263         Tests for module 'erfc'.
17264         * modules/erfc-tests: New file.
17265         * tests/test-erfc.c: New file.
17266
17267         Tests for module 'erf'.
17268         * modules/erf-tests: New file.
17269         * tests/test-erf.c: New file.
17270
17271         Tests for module 'cosh'.
17272         * modules/cosh-tests: New file.
17273         * tests/test-cosh.c: New file.
17274
17275         Tests for module 'cos'.
17276         * modules/cos-tests: New file.
17277         * tests/test-cos.c: New file.
17278
17279         Tests for module 'copysign'.
17280         * modules/copysign-tests: New file.
17281         * tests/test-copysign.c: New file.
17282
17283         Tests for module 'cbrt'.
17284         * modules/cbrt-tests: New file.
17285         * tests/test-cbrt.c: New file.
17286
17287         Tests for module 'atan2'.
17288         * modules/atan2-tests: New file.
17289         * tests/test-atan2.c: New file.
17290
17291         Tests for module 'atan'.
17292         * modules/atan-tests: New file.
17293         * tests/test-atan.c: New file.
17294
17295         Tests for module 'asin'.
17296         * modules/asin-tests: New file.
17297         * tests/test-asin.c: New file.
17298
17299         Tests for module 'acos'.
17300         * modules/acos-tests: New file.
17301         * tests/test-acos.c: New file.
17302
17303 2010-01-24  Bruno Haible  <bruno@clisp.org>
17304
17305         Fix tests for common <math.h> functions.
17306         * m4/mathfunc.m4 (gl_MATHFUNC): Take two additional parameters. Use a
17307         code snippet that references the function pointer, rather than merely
17308         calling the function. Substitute the FUNC_LIBM variable.
17309         * m4/sqrt.m4 (gl_FUNC_SQRT): Update gl_MATHFUNC invocation.
17310         * modules/acos (configure.ac): Likewise.
17311         * modules/asin (configure.ac): Likewise.
17312         * modules/atan (configure.ac): Likewise.
17313         * modules/atan2 (configure.ac): Likewise.
17314         * modules/cbrt (configure.ac): Likewise.
17315         * modules/copysign (configure.ac): Likewise.
17316         * modules/cos (configure.ac): Likewise.
17317         * modules/cosh (configure.ac): Likewise.
17318         * modules/erf (configure.ac): Likewise.
17319         * modules/erfc (configure.ac): Likewise.
17320         * modules/exp (configure.ac): Likewise.
17321         * modules/fabs (configure.ac): Likewise.
17322         * modules/fmod (configure.ac): Likewise.
17323         * modules/hypot (configure.ac): Likewise.
17324         * modules/j0 (configure.ac): Likewise.
17325         * modules/j1 (configure.ac): Likewise.
17326         * modules/jn (configure.ac): Likewise.
17327         * modules/ldexp (configure.ac): Likewise.
17328         * modules/lgamma (configure.ac): Likewise.
17329         * modules/log (configure.ac): Likewise.
17330         * modules/log10 (configure.ac): Likewise.
17331         * modules/log1p (configure.ac): Likewise.
17332         * modules/logb (configure.ac): Likewise.
17333         * modules/modf (configure.ac): Likewise.
17334         * modules/nextafter (configure.ac): Likewise.
17335         * modules/pow (configure.ac): Likewise.
17336         * modules/remainder (configure.ac): Likewise.
17337         * modules/rint (configure.ac): Likewise.
17338         * modules/sin (configure.ac): Likewise.
17339         * modules/sinh (configure.ac): Likewise.
17340         * modules/tan (configure.ac): Likewise.
17341         * modules/tanh (configure.ac): Likewise.
17342         * modules/y0 (configure.ac): Likewise.
17343         * modules/y1 (configure.ac): Likewise.
17344         * modules/yn (configure.ac): Likewise.
17345
17346 2010-01-24  Bruno Haible  <bruno@clisp.org>
17347
17348         Tests: Defeat inlining of math functions by GCC >= 4.3.0.
17349         * tests/test-acosl.c (x): New variable.
17350         (main): Store argument in x and fetch it from x.
17351         * tests/test-asinl.c (x): New variable.
17352         (main): Store argument in x and fetch it from x.
17353         * tests/test-atanl.c (x): New variable.
17354         (main): Store argument in x and fetch it from x.
17355         * tests/test-cosl.c (x): New variable.
17356         (main): Store argument in x and fetch it from x.
17357         * tests/test-expl.c (x): New variable.
17358         (main): Store argument in x and fetch it from x.
17359         * tests/test-logl.c (x): New variable.
17360         (main): Store argument in x and fetch it from x.
17361         * tests/test-sinl.c (x): New variable.
17362         (main): Store argument in x and fetch it from x.
17363         * tests/test-sqrtl.c (x): New variable.
17364         (main): Store argument in x and fetch it from x.
17365         * tests/test-tanl.c (x): New variable.
17366         (main): Store argument in x and fetch it from x.
17367
17368 2010-01-24  Bruno Haible  <bruno@clisp.org>
17369
17370         Provide EXEEXT and srcdir in TESTS_ENVIRONMENT by default.
17371         * gnulib-tool (func_emit_tests_Makefile_am): Add EXEEXT and srcdir
17372         assignments to the initial TESTS_ENVIRONMENT.
17373         * doc/gnulib.texi (Unit test modules): Document it.
17374         * modules/acl-tests (Makefile.am): Drop EXEEXT assignment from
17375         TESTS_ENVIRONMENT.
17376         * modules/btowc-tests (Makefile.am): Likewise.
17377         * modules/c-stack-tests (Makefile.am): Likewise.
17378         * modules/c-strcase-tests (Makefile.am): Likewise.
17379         * modules/copy-file-tests (Makefile.am): Likewise.
17380         * modules/mbmemcasecmp-tests (Makefile.am): Likewise.
17381         * modules/mbmemcasecoll-tests (Makefile.am): Likewise.
17382         * modules/mbrtowc-tests (Makefile.am): Likewise.
17383         * modules/mbscasecmp-tests (Makefile.am): Likewise.
17384         * modules/mbscasestr-tests (Makefile.am): Likewise.
17385         * modules/mbschr-tests (Makefile.am): Likewise.
17386         * modules/mbscspn-tests (Makefile.am): Likewise.
17387         * modules/mbsinit-tests (Makefile.am): Likewise.
17388         * modules/mbsncasecmp-tests (Makefile.am): Likewise.
17389         * modules/mbsnrtowcs-tests (Makefile.am): Likewise.
17390         * modules/mbspbrk-tests (Makefile.am): Likewise.
17391         * modules/mbspcasecmp-tests (Makefile.am): Likewise.
17392         * modules/mbsrchr-tests (Makefile.am): Likewise.
17393         * modules/mbsrtowcs-tests (Makefile.am): Likewise.
17394         * modules/mbsspn-tests (Makefile.am): Likewise.
17395         * modules/mbsstr-tests (Makefile.am): Likewise.
17396         * modules/nl_langinfo-tests (Makefile.am): Likewise.
17397         * modules/unicase/locale-language-tests (Makefile.am): Likewise.
17398         * modules/unistdio/u16-vasnprintf-tests (Makefile.am): Likewise.
17399         * modules/unistdio/u32-vasnprintf-tests (Makefile.am): Likewise.
17400         * modules/unistdio/u8-vasnprintf-tests (Makefile.am): Likewise.
17401         * modules/unistdio/ulc-vasnprintf-tests (Makefile.am): Likewise.
17402         * modules/uniwbrk/ulc-wordbreaks-tests (Makefile.am): Likewise.
17403         * modules/vasnprintf-posix-tests (Makefile.am): Likewise.
17404         * modules/wcrtomb-tests (Makefile.am): Likewise.
17405         * modules/wcsnrtombs-tests (Makefile.am): Likewise.
17406         * modules/wcsrtombs-tests (Makefile.am): Likewise.
17407         * modules/quotearg-tests (Makefile.am): Drop EXEEXT and srcdir
17408         assignments from TESTS_ENVIRONMENT.
17409         * modules/argp-tests (Makefile.am): Drop TESTS_ENVIRONMENT
17410         augmentation.
17411         * modules/argp-version-etc-tests (Makefile.am): Likewise.
17412         * modules/atexit-tests (Makefile.am): Likewise.
17413         * modules/binary-io-tests (Makefile.am): Likewise.
17414         * modules/closein-tests (Makefile.am): Likewise.
17415         * modules/dprintf-posix-tests (Makefile.am): Likewise.
17416         * modules/exclude-tests (Makefile.am): Likewise.
17417         * modules/fflush-tests (Makefile.am): Likewise.
17418         * modules/fpending-tests (Makefile.am): Likewise.
17419         * modules/fprintf-posix-tests (Makefile.am): Likewise.
17420         * modules/freadahead-tests (Makefile.am): Likewise.
17421         * modules/freadptr-tests (Makefile.am): Likewise.
17422         * modules/freadseek-tests (Makefile.am): Likewise.
17423         * modules/fseek-tests (Makefile.am): Likewise.
17424         * modules/fseeko-tests (Makefile.am): Likewise.
17425         * modules/ftell-tests (Makefile.am): Likewise.
17426         * modules/ftello-tests (Makefile.am): Likewise.
17427         * modules/idpriv-drop-tests (Makefile.am): Likewise.
17428         * modules/idpriv-droptemp-tests (Makefile.am): Likewise.
17429         * modules/lseek-tests (Makefile.am): Likewise.
17430         * modules/parse-duration-tests (Makefile.am): Likewise.
17431         * modules/perror-tests (Makefile.am): Likewise.
17432         * modules/pipe-filter-gi-tests (Makefile.am): Likewise.
17433         * modules/pipe-filter-ii-tests (Makefile.am): Likewise.
17434         * modules/pipe-tests (Makefile.am): Likewise.
17435         * modules/pread-tests (Makefile.am): Likewise.
17436         * modules/printf-posix-tests (Makefile.am): Likewise.
17437         * modules/select-tests (Makefile.am): Likewise.
17438         * modules/sigpipe-tests (Makefile.am): Likewise.
17439         * modules/tsearch-tests (Makefile.am): Likewise.
17440         * modules/unicase/ulc-casecmp-tests (Makefile.am): Likewise.
17441         * modules/unicase/ulc-casecoll-tests (Makefile.am): Likewise.
17442         * modules/uniname/uniname-tests (Makefile.am): Likewise.
17443         * modules/uniwidth/width-tests (Makefile.am): Likewise.
17444         * modules/vdprintf-posix-tests (Makefile.am): Likewise.
17445         * modules/version-etc-tests (Makefile.am): Likewise.
17446         * modules/vfprintf-posix-tests (Makefile.am): Likewise.
17447         * modules/vprintf-posix-tests (Makefile.am): Likewise.
17448         * modules/xalloc-die-tests (Makefile.am): Likewise.
17449         * modules/xprintf-posix-tests (Makefile.am): Likewise.
17450         * modules/xstrtoimax-tests (Makefile.am): Likewise.
17451         * modules/xstrtol-tests (Makefile.am): Likewise.
17452         * modules/xstrtoumax-tests (Makefile.am): Likewise.
17453         * modules/yesno-tests (Makefile.am): Likewise.
17454         Suggested by Jim Meyering.
17455
17456 2010-01-24  Bruno Haible  <bruno@clisp.org>
17457
17458         More documentation.
17459         * doc/gnulib.texi (Writing modules): New chapter.
17460         (Miscellaneous Notes): Move sections "Comments" and "Header files" to
17461         the new chapter.
17462
17463 2010-01-24  Jim Meyering  <meyering@redhat.com>
17464
17465         maint.mk: do not prepend "./" after filtering
17466         * top/maint.mk (_prepend_srcdir_prefix): New variable
17467         (VC_LIST_EXCEPT): Use it to avoid prepending (post-filter)
17468         "./" when $(srcdir) is ".".
17469
17470         define STREQ(a,b) consistently, removing useless parentheses
17471         #define STREQ(a, b) (strcmp ((a), (b)) == 0) is over-parenthesized,
17472         since the only risk is that "a" or "b" contains an unparenthesized
17473         comma, but if either did that, STREQ would have 3 or more arguments.
17474         Hence, #define STREQ(a, b) (strcmp (a, b) == 0) is better.
17475         * lib/fts.c (STREQ): Remove unnecessary parentheses.
17476         * lib/hash-triple.c (STREQ): Likewise.
17477         * tests/test-argv-iter.c (STREQ): Use a and b, not s1 and s2.
17478         * lib/getugroups.c (STREQ): Likewise.
17479
17480 2010-01-23  Jim Meyering  <meyering@redhat.com>
17481
17482         maint.mk: fix syntax-check in a non-srcdir build directory
17483         * top/maint.mk (_dot_escaped_srcdir): Remove erroneous backslash,
17484         introduced in my 2010-01-21 commit, a6da6c45.  Reported by Eric Blake.
17485
17486 2010-01-22  Jim Meyering  <meyering@redhat.com>
17487
17488         userspec: add unit tests
17489         * tests/test-userspec.c: New file.
17490         * modules/userspec-tests: Likewise.
17491
17492 2010-01-21  Jim Meyering  <meyering@redhat.com>
17493
17494         maint.mk: handle source file names containing "." robustly
17495         * top/maint.mk (_dot_escaped_srcdir): Define.
17496         (VC_LIST): Use it in LHS of sed substitution.
17497
17498 2010-01-21  Jiri Denemark  <jdenemar@redhat.com>
17499
17500         maint.mk: fix VC_LIST_EXCEPT for srcdir != builddir
17501         * top/maint.mk (VC_LIST_EXCEPT): Preprocess the output of
17502         $(VC_LIST) to remove a prefix of '$(srcdir)/', so that it works
17503         from a non-srcdir build.
17504
17505 2010-01-20  Eric Blake  <ebb9@byu.net>
17506
17507         warn-on-use: use instead of link-warning
17508         * modules/stdio (Depends-on, Makefile.am): Drop link-warning.
17509         * modules/unistd (Depends-on, Makefile.am): Likewise.
17510         * modules/arpa_inet (Depends-on): Replace link-warning with
17511         warn-on-use.
17512         (Makefile.am): Update rules accordingly.
17513         * modules/ctype (Depends-on, Makefile.am): Likewise.
17514         * modules/dirent (Depends-on, Makefile.am): Likewise.
17515         * modules/fcntl-h (Depends-on, Makefile.am): Likewise.
17516         * modules/inttypes (Depends-on, Makefile.am): Likewise.
17517         * modules/langinfo (Depends-on, Makefile.am): Likewise.
17518         * modules/locale (Depends-on, Makefile.am): Likewise.
17519         * modules/math (Depends-on, Makefile.am): Likewise.
17520         * modules/search (Depends-on, Makefile.am): Likewise.
17521         * modules/signal (Depends-on, Makefile.am): Likewise.
17522         * modules/spawn (Depends-on, Makefile.am): Likewise.
17523         * modules/stdlib (Depends-on, Makefile.am): Likewise.
17524         * modules/string (Depends-on, Makefile.am): Likewise.
17525         * modules/strings (Depends-on, Makefile.am): Likewise.
17526         * modules/sys_file (Depends-on, Makefile.am): Likewise.
17527         * modules/sys_ioctl (Depends-on, Makefile.am): Likewise.
17528         * modules/sys_select (Depends-on, Makefile.am): Likewise.
17529         * modules/sys_socket (Depends-on, Makefile.am): Likewise.
17530         * modules/sys_stat (Depends-on, Makefile.am): Likewise.
17531         * modules/sys_times (Depends-on, Makefile.am): Likewise.
17532         * modules/sys_utsname (Depends-on, Makefile.am): Likewise.
17533         * modules/wchar (Depends-on, Makefile.am): Likewise.
17534         * m4/arpa_inet_h.m4 (gl_HEADER_ARPA_INET): Check which functions
17535         should be poisoned.
17536         * m4/ctype.m4 (gl_CTYPE_H): Likewise.
17537         * m4/dirent_h.m4 (gl_DIRENT_H): Likewise.
17538         * m4/fcntl_h.m4 (gl_FCNTL_H): Likewise.
17539         * m4/inttypes.m4 (gl_INTTYPES_H): Likewise.
17540         * m4/langinfo_h.m4 (gl_LANGINFO_H): Likewise.
17541         * m4/locale_h.m4 (gl_LOCALE_H): Likewise.
17542         * m4/math_h.m4 (gl_MATH_H): Likewise.
17543         * m4/search_h.m4 (gl_SEARCH_H): Likewise.
17544         * m4/signal_h.m4 (gl_SIGNAL_H): Likewise.
17545         * m4/spawn_h.m4 (gl_SPAWN_H): Likewise.
17546         * m4/stdio_h.m4 (gl_STDIO_H): Likewise.
17547         * m4/stdlib_h.m4 (gl_STDLIB_H): Likewise.
17548         * m4/string_h.m4 (gl_HEADER_STRING_H_BODY): Likewise.
17549         * m4/strings_h.m4 (gl_HEADER_STRINGS_H_BODY): Likewise.
17550         * m4/sys_file_h.m4 (gl_HEADER_SYS_FILE_H_DEFAULTS): Likewise.
17551         * m4/sys_ioctl_h.m4 (gl_SYS_IOCTL_H): Likewise.
17552         * m4/sys_select_h.m4 (gl_HEADER_SYS_SELECT): Likewise.
17553         * m4/sys_socket_h.m4 (gl_HEADER_SYS_SOCKET): Likewise.
17554         * m4/sys_stat_h.m4 (gl_HEADER_SYS_STAT_H): Likewise.
17555         * m4/sys_times_h.m4 (gl_SYS_TIMES_H): Likewise.
17556         * m4/sys_utsname_h.m4 (gl_SYS_UTSNAME_H): Likewise.
17557         * m4/unistd_h.m4 (gl_UNISTD_H): Likewise.
17558         * m4/wchar.m4 (gl_WCHAR_H): Likewise.
17559         * lib/arpa_inet.in.h: Use _GL_WARN_ON_USE instead of
17560         GL_LINK_WARNING.
17561         * lib/ctype.in.h: Likewise.
17562         * lib/dirent.in.h: Likewise.
17563         * lib/fcntl.in.h: Likewise.
17564         * lib/inttypes.in.h: Likewise.
17565         * lib/langinfo.in.h: Likewise.
17566         * lib/locale.in.h: Likewise.
17567         * lib/math.in.h: Likewise.
17568         * lib/search.in.h: Likewise.
17569         * lib/signal.in.h: Likewise.
17570         * lib/spawn.in.h: Likewise.
17571         * lib/stdio.in.h: Likewise.
17572         * lib/stdlib.in.h: Likewise.
17573         * lib/string.in.h: Likewise.
17574         * lib/strings.in.h: Likewise.
17575         * lib/sys_file.in.h: Likewise.
17576         * lib/sys_ioctl.in.h: Likewise.
17577         * lib/sys_select.in.h: Likewise.
17578         * lib/sys_socket.in.h: Likewise.
17579         * lib/sys_stat.in.h: Likewise.
17580         * lib/sys_times.in.h: Likewise.
17581         * lib/sys_utsname.in.h: Likewise.
17582         * lib/unistd.in.h: Likewise.
17583         * lib/wchar.in.h: Likewise.
17584
17585 2010-01-20  Bruno Haible  <bruno@clisp.org>
17586
17587         Avoid duplicate -lm.
17588         * m4/isnan.m4 (gl_ISNAN): Avoid duplicate -lm in $ISNAN_LIBM.
17589         * m4/round.m4 (gl_FUNC_ROUND): Avoid duplicate -lm in $ROUND_LIBM.
17590         * m4/roundf.m4 (gl_FUNC_ROUNDF): Avoid duplicate -lm in $ROUNDF_LIBM.
17591         * m4/roundl.m4 (gl_FUNC_ROUNDL): Avoid duplicate -lm in $ROUNDL_LIBM.
17592         * m4/acosl.m4 (gl_FUNC_ACOSL): Avoid duplicate -lm in $ACOSL_LIBM.
17593         * m4/cosl.m4 (gl_FUNC_COSL): Avoid duplicate -lm in $COSL_LIBM.
17594         * m4/logl.m4 (gl_FUNC_LOGL): Avoid duplicate -lm in $LOGL_LIBM.
17595         * m4/sinl.m4 (gl_FUNC_SINL): Avoid duplicate -lm in $SINL_LIBM.
17596         * m4/sqrtl.m4 (gl_FUNC_SQRTL): Avoid duplicate -lm in $SQRTL_LIBM.
17597         * m4/tanl.m4 (gl_FUNC_TANL): Avoid duplicate -lm in $TANL_LIBM.
17598         * m4/asinl.m4 (gl_FUNC_ASINL): Same change, for consistency.
17599         * m4/atanl.m4 (gl_FUNC_ATANL): Likewise.
17600         Reported by Paolo Bonzini.
17601
17602 2010-01-19  Bruno Haible  <bruno@clisp.org>
17603
17604         langinfo, nl_langinfo: Relicense under LGPLv2+.
17605         * modules/langinfo (License): Change to LGPLv2+.
17606         * modules/nl_langinfo (License): Likewise.
17607         Patch by David Lutterkort <lutter@redhat.com>.
17608
17609 2010-01-19  Bruno Haible  <bruno@clisp.org>
17610
17611         Avoid compilation error with cc on OSF/1 5.1.
17612         * lib/fcntl.in.h: Include <unistd.h> after the #include_next <fcntl.h>
17613         statement, not before.
17614         Reported by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
17615
17616 2010-01-18  Bruno Haible  <bruno@clisp.org>
17617
17618         Avoid a link error due to the __printf__ symbol.
17619         * lib/stdio.in.h (__attribute__): Define to empty also for gcc 2.5.x
17620         and 2.6.x.
17621         (__format__, __printf__): Remove definitions.
17622         * lib/argp-fmtstream.h: Likewise.
17623         * lib/argp.h: Likewise.
17624         * lib/error.h: Likewise.
17625         * lib/vasnprintf.h: Likewise.
17626         * lib/xprintf.h: Likewise.
17627         * lib/xvasprintf.h: Likewise.
17628         Reported by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
17629
17630 2010-01-18  Bruno Haible  <bruno@clisp.org>
17631
17632         Tests for module 'tanl'.
17633         * modules/tanl-tests: New file.
17634         * tests/test-tanl.c: New file.
17635
17636         Tests for module 'sqrtl'.
17637         * modules/sqrtl-tests: New file.
17638         * tests/test-sqrtl.c: New file.
17639
17640         Tests for module 'sinl'.
17641         * modules/sinl-tests: New file.
17642         * tests/test-sinl.c: New file.
17643
17644         Tests for module 'logl'.
17645         * modules/logl-tests: New file.
17646         * tests/test-logl.c: New file.
17647
17648         Tests for module 'expl'.
17649         * modules/expl-tests: New file.
17650         * tests/test-expl.c: New file.
17651
17652         Tests for module 'cosl'.
17653         * modules/cosl-tests: New file.
17654         * tests/test-cosl.c: New file.
17655
17656         Tests for module 'atanl'.
17657         * modules/atanl-tests: New file.
17658         * tests/test-atanl.c: New file.
17659
17660         Tests for module 'asinl'.
17661         * modules/asinl-tests: New file.
17662         * tests/test-asinl.c: New file.
17663
17664         Tests for module 'acosl'.
17665         * modules/acosl-tests: New file.
17666         * tests/test-acosl.c: New file.
17667
17668         New modules acosl, asinl, atanl, cosl, expl, logl, sinl, sqrtl, tanl.
17669         * lib/math.in.h (acosl, asinl, atanl, cosl, expl, logl, sinl, sqrtl,
17670         tanl): Use the standard gnulib idiom.
17671         * lib/cosl.c: Don't include trigl.c and sincosl.c.
17672         * lib/sinl.c: Likewise.
17673         * lib/tanl.c: Don't include trigl.c.
17674         (kernel_tanl): Make static.
17675         * lib/sincosl.c: Include trigl.h first.
17676         * lib/trigl.c: Likewise.
17677         * m4/acosl.m4: New file.
17678         * m4/asinl.m4: New file.
17679         * m4/atanl.m4: New file.
17680         * m4/cosl.m4: New file.
17681         * m4/expl.m4: New file.
17682         * m4/logl.m4: New file.
17683         * m4/sinl.m4: New file.
17684         * m4/sqrtl.m4: New file.
17685         * m4/tanl.m4: New file.
17686         * m4/mathl.m4: Remove file.
17687         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize GNULIB_* and HAVE_*
17688         variables for acosl, asinl, atanl, cosl, expl, logl, sinl, sqrtl, tanl.
17689         Don't initialize GNULIB_MATHL.
17690         * modules/acosl: New file.
17691         * modules/asinl: New file.
17692         * modules/atanl: New file.
17693         * modules/cosl: New file.
17694         * modules/expl: New file.
17695         * modules/logl: New file.
17696         * modules/sinl: New file.
17697         * modules/sqrtl: New file.
17698         * modules/tanl: New file.
17699         * modules/math (Makefile.am): Substitute GNULIB_* and HAVE_* variables
17700         for acosl, asinl, atanl, cosl, expl, logl, sinl, sqrtl, tanl. Don't
17701         substitute GNULIB_MATHL.
17702         * modules/mathl: Rewritten.
17703         * doc/posix-functions/acosl.texi: Mention the 'acosl' module.
17704         * doc/posix-functions/asinl.texi: Mention the 'asinl' module.
17705         * doc/posix-functions/atanl.texi: Mention the 'atanl' module.
17706         * doc/posix-functions/cosl.texi: Mention the 'cosl' module.
17707         * doc/posix-functions/expl.texi: Mention the 'expl' module.
17708         * doc/posix-functions/logl.texi: Mention the 'logl' module.
17709         * doc/posix-functions/sinl.texi: Mention the 'sinl' module.
17710         * doc/posix-functions/sqrtl.texi: Mention the 'sqrtl' module.
17711         * doc/posix-functions/tanl.texi: Mention the 'tanl' module.
17712
17713 2010-01-18  Bruno Haible  <bruno@clisp.org>
17714
17715         sqrt: Make gl_FUNC_SQRT requirable.
17716         * m4/sqrt.m4: New file.
17717         * modules/sqrt (Files): Add it.
17718         (configure.ac): Invoke gl_FUNC_SQRT.
17719
17720 2010-01-18  Bruno Haible  <bruno@clisp.org>
17721
17722         New modules for common <math.h> functions.
17723         * m4/mathfunc.m4: New file.
17724         * modules/acos: New file.
17725         * modules/asin: New file.
17726         * modules/atan: New file.
17727         * modules/atan2: New file.
17728         * modules/cbrt: New file.
17729         * modules/copysign: New file.
17730         * modules/cos: New file.
17731         * modules/cosh: New file.
17732         * modules/erf: New file.
17733         * modules/erfc: New file.
17734         * modules/exp: New file.
17735         * modules/fabs: New file.
17736         * modules/fmod: New file.
17737         * modules/hypot: New file.
17738         * modules/j0: New file.
17739         * modules/j1: New file.
17740         * modules/jn: New file.
17741         * modules/ldexp: New file.
17742         * modules/lgamma: New file.
17743         * modules/log: New file.
17744         * modules/log10: New file.
17745         * modules/log1p: New file.
17746         * modules/logb: New file.
17747         * modules/modf: New file.
17748         * modules/nextafter: New file.
17749         * modules/pow: New file.
17750         * modules/remainder: New file.
17751         * modules/rint: New file.
17752         * modules/sin: New file.
17753         * modules/sinh: New file.
17754         * modules/sqrt: New file.
17755         * modules/tan: New file.
17756         * modules/tanh: New file.
17757         * modules/y0: New file.
17758         * modules/y1: New file.
17759         * modules/yn: New file.
17760         * doc/posix-functions/acos.texi: Mention the 'acos' module.
17761         * doc/posix-functions/asin.texi: Mention the 'asin' module.
17762         * doc/posix-functions/atan.texi: Mention the 'atan' module.
17763         * doc/posix-functions/atan2.texi: Mention the 'atan2' module.
17764         * doc/posix-functions/cbrt.texi: Mention the 'cbrt' module.
17765         * doc/posix-functions/copysign.texi: Mention the 'copysign' module.
17766         * doc/posix-functions/cos.texi: Mention the 'cos' module.
17767         * doc/posix-functions/cosh.texi: Mention the 'cosh' module.
17768         * doc/posix-functions/erf.texi: Mention the 'erf' module.
17769         * doc/posix-functions/erfc.texi: Mention the 'erfc' module.
17770         * doc/posix-functions/exp.texi: Mention the 'exp' module.
17771         * doc/posix-functions/fabs.texi: Mention the 'fabs' module.
17772         * doc/posix-functions/fmod.texi: Mention the 'fmod' module.
17773         * doc/posix-functions/hypot.texi: Mention the 'hypot' module.
17774         * doc/posix-functions/j0.texi: Mention the 'j0' module.
17775         * doc/posix-functions/j1.texi: Mention the 'j1' module.
17776         * doc/posix-functions/jn.texi: Mention the 'jn' module.
17777         * doc/posix-functions/ldexp.texi: Mention the 'ldexp' module.
17778         * doc/posix-functions/lgamma.texi: Mention the 'lgamma' module.
17779         * doc/posix-functions/log.texi: Mention the 'log' module.
17780         * doc/posix-functions/log10.texi: Mention the 'log10' module.
17781         * doc/posix-functions/log1p.texi: Mention the 'log1p' module.
17782         * doc/posix-functions/logb.texi: Mention the 'logb' module.
17783         * doc/posix-functions/modf.texi: Mention the 'modf' module.
17784         * doc/posix-functions/nextafter.texi: Mention the 'nextafter' module.
17785         * doc/posix-functions/pow.texi: Mention the 'pow' module.
17786         * doc/posix-functions/remainder.texi: Mention the 'remainder' module.
17787         * doc/posix-functions/rint.texi: Mention the 'rint' module.
17788         * doc/posix-functions/sin.texi: Mention the 'sin' module.
17789         * doc/posix-functions/sinh.texi: Mention the 'sinh' module.
17790         * doc/posix-functions/sqrt.texi: Mention the 'sqrt' module.
17791         * doc/posix-functions/tan.texi: Mention the 'tan' module.
17792         * doc/posix-functions/tanh.texi: Mention the 'tanh' module.
17793         * doc/posix-functions/y0.texi: Mention the 'y0' module.
17794         * doc/posix-functions/y1.texi: Mention the 'y1' module.
17795         * doc/posix-functions/yn.texi: Mention the 'yn' module.
17796
17797 2010-01-18  Jim Meyering  <meyering@redhat.com>
17798
17799         ignore-value: relax license to LGPLv2+
17800         * modules/ignore-value (License): Relax to LGPLv2+.
17801
17802         getdate: don't leak when TZ contains two or more '"'s
17803         * lib/getdate.y (get_date): Don't leak a copy of TZ for each
17804         double quote in TZ after the first one.
17805
17806         readtokens: do not leak internal token_lengths buffer
17807         * lib/readtokens.c (readtokens): Free the local, lengths,
17808         when the supplied "token_lengths" parameter is NULL.
17809
17810 2010-01-17  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
17811
17812         Fix a couple of missing LIBTHREAD link failures on AIX.
17813         * modules/git-merge-changelog (git_merge_changelog_LDADD): Add
17814         $(LIBTHREAD).
17815         * modules/strsignal-tests (test_strsignal_LDADD): Likewise.
17816
17817         Link test-poll against INET_PTON_LIB.
17818         * modules/poll-tests (test_poll_LDADD): Add $(INET_PTON_LIB),
17819         for inet_pton on Solaris 10.
17820
17821 2010-01-17  Bruno Haible  <bruno@clisp.org>
17822
17823         unistdio/*-sprintf: Fix typo in module description.
17824         * modules/unistdio/u8-sprintf (Depends-on): Fix typo.
17825         * modules/unistdio/u8-u8-sprintf (Depends-on): Likewise.
17826         * modules/unistdio/u16-sprintf (Depends-on): Likewise.
17827         * modules/unistdio/u16-u16-sprintf (Depends-on): Likewise.
17828         * modules/unistdio/u32-sprintf (Depends-on): Likewise.
17829         * modules/unistdio/u32-u32-sprintf (Depends-on): Likewise.
17830         * modules/unistdio/ulc-sprintf (Depends-on): Likewise.
17831         Reported by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
17832
17833 2010-01-17  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
17834
17835         gnulib-tool: fix filelist for AIX, HP-UX ksh.
17836         * gnulib-tool (func_filter_filelist): Do not quote possibly-empty
17837         variables in shell case patterns, for AIX and HP-UX ksh.
17838
17839         Split large sed scripts, for HP-UX sed.
17840         * modules/stdio: Split sed scripts around 50 sed commands,
17841         to avoid HP-UX limit of 99 commands, in the near future.
17842         * modules/string: Likewise.
17843         * modules/unistd: Likewise.
17844
17845         gnulib-tool: avoid writing in the current directory.
17846         * gnulib-tool (func_emit_lib_Makefile_am)
17847         (func_emit_tests_Makefile_am): Put temporary files in $tmp,
17848         not in the current directory, so concurrent gnulib-tool
17849         instances do not interfere.
17850
17851 2010-01-16  Jim Meyering  <meyering@redhat.com>
17852
17853         doc: update users.txt
17854         * users.txt: Add grep.
17855         (diffutils, gzip): Update URLs.
17856
17857 2010-01-12  Bruno Haible  <bruno@clisp.org>
17858
17859         posix_spawn: Avoid test failure on Cygwin.
17860         * tests/test-posix_spawn3.c (DATA_FILENAME) [CYGWIN]: Use less risky
17861         characters.
17862         Reported by Simon Josefsson.
17863
17864 2010-01-12  Bruno Haible  <bruno@clisp.org>
17865
17866         * tests/test-cond.c (main): When skipping the test, show the reason.
17867
17868 2010-01-12  Simon Josefsson  <simon@josefsson.org>
17869
17870         * lib/striconv.c (str_cd_iconv): Avoid if before free.
17871
17872 2010-01-12  Simon Josefsson  <simon@josefsson.org>
17873
17874         * top/maint.mk (VC_LIST_EXCEPT): Filter list through
17875         VC_LIST_ALWAYS_EXCLUDE_REGEX.
17876
17877 2010-01-12  Eric Blake  <ebb9@byu.net>
17878
17879         build: guarantee AS_VAR_IF
17880         * m4/warnings.m4 (gl_WARN_ADD): Use autoconf name.
17881         (gl_AS_VAR_IF): Move...
17882         * m4/gnulib-common.m4 (AS_VAR_IF): ...here.
17883         Reported by Simon Josefsson.
17884
17885 2010-01-12  Simon Josefsson  <simon@josefsson.org>
17886
17887         * lib/stdio.in.h: Fix typo.
17888
17889 2010-01-12  Simon Josefsson  <simon@josefsson.org>
17890
17891         * m4/gc.m4: Check if linking to libgcrypt also needs linking to
17892         libgpg-error.
17893
17894 2010-01-12  Simon Josefsson  <simon@josefsson.org>
17895
17896         * tests/test-xalloc-die.sh: Use $EXEEXT.
17897
17898 2010-01-12  Simon Josefsson  <simon@josefsson.org>
17899             Bruno Haible  <bruno@clisp.org>
17900
17901         getlogin, getlogin_r: Avoid test failure.
17902         * tests/test-getlogin.c: Include <stdio.h>.
17903         (main): Skip the test when the function fails because stdin is not a
17904         tty.
17905         * tests/test-getlogin_r.c: Include <stdio.h>.
17906         (main): Skip the test when the function fails because stdin is not a
17907         tty.
17908
17909 2010-01-11  Eric Blake  <ebb9@byu.net>
17910
17911         tests: avoid more large file warnings
17912         * tests/test-fflush.c: Avoid warning about ftell use.
17913         * tests/test-fseek.c: Avoid warning about fseek use.
17914
17915 2010-01-10  Bruno Haible  <bruno@clisp.org>
17916
17917         nproc: Work better on Linux when /proc and /sys are not mounted.
17918         * lib/nproc.c (num_processors): Use num_processors_via_affinity_mask ()
17919         as lower bound when, on glibc/Linux systems,
17920         sysconf (_SC_NPROCESSORS_CONF) returns 1.
17921         Suggested by Pádraig Brady <P@draigbrady.com>.
17922         Reported by Dmitry V. Levin <ldv@altlinux.org>.
17923
17924         nproc: Refactor.
17925         * lib/nproc.c (num_processors_via_affinity_mask): New function,
17926         extracted from num_processors.
17927         (num_processors): Call it.
17928
17929 2010-01-11  Jim Meyering  <meyering@redhat.com>
17930
17931         utimecmp: avoid new warning from upcoming gcc-4.5.0
17932         * lib/utimecmp.c (BILLION): Define using #define rather than an
17933         anonymous enum, to placate upcoming gcc-4.5.0's -Wenum-compare.
17934
17935 2010-01-11  Eric Blake  <ebb9@byu.net>
17936
17937         math: add portability warnings for classification macros
17938         * modules/math (Depends-on): Add warn-on-use.
17939         (Makefile.am): Provide new substitutions.
17940         * m4/math_h.m4 (gl_MATH_H): Require inline.
17941         * lib/math.in.h (_GL_WARN_REAL_FLOATING_DECL)
17942         (_GL_WARN_REAL_FLOATING_IMPL): New helper macros.
17943         (isfinite, isinf, isnan, signbit) [GNULIB_POSIXCHECK]: Use them to
17944         implement warnings.
17945
17946         unistd: warn on use of environ without module
17947         * modules/unistd (Depends-on): Add warn-on-use.
17948         (Makefile.am): Provide new substitutions.
17949         * m4/unistd_h.m4 (gl_UNISTD_H): Check for inline and environ.
17950         * lib/unistd.in.h (environ): Wrap with a warning helper function.
17951
17952         stdio: warn on suspicious uses
17953         * modules/stdio (Depends-on): Add warn-on-use.
17954         (Makefile.am): Provide new substitutions.
17955         * m4/stdio_h.m4 (gl_STDIO_H): Check for inline, ftello, and
17956         fseeko.
17957         * lib/stdio.in.h (gets): Always warn on use.
17958         (fseek, ftell): Adjust when warnings are issued, and honor
17959         _GL_NO_LARGE_FILES as a way to silence the warning.
17960         * tests/test-fpurge.c [!GNULIB_FSEEK]: Use new means to squelch
17961         any warning about large file offsets.
17962         * tests/test-freadable.c [!GNULIB_FSEEK]: Likewise.
17963         * tests/test-freading.c [!GNULIB_FSEEK]: Likewise.
17964         * tests/test-fseeko.c [!GNULIB_FSEEK]: Likewise.
17965         * tests/test-ftell.c [!GNULIB_FSEEK]: Likewise.
17966         * tests/test-ftello.c [!GNULIB_FSEEK]: Likewise.
17967         * tests/test-fwritable.c [!GNULIB_FSEEK]: Likewise.
17968         * tests/test-fwriting.c [!GNULIB_FSEEK]: Likewise.
17969         * tests/test-getopt.c [!GNULIB_FTELL]: Likewise.
17970
17971         warn-on-use: new module
17972         * modules/warn-on-use: New file.
17973         * build-aux/warn-on-use.h: Likewise.
17974         * m4/warn-on-use.m4: Likewise.
17975         * MODULES.html.sh (Support for building): Mention it.
17976
17977 2010-01-10  Bruno Haible  <bruno@clisp.org>
17978
17979         Tests for module 'unistr/u32-strdup'.
17980         * modules/unistr/u32-strdup-tests: New file.
17981         * tests/unistr/test-u32-strdup.c: New file.
17982
17983         Tests for module 'unistr/u16-strdup'.
17984         * modules/unistr/u16-strdup-tests: New file.
17985         * tests/unistr/test-u16-strdup.c: New file.
17986
17987         Tests for module 'unistr/u8-strdup'.
17988         * modules/unistr/u8-strdup-tests: New file.
17989         * tests/unistr/test-u8-strdup.c: New file.
17990         * tests/unistr/test-strdup.h: New file.
17991
17992         Tests for module 'unistr/u32-strncmp'.
17993         * modules/unistr/u32-strncmp-tests: New file.
17994         * tests/unistr/test-u32-strncmp.c: New file.
17995
17996         Tests for module 'unistr/u16-strncmp'.
17997         * modules/unistr/u16-strncmp-tests: New file.
17998         * tests/unistr/test-u16-strncmp.c: New file.
17999
18000         Tests for module 'unistr/u8-strncmp'.
18001         * modules/unistr/u8-strncmp-tests: New file.
18002         * tests/unistr/test-u8-strncmp.c: New file.
18003         * tests/unistr/test-strncmp.h: New file.
18004
18005         Tests for module 'unistr/u32-strcoll'.
18006         * modules/unistr/u32-strcoll-tests: New file.
18007         * tests/unistr/test-u32-strcoll.c: New file.
18008
18009         Tests for module 'unistr/u16-strcoll'.
18010         * modules/unistr/u16-strcoll-tests: New file.
18011         * tests/unistr/test-u16-strcoll.c: New file.
18012
18013         Tests for module 'unistr/u8-strcoll'.
18014         * modules/unistr/u8-strcoll-tests: New file.
18015         * tests/unistr/test-u8-strcoll.c: New file.
18016
18017         Tests for module 'unistr/u32-strcmp'.
18018         * modules/unistr/u32-strcmp-tests: New file.
18019         * tests/unistr/test-u32-strcmp.c: New file.
18020         * tests/unistr/test-u32-strcmp.h: New file.
18021
18022         Tests for module 'unistr/u16-strcmp'.
18023         * modules/unistr/u16-strcmp-tests: New file.
18024         * tests/unistr/test-u16-strcmp.c: New file.
18025         * tests/unistr/test-u16-strcmp.h: New file.
18026
18027         Tests for module 'unistr/u8-strcmp'.
18028         * modules/unistr/u8-strcmp-tests: New file.
18029         * tests/unistr/test-u8-strcmp.c: New file.
18030         * tests/unistr/test-u8-strcmp.h: New file.
18031         * tests/unistr/test-strcmp.h: New file.
18032
18033         Tests for module 'unistr/u32-strncat'.
18034         * modules/unistr/u32-strncat-tests: New file.
18035         * tests/unistr/test-u32-strncat.c: New file.
18036
18037         Tests for module 'unistr/u16-strncat'.
18038         * modules/unistr/u16-strncat-tests: New file.
18039         * tests/unistr/test-u16-strncat.c: New file.
18040
18041         Tests for module 'unistr/u8-strncat'.
18042         * modules/unistr/u8-strncat-tests: New file.
18043         * tests/unistr/test-u8-strncat.c: New file.
18044         * tests/unistr/test-strncat.h: New file.
18045
18046         Tests for module 'unistr/u32-strcat'.
18047         * modules/unistr/u32-strcat-tests: New file.
18048         * tests/unistr/test-u32-strcat.c: New file.
18049
18050         Tests for module 'unistr/u16-strcat'.
18051         * modules/unistr/u16-strcat-tests: New file.
18052         * tests/unistr/test-u16-strcat.c: New file.
18053
18054         Tests for module 'unistr/u8-strcat'.
18055         * modules/unistr/u8-strcat-tests: New file.
18056         * tests/unistr/test-u8-strcat.c: New file.
18057         * tests/unistr/test-strcat.h: New file.
18058
18059         Tests for module 'unistr/u32-stpncpy'.
18060         * modules/unistr/u32-stpncpy-tests: New file.
18061         * tests/unistr/test-u32-stpncpy.c: New file.
18062
18063         Tests for module 'unistr/u16-stpncpy'.
18064         * modules/unistr/u16-stpncpy-tests: New file.
18065         * tests/unistr/test-u16-stpncpy.c: New file.
18066
18067         Tests for module 'unistr/u8-stpncpy'.
18068         * modules/unistr/u8-stpncpy-tests: New file.
18069         * tests/unistr/test-u8-stpncpy.c: New file.
18070         * tests/unistr/test-stpncpy.h: New file.
18071
18072         Tests for module 'unistr/u32-strncpy'.
18073         * modules/unistr/u32-strncpy-tests: New file.
18074         * tests/unistr/test-u32-strncpy.c: New file.
18075
18076         Tests for module 'unistr/u16-strncpy'.
18077         * modules/unistr/u16-strncpy-tests: New file.
18078         * tests/unistr/test-u16-strncpy.c: New file.
18079
18080         Tests for module 'unistr/u8-strncpy'.
18081         * modules/unistr/u8-strncpy-tests: New file.
18082         * tests/unistr/test-u8-strncpy.c: New file.
18083         * tests/unistr/test-strncpy.h: New file.
18084
18085         Tests for module 'unistr/u32-stpcpy'.
18086         * modules/unistr/u32-stpcpy-tests: New file.
18087         * tests/unistr/test-u32-stpcpy.c: New file.
18088
18089         Tests for module 'unistr/u16-stpcpy'.
18090         * modules/unistr/u16-stpcpy-tests: New file.
18091         * tests/unistr/test-u16-stpcpy.c: New file.
18092
18093         Tests for module 'unistr/u8-stpcpy'.
18094         * modules/unistr/u8-stpcpy-tests: New file.
18095         * tests/unistr/test-u8-stpcpy.c: New file.
18096         * tests/unistr/test-stpcpy.h: New file.
18097
18098         Tests for module 'unistr/u32-strcpy'.
18099         * modules/unistr/u32-strcpy-tests: New file.
18100         * tests/unistr/test-u32-strcpy.c: New file.
18101
18102         Tests for module 'unistr/u16-strcpy'.
18103         * modules/unistr/u16-strcpy-tests: New file.
18104         * tests/unistr/test-u16-strcpy.c: New file.
18105
18106         Tests for module 'unistr/u8-strcpy'.
18107         * modules/unistr/u8-strcpy-tests: New file.
18108         * tests/unistr/test-u8-strcpy.c: New file.
18109         * tests/unistr/test-strcpy.h: New file.
18110
18111         Tests for module 'unistr/u32-strnlen'.
18112         * modules/unistr/u32-strnlen-tests: New file.
18113         * tests/unistr/test-u32-strnlen.c: New file.
18114
18115         Tests for module 'unistr/u16-strnlen'.
18116         * modules/unistr/u16-strnlen-tests: New file.
18117         * tests/unistr/test-u16-strnlen.c: New file.
18118
18119         Tests for module 'unistr/u8-strnlen'.
18120         * modules/unistr/u8-strnlen-tests: New file.
18121         * tests/unistr/test-u8-strnlen.c: New file.
18122         * tests/unistr/test-strnlen.h: New file.
18123
18124         Tests for module 'unistr/u32-strlen'.
18125         * modules/unistr/u32-strlen-tests: New file.
18126         * tests/unistr/test-u32-strlen.c: New file.
18127
18128         Tests for module 'unistr/u16-strlen'.
18129         * modules/unistr/u16-strlen-tests: New file.
18130         * tests/unistr/test-u16-strlen.c: New file.
18131
18132         Tests for module 'unistr/u8-strlen'.
18133         * modules/unistr/u8-strlen-tests: New file.
18134         * tests/unistr/test-u8-strlen.c: New file.
18135
18136         Tests for module 'unistr/u32-prev'.
18137         * modules/unistr/u32-prev-tests: New file.
18138         * tests/unistr/test-u32-prev.c: New file.
18139
18140         Tests for module 'unistr/u16-prev'.
18141         * modules/unistr/u16-prev-tests: New file.
18142         * tests/unistr/test-u16-prev.c: New file.
18143
18144         Tests for module 'unistr/u8-prev'.
18145         * modules/unistr/u8-prev-tests: New file.
18146         * tests/unistr/test-u8-prev.c: New file.
18147
18148         Tests for module 'unistr/u32-next'.
18149         * modules/unistr/u32-next-tests: New file.
18150         * tests/unistr/test-u32-next.c: New file.
18151
18152         Tests for module 'unistr/u16-next'.
18153         * modules/unistr/u16-next-tests: New file.
18154         * tests/unistr/test-u16-next.c: New file.
18155
18156         Tests for module 'unistr/u8-next'.
18157         * modules/unistr/u8-next-tests: New file.
18158         * tests/unistr/test-u8-next.c: New file.
18159
18160         Tests for module 'unistr/u32-strmbtouc'.
18161         * modules/unistr/u32-strmbtouc-tests: New file.
18162         * tests/unistr/test-u32-strmbtouc.c: New file.
18163
18164         Tests for module 'unistr/u16-strmbtouc'.
18165         * modules/unistr/u16-strmbtouc-tests: New file.
18166         * tests/unistr/test-u16-strmbtouc.c: New file.
18167
18168         Tests for module 'unistr/u8-strmbtouc'.
18169         * modules/unistr/u8-strmbtouc-tests: New file.
18170         * tests/unistr/test-u8-strmbtouc.c: New file.
18171
18172         Tests for module 'unistr/u32-strmblen'.
18173         * modules/unistr/u32-strmblen-tests: New file.
18174         * tests/unistr/test-u32-strmblen.c: New file.
18175
18176         Tests for module 'unistr/u16-strmblen'.
18177         * modules/unistr/u16-strmblen-tests: New file.
18178         * tests/unistr/test-u16-strmblen.c: New file.
18179
18180         Tests for module 'unistr/u8-strmblen'.
18181         * modules/unistr/u8-strmblen-tests: New file.
18182         * tests/unistr/test-u8-strmblen.c: New file.
18183
18184         Tests for module 'unistr/u32-cpy-alloc'.
18185         * modules/unistr/u32-cpy-alloc-tests: New file.
18186         * tests/unistr/test-u32-cpy-alloc.c: New file.
18187
18188         Tests for module 'unistr/u16-cpy-alloc'.
18189         * modules/unistr/u16-cpy-alloc-tests: New file.
18190         * tests/unistr/test-u16-cpy-alloc.c: New file.
18191
18192         Tests for module 'unistr/u8-cpy-alloc'.
18193         * modules/unistr/u8-cpy-alloc-tests: New file.
18194         * tests/unistr/test-u8-cpy-alloc.c: New file.
18195         * tests/unistr/test-cpy-alloc.h: New file.
18196
18197         Tests for module 'unistr/u32-mbsnlen'.
18198         * modules/unistr/u32-mbsnlen-tests: New file.
18199         * tests/unistr/test-u32-mbsnlen.c: New file.
18200
18201         Tests for module 'unistr/u16-mbsnlen'.
18202         * modules/unistr/u16-mbsnlen-tests: New file.
18203         * tests/unistr/test-u16-mbsnlen.c: New file.
18204
18205         Tests for module 'unistr/u8-mbsnlen'.
18206         * modules/unistr/u8-mbsnlen-tests: New file.
18207         * tests/unistr/test-u8-mbsnlen.c: New file.
18208
18209         Tests for module 'unistr/u32-chr'.
18210         * modules/unistr/u32-chr-tests: New file.
18211         * tests/unistr/test-u32-chr.c: New file.
18212
18213         Tests for module 'unistr/u16-chr'.
18214         * modules/unistr/u16-chr-tests: New file.
18215         * tests/unistr/test-u16-chr.c: New file.
18216
18217         Tests for module 'unistr/u8-chr'.
18218         * modules/unistr/u8-chr-tests: New file.
18219         * tests/unistr/test-u8-chr.c: New file.
18220         * tests/unistr/test-chr.h: New file, based on tests/test-memchr.c.
18221
18222         Tests for module 'unistr/u32-cmp2'.
18223         * modules/unistr/u32-cmp2-tests: New file.
18224         * tests/unistr/test-u32-cmp2.c: New file.
18225
18226         Tests for module 'unistr/u16-cmp2'.
18227         * modules/unistr/u16-cmp2-tests: New file.
18228         * tests/unistr/test-u16-cmp2.c: New file.
18229
18230         Tests for module 'unistr/u8-cmp2'.
18231         * modules/unistr/u8-cmp2-tests: New file.
18232         * tests/unistr/test-u8-cmp2.c: New file.
18233         * tests/unistr/test-cmp2.h: New file, based on tests/unistr/test-cmp.h.
18234
18235         Tests for module 'unistr/u32-cmp'.
18236         * modules/unistr/u32-cmp-tests: New file.
18237         * tests/unistr/test-u32-cmp.c: New file.
18238
18239         Tests for module 'unistr/u16-cmp'.
18240         * modules/unistr/u16-cmp-tests: New file.
18241         * tests/unistr/test-u16-cmp.c: New file.
18242
18243         Tests for module 'unistr/u8-cmp'.
18244         * modules/unistr/u8-cmp-tests: New file.
18245         * tests/unistr/test-u8-cmp.c: New file.
18246         * tests/unistr/test-cmp.h: New file, based on tests/test-memcmp.c.
18247
18248         Tests for module 'unistr/u32-set'.
18249         * modules/unistr/u32-set-tests: New file.
18250         * tests/unistr/test-u32-set.c: New file.
18251
18252         Tests for module 'unistr/u16-set'.
18253         * modules/unistr/u16-set-tests: New file.
18254         * tests/unistr/test-u16-set.c: New file.
18255
18256         Tests for module 'unistr/u8-set'.
18257         * modules/unistr/u8-set-tests: New file.
18258         * tests/unistr/test-u8-set.c: New file.
18259         * tests/unistr/test-set.h: New file.
18260
18261         Tests for module 'unistr/u32-move'.
18262         * modules/unistr/u32-move-tests: New file.
18263         * tests/unistr/test-u32-move.c: New file.
18264
18265         Tests for module 'unistr/u16-move'.
18266         * modules/unistr/u16-move-tests: New file.
18267         * tests/unistr/test-u16-move.c: New file.
18268
18269         Tests for module 'unistr/u8-move'.
18270         * modules/unistr/u8-move-tests: New file.
18271         * tests/unistr/test-u8-move.c: New file.
18272         * tests/unistr/test-move.h: New file.
18273
18274         Tests for module 'unistr/u32-cpy'.
18275         * modules/unistr/u32-cpy-tests: New file.
18276         * tests/unistr/test-u32-cpy.c: New file.
18277
18278         Tests for module 'unistr/u16-cpy'.
18279         * modules/unistr/u16-cpy-tests: New file.
18280         * tests/unistr/test-u16-cpy.c: New file.
18281
18282         Tests for module 'unistr/u8-cpy'.
18283         * modules/unistr/u8-cpy-tests: New file.
18284         * tests/unistr/test-u8-cpy.c: New file.
18285         * tests/unistr/test-cpy.h: New file.
18286
18287 2010-01-09  Bruno Haible  <bruno@clisp.org>
18288
18289         Tests for module 'unistr/u32-uctomb'.
18290         * modules/unistr/u32-uctomb-tests: New file.
18291         * tests/unistr/test-u32-uctomb.c: New file.
18292
18293         Tests for module 'unistr/u16-uctomb'.
18294         * modules/unistr/u16-uctomb-tests: New file.
18295         * tests/unistr/test-u16-uctomb.c: New file.
18296
18297         Tests for module 'unistr/u8-uctomb'.
18298         * modules/unistr/u8-uctomb-tests: New file.
18299         * tests/unistr/test-u8-uctomb.c: New file.
18300
18301         Tests for module 'unistr/u32-mbtoucr'.
18302         * modules/unistr/u32-mbtoucr-tests: New file.
18303         * tests/unistr/test-u32-mbtoucr.c: New file.
18304
18305         Tests for module 'unistr/u16-mbtoucr'.
18306         * modules/unistr/u16-mbtoucr-tests: New file.
18307         * tests/unistr/test-u16-mbtoucr.c: New file.
18308
18309         Tests for module 'unistr/u8-mbtoucr'.
18310         * modules/unistr/u8-mbtoucr-tests: New file.
18311         * tests/unistr/test-u8-mbtoucr.c: New file.
18312
18313         Tests for module 'unistr/u32-mbtouc'.
18314         * modules/unistr/u32-mbtouc-tests: New file.
18315         * tests/unistr/test-u32-mbtouc.c: New file.
18316
18317         Tests for module 'unistr/u16-mbtouc'.
18318         * modules/unistr/u16-mbtouc-tests: New file.
18319         * tests/unistr/test-u16-mbtouc.c: New file.
18320
18321         Tests for module 'unistr/u8-mbtouc'.
18322         * modules/unistr/u8-mbtouc-tests: New file.
18323         * tests/unistr/test-u8-mbtouc.c: New file.
18324
18325         Tests for module 'unistr/u32-mbtouc-unsafe'.
18326         * modules/unistr/u32-mbtouc-unsafe-tests: New file.
18327         * tests/unistr/test-u32-mbtouc-unsafe.c: New file.
18328         * tests/unistr/test-u32-mbtouc.h: New file.
18329
18330         Tests for module 'unistr/u16-mbtouc-unsafe'.
18331         * modules/unistr/u16-mbtouc-unsafe-tests: New file.
18332         * tests/unistr/test-u16-mbtouc-unsafe.c: New file.
18333         * tests/unistr/test-u16-mbtouc.h: New file.
18334
18335         Tests for module 'unistr/u8-mbtouc-unsafe'.
18336         * modules/unistr/u8-mbtouc-unsafe-tests: New file.
18337         * tests/unistr/test-u8-mbtouc-unsafe.c: New file.
18338         * tests/unistr/test-u8-mbtouc.h: New file.
18339
18340         Tests for module 'unistr/u32-mblen'.
18341         * modules/unistr/u32-mblen-tests: New file.
18342         * tests/unistr/test-u32-mblen.c: New file.
18343
18344         Tests for module 'unistr/u16-mblen'.
18345         * modules/unistr/u16-mblen-tests: New file.
18346         * tests/unistr/test-u16-mblen.c: New file.
18347
18348         Tests for module 'unistr/u8-mblen'.
18349         * modules/unistr/u8-mblen-tests: New file.
18350         * tests/unistr/test-u8-mblen.c: New file.
18351
18352         Tests for module 'unistr/u32-to-u16'.
18353         * modules/unistr/u32-to-u16-tests: New file.
18354         * tests/unistr/test-u32-to-u16.c: New file.
18355
18356         Tests for module 'unistr/u32-to-u8'.
18357         * modules/unistr/u32-to-u8-tests: New file.
18358         * tests/unistr/test-u32-to-u8.c: New file.
18359
18360         Tests for module 'unistr/u16-to-u32'.
18361         * modules/unistr/u16-to-u32-tests: New file.
18362         * tests/unistr/test-u16-to-u32.c: New file.
18363
18364         Tests for module 'unistr/u16-to-u8'.
18365         * modules/unistr/u16-to-u8-tests: New file.
18366         * tests/unistr/test-u16-to-u8.c: New file.
18367
18368         Tests for module 'unistr/u8-to-u32'.
18369         * modules/unistr/u8-to-u32-tests: New file.
18370         * tests/unistr/test-u8-to-u32.c: New file.
18371
18372         Tests for module 'unistr/u8-to-u16'.
18373         * modules/unistr/u8-to-u16-tests: New file.
18374         * tests/unistr/test-u8-to-u16.c: New file.
18375
18376         Tests for module 'unistr/u32-check'.
18377         * modules/unistr/u32-check-tests: New file.
18378         * tests/unistr/test-u32-check.c: New file.
18379
18380         Tests for module 'unistr/u16-check'.
18381         * modules/unistr/u16-check-tests: New file.
18382         * tests/unistr/test-u16-check.c: New file.
18383
18384         Tests for module 'unistr/u8-check'.
18385         * modules/unistr/u8-check-tests: New file.
18386         * tests/unistr/test-u8-check.c: New file.
18387
18388         * tests/unictype/test-categ_byname.c: Include <stdbool.h>.
18389         (category_equals): New function.
18390         (main): Add more tests.
18391         * modules/unictype/category-byname-tests (Depends-on): Add stdbool.
18392
18393         * tests/unictype/test-bidi_byname.c (main): Add more tests.
18394
18395 2010-01-10  Bruno Haible  <bruno@clisp.org>
18396
18397         unistr/u*-strcoll: Try harder to distinguish different strings.
18398         * lib/unistr/u-strcoll.h (FUNC): When sl1 and sl2 are the same,
18399         compare s1 and s2 to see if they are different.
18400
18401 2010-01-10  Bruno Haible  <bruno@clisp.org>
18402
18403         unistr/u*-stpncpy: Fix the return value.
18404         * lib/unistr.h (u8_stpncpy, u16_stpncpy, u32_stpncpy): Make the
18405         description of the return value consistent with stpncpy in glibc.
18406         * lib/unistr/u-stpncpy.h (FUNC): Return the pointer past the last
18407         written non-NUL unit.
18408
18409 2010-01-10  Bruno Haible  <bruno@clisp.org>
18410
18411         unistr/u*-next: Add missing dependencies.
18412         * modules/unistr/u8-next (Depends-on): Add unistr/u8-strmbtouc.
18413         * modules/unistr/u16-next (Depends-on): Add unistr/u16-strmbtouc.
18414         * modules/unistr/u32-next (Depends-on): Add unistr/u32-strmbtouc.
18415
18416 2010-01-10  Bruno Haible  <bruno@clisp.org>
18417
18418         unistr/u8-mbsnlen: Fix return value for incomplete character.
18419         * lib/unistr/u8-mbsnlen.c (u8_mbsnlen): Use u8_mbtoucr instead of
18420         u8_mblen.
18421         * modules/unistr/u8-mbsnlen (Depends-on): Add unistr/u8-mbtoucr.
18422         Remove unistr/u8-mblen.
18423         * lib/unistr/u16-mbsnlen.c (u16_mbsnlen): Use u16_mbtoucr instead of
18424         u16_mblen.
18425         * modules/unistr/u16-mbsnlen (Depends-on): Add unistr/u16-mbtoucr.
18426         Remove unistr/u16-mblen.
18427
18428 2010-01-10  Bruno Haible  <bruno@clisp.org>
18429
18430         wchar: Fix compilation error when <wchar.h> is used from coreutils.
18431         * lib/wchar.in.h: Treat __need_wint_t like __need_mbstate_t.
18432         Reported by Brian Gough <bjg@gnu.org> and
18433         Chris Clayton <chris2553@googlemail.com> via
18434         Mike Frysinger <vapier@gentoo.org> and Jim Meyering <jim@meyering.net>.
18435
18436 2010-01-09  Bruno Haible  <bruno@clisp.org>
18437
18438         unistr/u16-to-u32: Reject invalid input.
18439         * lib/unistr/u16-to-u32.c (u16_to_u32): Call u16_mbtoucr instead of
18440         u16_mbtouc.
18441         * modules/unistr/u16-to-u32 (Depends-on): Add unistr/u16-mbtoucr.
18442         Remove unistr/u16-mbtouc.
18443
18444         unistr/u16-to-u8: Reject invalid input.
18445         * lib/unistr/u16-to-u8.c (u16_to_u8): Call u16_mbtoucr instead of
18446         u16_mbtouc.
18447         * modules/unistr/u16-to-u8 (Depends-on): Add unistr/u16-mbtoucr.
18448         Remove unistr/u16-mbtouc.
18449
18450         unistr/u8-to-u32: Reject invalid input.
18451         * lib/unistr/u8-to-u32.c (u8_to_u32): Call u8_mbtoucr instead of
18452         u8_mbtouc.
18453         * modules/unistr/u8-to-u32 (Depends-on): Add unistr/u8-mbtoucr.
18454         Remove unistr/u8-mbtouc.
18455
18456         unistr/u8-to-u16: Reject invalid input.
18457         * lib/unistr/u8-to-u16.c (u8_to_u16): Call u8_mbtoucr instead of
18458         u8_mbtouc.
18459         * modules/unistr/u8-to-u16 (Depends-on): Add unistr/u8-mbtoucr.
18460         Remove unistr/u8-mbtouc.
18461
18462 2010-01-09  Bruno Haible  <bruno@clisp.org>
18463
18464         Tests for module 'getlogin'.
18465         * modules/getlogin-tests: New file.
18466         * tests/test-getlogin.c: New file.
18467
18468         New module 'getlogin'.
18469         * lib/unistd.in.h (getlogin): New declaration.
18470         * lib/getlogin.c: New file.
18471         * m4/getlogin.m4: New file.
18472         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize GNULIB_GETLOGIN,
18473         HAVE_GETLOGIN.
18474         * modules/unistd (Makefile.am): Substitute GNULIB_GETLOGIN,
18475         HAVE_GETLOGIN.
18476         * modules/getlogin: New file.
18477         * doc/posix-functions/getlogin.texi: Mention the new module.
18478         Reported by John W. Eaton <jwe@gnu.org>.
18479
18480 2010-01-09  Bruno Haible  <bruno@clisp.org>
18481
18482         getlogin_r: Support for native Windows.
18483         * lib/getlogin_r.c: Include <windows.h>
18484         (getlogin_r): Implement for native Windows.
18485         * tests/test-getlogin_r.c (main): Also test with a huge buffer.
18486         Reported by Tatsuro MATSUOKA <tmacchant5@yahoo.co.jp>
18487         via John W. Eaton <jwe@gnu.org>.
18488
18489 2010-01-09  Bruno Haible  <bruno@clisp.org>
18490
18491         getlogin_r: Small fixes.
18492         * lib/getlogin_r.c (getlogin_r): Don't set errno if the function
18493         succeeds.
18494         * m4/getlogin_r.m4 (gl_GETLOGIN_R): Require gl_USE_SYSTEM_EXTENSIONS
18495         before testing whether getlogin_r is declared. No need to set
18496         HAVE_DECL_GETLOGIN_R to 1.
18497         (gl_PREREQ_GETLOGIN_R): Don't check for the getlogin_r declaration.
18498
18499 2010-01-09  Bruno Haible  <bruno@clisp.org>
18500
18501         * lib/unistd.in.h (getlogin_r): Add comment.
18502
18503 2010-01-09  Bruno Haible  <bruno@clisp.org>
18504
18505         Tests for module 'getlogin_r'.
18506         * modules/getlogin_r-tests: New file.
18507         * tests/test-getlogin_r.c: New file.
18508
18509 2010-01-09  Jim Meyering  <meyering@redhat.com>
18510
18511         maint.mk: extend proper_name_utf8-vs-LIBICONV-checking rule
18512         * top/maint.mk (sc_proper_name_utf8_requires_ICONV): Adapt to work
18513         also when $(LIBICONV) is part of LDADD, rather than ${prog}_LDADD.
18514
18515 2010-01-08  Simon Josefsson  <simon@josefsson.org>
18516
18517         * lib/dup2.c (rpl_dup2): Improve comment.
18518
18519 2010-01-08  Eric Blake  <ebb9@byu.net>
18520
18521         maint.mk: allow packages to add makefile @@ exceptions
18522         * top/maint.mk (_makefile_at_at_check_exceptions): New hook.
18523         (sc_makefile_check): Rename...
18524         (sc_makefile_at_at_check): ...to this, and use hook.
18525
18526         dup2: work around mingw bug
18527         * lib/dup2.c (rpl_dup2): Sanitize return value on mingw.
18528         Reported by Simon Josefsson.
18529
18530 2010-01-07  John W. Eaton  <jwe@octave.org>  (tiny change)
18531
18532         glob: Fix C++ compilation.
18533         * lib/glob.in.h [__cplusplus]: Define __BEGIN_DECLS and __END_DECLS for
18534         C++.
18535
18536 2010-01-07  Bruno Haible  <bruno@clisp.org>
18537
18538         Fix indentation of wctype.in.h, broken since 2007-01-06.
18539         * lib/wctype.in.h: Fix indentation of preprocessor directives.
18540
18541 2010-01-07  Bruno Haible  <bruno@clisp.org>
18542
18543         mbslen: Avoid collision with system function.
18544         * lib/string.in.h [MirBSD]: Include <wchar.h>.
18545         (mbslen): Undefine first. Alias mbslen to rpl_mbslen.
18546         * m4/mbslen.m4: New file.
18547         * modules/mbslen (Files): Add it.
18548         (configure.ac): Invoke gl_MBSLEN.
18549         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Initialize HAVE_MBSLEN.
18550         * modules/string (Makefile.am): Substitute HAVE_MBSLEN.
18551         Reported by Nelson H. F. Beebe <beebe@math.utah.edu>
18552         via Ian Beckwith <ianb@erislabs.net>.
18553
18554 2010-01-07  Bruno Haible  <bruno@clisp.org>
18555
18556         dirent: Document the last fix.
18557         * doc/posix-headers/dirent.texi: Document the bug of missing 'ino_t'.
18558
18559 2010-01-07  Bruno Haible  <bruno@clisp.org>
18560
18561         stdio: Ensure <stdio.h> defines off_t, ssize_t, va_list.
18562         * lib/stdio.in.h: Include <sys/types.h> unconditionally.
18563         * tests/test-stdio.c: Verify that fpos_t, off_t, size_t, ssize_t,
18564         va_list are defined.
18565         * doc/posix-headers/stdio.texi: Document the bug of missing types.
18566         Reported by Eric Blake.
18567
18568 2010-01-07  Bruno Haible  <bruno@clisp.org>
18569
18570         xlist, xoset: Fix missing dependency bug, introduced on 2009-12-13.
18571         * modules/xlist (Depends-on): Add 'list',
18572         * modules/xoset (Depends-on): Add 'oset'.
18573         Reported by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
18574
18575 2010-01-07  Bruno Haible  <bruno@clisp.org>
18576
18577         * doc/posix-functions/strcasecmp.texi: Clarify the platforms.
18578         * doc/posix-functions/strncasecmp.texi: Likewise.
18579
18580 2010-01-07  Bruno Haible  <bruno@clisp.org>
18581
18582         * m4/nl_langinfo.m4 (gl_FUNC_NL_LANGINFO): Simplify logic.
18583
18584 2010-01-07  John W. Eaton  <jwe@octave.org>
18585
18586         wctype: allow C++ use
18587         * lib/wctype.in.h: Add extern "C" block for C++.
18588
18589 2010-01-06  Eric Blake  <ebb9@byu.net>
18590
18591         maint.mk: detect incorrect GFDL usage
18592         * top/maint.mk (_GFDL_regexp, sc_GFDL_version): New rule.
18593
18594 2010-01-06  Jim Meyering  <meyering@redhat.com>
18595         and Eric Blake  <ebb9@byu.net>
18596
18597         maint.mk: ignore multi-line copyright in NEWS
18598         * top/maint.mk (NEWS_hash): Add immunity to multi-line copyright.
18599
18600 2010-01-06  Eric Blake  <ebb9@byu.net>
18601
18602         select: add missing dependency
18603         * modules/select-tests (Depends-on): Move sockets dependency...
18604         * modules/select (Depends-on): ...here.
18605         Reported by Ian Beckwith.
18606
18607         doc: regenerate INSTALL
18608         * doc/INSTALL: Reflect recent autoconf update.
18609         * doc/INSTALL.ISO: Likewise.
18610         * doc/INSTALL.UTF-8: Likewise.
18611
18612         pread: fix compilation on glibc
18613         * m4/pread.m4 (gl_FUNC_PREAD): Request all interfaces.
18614         Reported by Ralf Wildenhues.
18615
18616         dirent: fix test failure
18617         * lib/dirent.in.h (includes): Guarantee ino_t.
18618         Reported by Ralf Wildenhues.
18619
18620 2010-01-06  Petr Salinger  <Petr.Salinger@seznam.cz>  (tiny change)
18621
18622         linkat, renameat: avoid bad free
18623         * lib/at-func2.c (at_func2): Fix typo.
18624         Reported via Ian Beckwith, from http://bugs.debian.org/561117.
18625
18626 2010-01-06  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
18627
18628         cleanup after gl_FUNC_READLINK, for gl_FUNC_SYMLINK test
18629         * m4/readlink.m4 (gl_FUNC_READLINK): Remove conftest.lnk2,
18630         to avoid failure of symlink test later.
18631
18632 2010-01-06  Eric Blake  <ebb9@byu.net>
18633
18634         stdio, unistd: guarantee ssize_t
18635         * lib/unistd.in.h (includes): Ensure that types required by POSIX
18636         2008 are exposed when needed.
18637         * lib/stdio.in.h (includes): Likewise.
18638         Reported by Ralf Wildenhues.
18639
18640 2010-01-06  Paolo Bonzini  <bonzini@gnu.org>
18641
18642         nl_langinfo: do not call AC_CHECK_FUNC_ONCE inside if.
18643         * m4/nl_langinfo.m4 (gl_FUNC_NL_LANGINFO): Do not call
18644         AC_CHECK_FUNC_ONCE inside if, do not adjust ac_cv_func_nl_langinfo.
18645
18646 2010-01-06  Jim Meyering  <meyering@redhat.com>
18647
18648         readtokens: this module *does* require xalloc.h
18649         It uses only functions that were omitted by the old syntax-check rule.
18650         * lib/readtokens.c: Include "xalloc.h" once again.
18651         * modules/readtokens (Depends-on): Add xalloc.
18652         This reverts part of 0e0f8f12ec241c0f1c1f21f960bb5cf908a0fa3c.
18653
18654 2010-01-05  Eric Blake  <ebb9@byu.net>
18655
18656         maint: support 'make announcement' from a VPATH build
18657         * top/maint.mk (announcement): Look for correct NEWS file.
18658
18659 2010-01-05  Aurelien Jarno  <aurelien@aurel32.net>  (tiny change)
18660
18661         utimens (fdutimens): ignore a negative FD, per contract
18662         * lib/utimens.c (fdutimens) [HAVE_FUTIMENS]: Call futimens only
18663         when we have a valid file descriptor.  Otherwise, using a brand
18664         new glibc (with just-patched futimens that now fails with EBADF)
18665         would cause this function to fail with ENOSYS.
18666         Reported by Guillaume Ayoub in http://bugs.debian.org/563726.
18667         See also http://bugzilla.redhat.com/552320.
18668
18669 2010-01-05  Eric Blake  <ebb9@byu.net>
18670
18671         strcase: document what it provides
18672         * doc/posix-functions/strcasecmp.texi (strcasecmp): Mention the
18673         gnulib module.
18674         * doc/posix-functions/strncasecmp.texi (strncasecmp): Likewise.
18675         Reported by Dilyan Palauzov <Dilyan.Palauzov@aegee.org>.
18676
18677 2010-01-05  Jim Meyering  <meyering@redhat.com>
18678
18679         maint: remove useless inclusions of "xalloc.h"
18680         * lib/getloadavg.c: Remove useless inclusion of "xalloc.h".
18681         * lib/readtokens.c: Likewise.
18682         * lib/same.c: Likewise.
18683         * modules/getloadavg (Depends-on): Remove xalloc.
18684         * modules/readtokens: Likewise.
18685         * modules/same: Likewise.
18686
18687         maint.mk: include 4 more function names in alloca.h-checking regexp
18688         * top/maint.mk (sc_prohibit_xalloc_without_use): Use more complete
18689         regexp.  Before, we would give a false-positive (saying alloca.h
18690         is included unnecessarily) when the only uses involved omitted symbols.
18691
18692         xalloc.h: use consistent formatting
18693         * lib/xalloc.h: Move declarations to start in the first column.
18694
18695 2010-01-05  Eric Blake  <ebb9@byu.net>
18696
18697         mkdir: avoid xalloc
18698         * lib/mkdir.c (includes): Drop unused header.
18699         Reported by John W. Eaton.
18700
18701 2010-01-04  Jim Meyering  <meyering@redhat.com>
18702
18703         nl_langinfo: avoid configure-time syntax error
18704         * m4/nl_langinfo.m4 (gl_FUNC_NL_LANGINFO): When we've already tested
18705         for nl_langinfo.h, AC_CHECK_FUNCS_ONCE([nl_langinfo]) expands to
18706         the empty string.  Don't let that provoke a shell syntax error.
18707
18708         regcomp, regexec, fnmatch: avoid array bounds read error
18709         * lib/regcomp.c (build_equiv_class): From glibc:
18710         Use only the low 24 bits of a findidx return value as an index
18711         into the weights array.  Patch by Ulrich Drepper:
18712         http://sourceware.org/git/gitweb.cgi?p=glibc.git;a=commit;h=b7d1c5fa30
18713         * lib/regexec.c (check_node_accept_bytes): Likewise.
18714         * lib/fnmatch_loop.c (FCT): Likewise.
18715
18716         regcomp: skip collseq lookup when there are no rules
18717         * lib/regcomp.c (lookup_collation_sequence_value): From glibc:
18718         http://sourceware.org/git/gitweb.cgi?p=glibc.git;a=commitdiff;h=a532a41df58
18719
18720         regcomp: recognize ill-formed { } expressions
18721         * lib/regcomp.c (parse_dup_op): From glibc:
18722         http://sourceware.org/git/gitweb.cgi?p=glibc.git;a=commitdiff;h=a87cd2894cb
18723
18724         regcomp: fix typo in comment
18725         * lib/regcomp.c (duplicate_node_closure): Sync from glibc.
18726         s/satisfy/satisfies/.
18727
18728         regcomp: sync from glibc: remove dead store
18729         * lib/regcomp.c (duplicate_node_closure): Remove useless
18730         search_duplicated_node call and dead store.
18731
18732         regcomp: sync from glibc; always use nl_langinfo
18733         * lib/regcomp.c (init_dfa) [!LIBC]: Always use nl_langinfo (CODESET),
18734         now that gnulib provides it.  Recognize UTF8 as well as UTF-8.
18735         * modules/regex (Depends-on): Add nl_langinfo.
18736
18737 2010-01-04  Eric Blake  <ebb9@byu.net>
18738
18739         fdopendir: fix configure test
18740         * m4/fdopendir.m4 (gl_FUNC_FDOPENDIR): Check for existing file.
18741
18742 2010-01-01  Bruno Haible  <bruno@clisp.org>
18743
18744         wchar: Remove unused configure check.
18745         * m4/wchar.m4 (gl_WCHAR_H): Don't test whether <wchar.h> is standalone.
18746
18747 2010-01-01  Eric Blake  <ebb9@byu.net>
18748
18749         headers: make check of system header explicit
18750         * m4/netdb_h.m4 (gl_HEADER_NETDB): Don't exploit knowledge of
18751         gl_CHECK_NEXT_HEADER internals, but call AC_CHECK_HEADERS_ONCE
18752         ourselves.
18753         * m4/search_h.m4 (gl_SEARCH_H): Likewise.
18754         * m4/sys_select_h.m4 (gl_HEADER_SYS_SELECT): Likewise.
18755         * m4/sys_time_h.m4 (gl_HEADER_SYS_TIME_H_BODY): Likewise.
18756         * m4/inttypes.m4 (gl_INTTYPES_H): Likewise, for gt_INTTYPES_PRI
18757         internals.
18758         * m4/wchar.m4 (gl_WCHAR_H): Skip followup test if header is
18759         missing.
18760         Suggested by Bruno Haible.
18761
18762 2010-01-01  Jim Meyering  <meyering@redhat.com>
18763
18764         ChangeLog: tweak to eliminate unnecessary copyright line
18765         * ChangeLog: Remove a copyright line that was mistakenly updated
18766         by today's update-copyright run.  Reported by Eric Blake.
18767
18768         test-update-copyright: don't let envvar setting cause test failure
18769         * tests/test-update-copyright.sh: Set UPDATE_COPYRIGHT_MAX_LINE_LENGTH.
18770
18771 2010-01-01  Bruno Haible  <bruno@clisp.org>
18772
18773         localename: Avoid gcc warning.
18774         * lib/localename.c (gl_locale_name_thread_unsafe): Don't define this
18775         function if it is not used.
18776
18777 2010-01-01  Jim Meyering  <meyering@redhat.com>
18778
18779         update nearly all FSF copyright year lists to include 2010
18780         Use the same procedure as for 2009, outlined in
18781         http://thread.gmane.org/gmane.comp.lib.gnulib.bugs/20081
18782
18783         version-etc: set COPYRIGHT_YEAR to 2010
18784         * lib/version-etc.c (COPYRIGHT_YEAR): Manually update the enum.
18785
18786 2009-12-31  Eric Blake  <ebb9@byu.net>
18787
18788         doc: correct availability of cygwin 1.5.x getopt
18789         * doc/posix-functions/optarg.texi (optarg): Cygwin supplies getopt
18790         variables.
18791         * doc/posix-functions/opterr.texi (opterr): Likewise.
18792         * doc/posix-functions/optind.texi (optind): Likewise.
18793         * doc/posix-functions/optopt.texi (optopt): Likewise.
18794         * doc/posix-functions/tzname.texi (tzname): Likewise.
18795
18796         openat: update maintainer
18797         * modules/openat (Maintainer): Add myself.
18798
18799         utimens: avoid shadowing warning
18800         * lib/utimens.c (fdutimens, lutimens): Consolidate separate stat
18801         buffers into one, to avoid shadowing, as well as avoiding a
18802         redundant stat.
18803         Reported by Jim Meyering.
18804
18805         test-dup2: avoid compiler warning
18806         * tests/test-dup2.c (is_inheritable): Only define if used.
18807
18808 2010-01-01  Bruno Haible  <bruno@clisp.org>
18809
18810         vasnprintf: Avoid passing an 'rpl_mbstate_t *' to the system's wcrtomb.
18811         * lib/vasnprintf.c (VASNPRINTF): If GNULIB_defined_mbstate_t is
18812         defined, use wctomb instead of wcrtomb.
18813
18814 2010-01-01  Bruno Haible  <bruno@clisp.org>
18815
18816         iconv: Reject native Solaris iconv.
18817         * m4/iconv.m4 (AM_ICONV_LINK): Recognize native Solaris iconv() bug.
18818         * doc/posix-functions/iconv.texi: Document native Solaris iconv() bug.
18819
18820 2009-12-31  Bruno Haible  <bruno@clisp.org>
18821
18822         * tests/test-signal.c (main): Remove test of 'SIG'.
18823
18824 2009-12-31  Bruno Haible  <bruno@clisp.org>
18825
18826         spawn: Fix incomplete fix.
18827         * lib/spawn.in.h (posix_spawnattr_getflags, posix_spawnattr_setflags,
18828         posix_spawnattr_getpgroup, posix_spawnattr_setpgroup): Correct the link
18829         warnings for GNULIB_POSIXCHECK again.
18830         Reported by Eric Blake.
18831
18832 2009-12-31  Bruno Haible  <bruno@clisp.org>
18833
18834         Avoid namespace pollution on glibc systems.
18835         * lib/spawn.in.h: Don't include <sched.h>, <signal.h> on glibc systems.
18836         * lib/sys_times.in.h: Don't include <time.h> on glibc systems.
18837         * lib/wchar.in.h: Don't include <stddef.h>, <stdio.h>, <time.h> on
18838         glibc systems.
18839
18840 2009-12-31  Bruno Haible  <bruno@clisp.org>
18841
18842         * m4/wchar.m4 (gl_WCHAR_H): Remove gl_STDDEF_H invocation.
18843         (gl_REPLACE_WCHAR_H): Turn into a no-op.
18844         * m4/arpa_inet_h.m4 (gl_REPLACE_ARPA_INET_H): Likewise.
18845         * m4/dirent_h.m4 (gl_REPLACE_DIRENT_H): Likewise.
18846         * m4/locale_h.m4 (gl_REPLACE_LOCALE_H): Likewise.
18847         * m4/spawn_h.m4 (gl_REPLACE_SPAWN_H): Likewise.
18848         * m4/sys_ioctl_h.m4 (gl_REPLACE_SYS_IOCTL_H): Likewise.
18849
18850 2009-12-31  Bruno Haible  <bruno@clisp.org>
18851
18852         * m4/sys_select_h.m4 (gl_HEADER_SYS_SELECT): Invoke
18853         gl_CHECK_NEXT_HEADERS before testing ac_cv_header_sys_select_h, not
18854         afterwards.
18855
18856 2009-12-31  Bruno Haible  <bruno@clisp.org>
18857
18858         * m4/sys_utsname_h.m4 (gl_SYS_UTSNAME_H_DEFAULTS): Don't set
18859         SYS_UTSNAME_H.
18860
18861 2009-12-31  Bruno Haible  <bruno@clisp.org>
18862
18863         spawn: Fix misapplied patch.
18864         * lib/spawn.in.h (posix_spawnattr_getflags, posix_spawnattr_setflags,
18865         posix_spawnattr_getpgroup, posix_spawnattr_setpgroup): Correct the link
18866         warnings for GNULIB_POSIXCHECK.
18867
18868 2009-12-31  Bruno Haible  <bruno@clisp.org>
18869
18870         times: Update after sys_times changed.
18871         * m4/times.m4: New file, extracted from modules/times. Set HAVE_TIMES.
18872         * modules/times (Files): Add it.
18873         (configure.ac): Invoke gl_FUNC_TIMES.
18874
18875 2009-12-31  Bruno Haible  <bruno@clisp.org>
18876
18877         Use AC_C_INLINE where necessary.
18878         * m4/chdir-long.m4 (gl_PREREQ_CHDIR_LONG): Require AC_C_INLINE.
18879         * m4/fatal-signal.m4 (gl_FATAL_SIGNAL): Likewise.
18880         * m4/fts.m4 (gl_FUNC_FTS_CORE): Likewise.
18881         * m4/mbchar.m4 (gl_MBCHAR): Likewise.
18882         * m4/mbfile.m4 (gl_MBFILE): Likewise.
18883         * m4/mbiter.m4 (gl_MBITER): Likewise.
18884         * m4/regex.m4 (gl_PREREQ_REGEX): Likewise.
18885         * m4/stat.m4 (gl_FUNC_STAT): Likewise.
18886         * m4/wait-process.m4 (gl_WAIT_PROCESS): Likewise.
18887         * modules/u64 (configure.ac): Likewise.
18888
18889 2009-12-31  Bruno Haible  <bruno@clisp.org>
18890
18891         Use AC_C_INLINE instead of module 'inline' where possible.
18892         * modules/inline (Description): Clarify purpose.
18893         * m4/count-one-bits.m4 (gl_COUNT_ONE_BITS): Require AC_C_INLINE.
18894         * modules/count-one-bits (Depends-on): Remove inline.
18895         * m4/openat.m4 (gl_PREREQ_OPENAT): Require AC_C_INLINE.
18896         * modules/openat (Depends-on): Remove inline.
18897         * modules/fdutimensat (Depends-on, configure.ac): Require AC_C_INLINE
18898         instead of depending on module 'inline'.
18899         * modules/filevercmp (Depends-on, configure.ac): Likewise.
18900         * modules/unicase/cased (Depends-on, configure.ac): Likewise.
18901         * modules/unicase/ignorable (Depends-on, configure.ac): Likewise.
18902         * modules/unictype/category-of (Depends-on, configure.ac): Likewise.
18903         * modules/unictype/category-test (Depends-on, configure.ac): Likewise.
18904         * modules/unictype/ctype-alnum (Depends-on, configure.ac): Likewise.
18905         * modules/unictype/ctype-alpha (Depends-on, configure.ac): Likewise.
18906         * modules/unictype/ctype-blank (Depends-on, configure.ac): Likewise.
18907         * modules/unictype/ctype-cntrl (Depends-on, configure.ac): Likewise.
18908         * modules/unictype/ctype-digit (Depends-on, configure.ac): Likewise.
18909         * modules/unictype/ctype-graph (Depends-on, configure.ac): Likewise.
18910         * modules/unictype/ctype-lower (Depends-on, configure.ac): Likewise.
18911         * modules/unictype/ctype-print (Depends-on, configure.ac): Likewise.
18912         * modules/unictype/ctype-punct (Depends-on, configure.ac): Likewise.
18913         * modules/unictype/ctype-space (Depends-on, configure.ac): Likewise.
18914         * modules/unictype/ctype-upper (Depends-on, configure.ac): Likewise.
18915         * modules/unictype/ctype-xdigit (Depends-on, configure.ac): Likewise.
18916         * modules/unictype/property-alphabetic (Depends-on, configure.ac):
18917         Likewise.
18918         * modules/unictype/property-ascii-hex-digit (Depends-on,
18919         configure.ac): Likewise.
18920         * modules/unictype/property-bidi-arabic-digit (Depends-on,
18921         configure.ac): Likewise.
18922         * modules/unictype/property-bidi-arabic-right-to-left (Depends-on,
18923         configure.ac): Likewise.
18924         * modules/unictype/property-bidi-block-separator (Depends-on,
18925         configure.ac): Likewise.
18926         * modules/unictype/property-bidi-boundary-neutral (Depends-on,
18927         configure.ac): Likewise.
18928         * modules/unictype/property-bidi-common-separator (Depends-on,
18929         configure.ac): Likewise.
18930         * modules/unictype/property-bidi-control (Depends-on, configure.ac):
18931         Likewise.
18932         * modules/unictype/property-bidi-embedding-or-override (Depends-on,
18933         configure.ac): Likewise.
18934         * modules/unictype/property-bidi-eur-num-separator (Depends-on,
18935         configure.ac): Likewise.
18936         * modules/unictype/property-bidi-eur-num-terminator (Depends-on,
18937         configure.ac): Likewise.
18938         * modules/unictype/property-bidi-european-digit (Depends-on,
18939         configure.ac): Likewise.
18940         * modules/unictype/property-bidi-hebrew-right-to-left (Depends-on,
18941         configure.ac): Likewise.
18942         * modules/unictype/property-bidi-left-to-right (Depends-on,
18943         configure.ac): Likewise.
18944         * modules/unictype/property-bidi-non-spacing-mark (Depends-on,
18945         configure.ac): Likewise.
18946         * modules/unictype/property-bidi-other-neutral (Depends-on,
18947         configure.ac): Likewise.
18948         * modules/unictype/property-bidi-pdf (Depends-on, configure.ac):
18949         Likewise.
18950         * modules/unictype/property-bidi-segment-separator (Depends-on,
18951         configure.ac): Likewise.
18952         * modules/unictype/property-bidi-whitespace (Depends-on,
18953         configure.ac): Likewise.
18954         * modules/unictype/property-combining (Depends-on, configure.ac):
18955         Likewise.
18956         * modules/unictype/property-composite (Depends-on, configure.ac):
18957         Likewise.
18958         * modules/unictype/property-currency-symbol (Depends-on,
18959         configure.ac): Likewise.
18960         * modules/unictype/property-dash (Depends-on, configure.ac): Likewise.
18961         * modules/unictype/property-decimal-digit (Depends-on, configure.ac):
18962         Likewise.
18963         * modules/unictype/property-default-ignorable-code-point (Depends-on,
18964         configure.ac): Likewise.
18965         * modules/unictype/property-deprecated (Depends-on, configure.ac):
18966         Likewise.
18967         * modules/unictype/property-diacritic (Depends-on, configure.ac):
18968         Likewise.
18969         * modules/unictype/property-extender (Depends-on, configure.ac):
18970         Likewise.
18971         * modules/unictype/property-format-control (Depends-on, configure.ac):
18972         Likewise.
18973         * modules/unictype/property-grapheme-base (Depends-on, configure.ac):
18974         Likewise.
18975         * modules/unictype/property-grapheme-extend (Depends-on, configure.ac):
18976         Likewise.
18977         * modules/unictype/property-grapheme-link (Depends-on, configure.ac):
18978         Likewise.
18979         * modules/unictype/property-hex-digit (Depends-on, configure.ac):
18980         Likewise.
18981         * modules/unictype/property-hyphen (Depends-on, configure.ac):
18982         Likewise.
18983         * modules/unictype/property-id-continue (Depends-on, configure.ac):
18984         Likewise.
18985         * modules/unictype/property-id-start (Depends-on, configure.ac):
18986         Likewise.
18987         * modules/unictype/property-ideographic (Depends-on, configure.ac):
18988         Likewise.
18989         * modules/unictype/property-ids-binary-operator (Depends-on,
18990         configure.ac): Likewise.
18991         * modules/unictype/property-ids-trinary-operator (Depends-on,
18992         configure.ac): Likewise.
18993         * modules/unictype/property-ignorable-control (Depends-on,
18994         configure.ac): Likewise.
18995         * modules/unictype/property-iso-control (Depends-on, configure.ac):
18996         Likewise.
18997         * modules/unictype/property-join-control (Depends-on, configure.ac):
18998         Likewise.
18999         * modules/unictype/property-left-of-pair (Depends-on, configure.ac):
19000         Likewise.
19001         * modules/unictype/property-line-separator (Depends-on, configure.ac):
19002         Likewise.
19003         * modules/unictype/property-logical-order-exception (Depends-on,
19004         configure.ac): Likewise.
19005         * modules/unictype/property-lowercase (Depends-on, configure.ac):
19006         Likewise.
19007         * modules/unictype/property-math (Depends-on, configure.ac): Likewise.
19008         * modules/unictype/property-non-break (Depends-on, configure.ac):
19009         Likewise.
19010         * modules/unictype/property-not-a-character (Depends-on, configure.ac):
19011         Likewise.
19012         * modules/unictype/property-numeric (Depends-on, configure.ac):
19013         Likewise.
19014         * modules/unictype/property-other-alphabetic (Depends-on,
19015         configure.ac): Likewise.
19016         * modules/unictype/property-other-default-ignorable-code-point
19017         (Depends-on, configure.ac): Likewise.
19018         * modules/unictype/property-other-grapheme-extend (Depends-on,
19019         configure.ac): Likewise.
19020         * modules/unictype/property-other-id-continue (Depends-on,
19021         configure.ac): Likewise.
19022         * modules/unictype/property-other-id-start (Depends-on, configure.ac):
19023         Likewise.
19024         * modules/unictype/property-other-lowercase (Depends-on, configure.ac):
19025         Likewise.
19026         * modules/unictype/property-other-math (Depends-on, configure.ac):
19027         Likewise.
19028         * modules/unictype/property-other-uppercase (Depends-on, configure.ac):
19029         Likewise.
19030         * modules/unictype/property-paired-punctuation (Depends-on,
19031         configure.ac): Likewise.
19032         * modules/unictype/property-paragraph-separator (Depends-on,
19033         configure.ac): Likewise.
19034         * modules/unictype/property-pattern-syntax (Depends-on, configure.ac):
19035         Likewise.
19036         * modules/unictype/property-pattern-white-space (Depends-on,
19037         configure.ac): Likewise.
19038         * modules/unictype/property-private-use (Depends-on, configure.ac):
19039         Likewise.
19040         * modules/unictype/property-punctuation (Depends-on, configure.ac):
19041         Likewise.
19042         * modules/unictype/property-quotation-mark (Depends-on, configure.ac):
19043         Likewise.
19044         * modules/unictype/property-radical (Depends-on, configure.ac):
19045         Likewise.
19046         * modules/unictype/property-sentence-terminal (Depends-on,
19047         configure.ac): Likewise.
19048         * modules/unictype/property-soft-dotted (Depends-on, configure.ac):
19049         Likewise.
19050         * modules/unictype/property-space (Depends-on, configure.ac): Likewise.
19051         * modules/unictype/property-terminal-punctuation (Depends-on,
19052         configure.ac): Likewise.
19053         * modules/unictype/property-titlecase (Depends-on, configure.ac):
19054         Likewise.
19055         * modules/unictype/property-unassigned-code-value (Depends-on,
19056         configure.ac): Likewise.
19057         * modules/unictype/property-unified-ideograph (Depends-on,
19058         configure.ac): Likewise.
19059         * modules/unictype/property-uppercase (Depends-on, configure.ac):
19060         Likewise.
19061         * modules/unictype/property-variation-selector (Depends-on,
19062         configure.ac): Likewise.
19063         * modules/unictype/property-white-space (Depends-on, configure.ac):
19064         Likewise.
19065         * modules/unictype/property-xid-continue (Depends-on, configure.ac):
19066         Likewise.
19067         * modules/unictype/property-xid-start (Depends-on, configure.ac):
19068         Likewise.
19069         * modules/unictype/property-zero-width (Depends-on, configure.ac):
19070         Likewise.
19071         * modules/unictype/syntax-c-ident (Depends-on, configure.ac): Likewise.
19072         * modules/unictype/syntax-java-ident (Depends-on, configure.ac):
19073         Likewise.
19074
19075 2009-12-31  Bruno Haible  <bruno@clisp.org>
19076
19077         Remove unnecessary AC_C_INLINE invocation.
19078         * m4/popen.m4 (gl_PREREQ_POPEN): Don't invoke AC_C_INLINE. Not needed
19079         since 2009-08-21.
19080
19081 2009-12-31  Jim Meyering  <meyering@redhat.com>
19082
19083         maint.mk: don't require explicit gpg_key_ID in cfg.mk
19084         * top/maint.mk (gpg_key_ID): Derive key ID from signed release tag.
19085         With this change, we can all remove the gpg_key_ID = ... definition
19086         from our respective cfg.mk files.
19087
19088         maint.mk: create announcement template in ~/, not in /tmp
19089         * top/maint.mk (emit_upload_commands): Adjust.
19090         (release-prep): Emit into ~/announce-..., not /tmp/announce-...
19091         Remove temporary file, .ci-msg.
19092
19093 2009-12-31  Eric Blake  <ebb9@byu.net>
19094
19095         link-warning: always build headers with link warnings
19096         * modules/arpa_inet (Makefile.am): Always build replacement
19097         header.
19098         * modules/ctype (Makefile.am): Likewise.
19099         * modules/dirent (Makefile.am): Likewise.
19100         * modules/inttypes (Makefile.am): Likewise.
19101         * modules/langinfo (Makefile.am): Likewise.
19102         * modules/locale (Makefile.am): Likewise.
19103         * modules/spawn (Makefile.am): Likewise.
19104         * modules/sys_file (Makefile.am): Likewise.
19105         * modules/sys_ioctl (Makefile.am): Likewise.
19106         * modules/sys_select (Makefile.am): Likewise.
19107         * modules/sys_socket (Makefile.am): Likewise.
19108         * modules/sys_times (Makefile.am): Likewise.
19109         * modules/sys_utsname (Makefile.am): Likewise.
19110         * modules/sys_wait (Makefile.am): Likewise.
19111         * modules/wchar (Makefile.am): Likewise.
19112         * m4/arpa_inet_h.m4 (gl_HEADER_ARPA_INET)
19113         (gl_ARPA_INET_H_DEFAULTS): Drop unneeded variable.
19114         * m4/ctype.m4 (gl_CTYPE_H_DEFAULTS): Likewise.
19115         * m4/isblank.m4 (gl_FUNC_ISBLANK): Likewise.
19116         * m4/dirent_h.m4 (gl_REPLACE_DIRENT_H, gl_DIRENT_H_DEFAULTS):
19117         Likewise.
19118         * m4/inttypes.m4 (gl_INTTYPES_H): Likewise.
19119         * m4/langinfo_h.m4 (gl_LANGINFO_H): Likewise.
19120         * m4/locale_h.m4 (gl_REPLACE_LOCALE_H, gl_LOCALE_H_DEFAULTS):
19121         Likewise.
19122         * m4/spawn_h.m4 (gl_REPLACE_SPAWN_H, gl_SPAWN_H_DEFAULTS):
19123         Likewise.
19124         * m4/sys_file_h.m4 (gl_HEADER_SYS_FILE_H): Likewise.
19125         * m4/sys_ioctl_h.m4 (gl_SYS_IOCTL_H, gl_REPLACE_SYS_IOCTL_H)
19126         (gl_SYS_IOCTL_H_DEFAULTS): Likewise.
19127         * m4/sys_select_h.m4 (gl_HEADER_SYS_SELECT): Likewise.
19128         * m4/sys_times_h.m4 (gl_SYS_TIMES_H): Likewise.
19129         * m4/sys_utsname_h.m4 (gl_SYS_UTSNAME_H)
19130         (gl_SYS_UTSNAME_H_DEFAULTS): Likewise.
19131         * m4/wchar.m4 (gl_WCHAR_H, gl_REPLACE_WCHAR_H)
19132         (gl_WCHAR_H_DEFAULTS): Likewise.
19133
19134 2009-12-31  Eric Blake  <ebb9@byu.net>
19135
19136         signal, spawn: use link warnings
19137         * lib/signal.in.h (sigset_t): Make unconditional.
19138         (sigismember, sigemptyset, sigaddset, sigdelset, sigfillset)
19139         (sigpending, sigprocmask, sigaction): Add link warnings.
19140         * lib/spawn.in.h (posix_spawn, posix_spawnp, posix_spawnattr_init)
19141         (posix_spawnattr_destroy, posix_spawnattr_getsigdefault)
19142         (posix_spawnattr_setsigdefault, posix_spawnattr_getsigmask)
19143         (posix_spawnattr_setsigmask, posix_spawnattr_getflags)
19144         (posix_spawnattr_setflags, posix_spawnattr_getpgroup)
19145         (posix_spawnattr_setpgroup, posix_spawnattr_getschedpolicy)
19146         (posix_spawnattr_setschedpolicy, posix_spawnattr_getschedparam)
19147         (posix_spawnattr_setschedparam, posix_spawn_file_actions_init)
19148         (posix_spawn_file_actions_destroy)
19149         (posix_spawn_file_actions_addopen)
19150         (posix_spawn_file_actions_addclose)
19151         (posix_spawn_file_actions_adddup2): Likewise.
19152         * m4/signal_h.m4 (gl_SIGNAL_H): Guarantee uid_t.
19153         * tests/test-signal.c (main): Enhance test.
19154
19155         spawn: improve wrapper support
19156         * m4/spawn_h.m4 (gl_SPAWN_H): Check for type existence.
19157         (gl_SPAWN_H_DEFAULTS): New defaults.
19158         * modules/spawn (Makefile.am): Substitute them.
19159         * lib/spawn.in.h: (posix_spawnattr_t, posix_spawn_file_actions_t):
19160         Only declare if missing or broken.
19161
19162         sys_times, sys_utsname: use include_next
19163         * m4/sys_times_h.m4 (gl_SYS_TIMES_H): Support wrapping an existing
19164         header.
19165         (gl_SYS_TIMES_H_DEFAULTS): Add another variable.
19166         * m4/sys_utsname_h.m4 (gl_SYS_UTSNAME_H)
19167         (gl_SYS_UTSNAME_H_DEFAULTS): Likewise.
19168         * modules/sys_times (Depends-on): Add include_next.
19169         (Makefile.am): Substitute additional values.
19170         * modules/sys_utsname (Depends-on, Makefile.am): Likewise.
19171         * lib/sys_times.in.h (includes): Include native header, if
19172         available.
19173         * lib/sys_utsname.in.h (includes): Likewise.
19174         * tests/test-sys_times.c (main): Enhance test.
19175
19176         fdutimensat: revert prior patch
19177         * modules/fdutimensat (Depends-on): Re-add inline; it is needed by
19178         utimens.h.
19179         Reported by Bruno Haible.
19180
19181 2009-12-30  Eric Blake  <ebb9@byu.net>
19182
19183         sys_wait: drop link-warning dependency
19184         * modules/sys_wait (Depends-on, Makefile.am): Drop unneeded
19185         link-warning efforts.
19186         * lib/sys_wait.in.h: Likewise.
19187
19188         fdutimensat: remove bogus dependency
19189         * modules/fdutimensat (Depends-on): Drop inline.
19190
19191         unistd: fix typo
19192         * lib/unistd.in.h (linkat) [GNULIB_POSIXCHECK]: Fix typo.
19193
19194 2009-12-30  Bruno Haible  <bruno@clisp.org>
19195
19196         Fix compilation error with Solaris cc.
19197         * lib/unicase/u8-is-invariant.c: Include <stdbool.h>.
19198         * lib/unicase/u16-is-invariant.c: Likewise.
19199         * lib/unicase/u32-is-invariant.c: Likewise.
19200         Reported by Nelson H. F. Beebe <beebe@math.utah.edu>.
19201
19202 2009-12-30  Bruno Haible  <bruno@clisp.org>
19203
19204         Fix test crash.
19205         * tests/test-localename.c (test_locale_name_thread): Skip unavailable
19206         locales.
19207         Reported by Simon Josefsson <simon@josefsson.org>.
19208
19209 2009-12-30  Bruno Haible  <bruno@clisp.org>
19210
19211         Fix compilation error on most platforms.
19212         * tests/test-localename.c (categories): Define only if HAVE_NEWLOCALE.
19213         Reported by Simon Josefsson <simon@josefsson.org>
19214         and Nelson H. F. Beebe <beebe@math.utah.edu>.
19215
19216 2009-12-30  Eric Blake  <ebb9@byu.net>
19217
19218         futimens, utimensat: work around ntfs-3g bug
19219         * lib/utimensat.c (rpl_utimensat): Drop attempts to cache whether
19220         a ctime bug is present, and expand workaround to cover ntfs-3g.
19221         * lib/utimens.c (fdutimens, lutimens): Likewise.
19222         (utimensat_ctime_really, detect_ctime_bug): Drop cache mechanism.
19223         (validate_timespec): Adjust return value.
19224         * m4/futimens.m4 (gl_FUNC_FUTIMENS): Update comment.
19225         * m4/utimensat.m4 (gl_FUNC_UTIMENSAT): Likewise.
19226         Reported by ctrn3e8 <ctrn3e8@gmail.com>.
19227
19228 2009-12-29  Eric Blake  <ebb9@byu.net>
19229
19230         link-warning: make usage consistent
19231         * modules/ctype (Depends-on): Add link-warning.
19232         (Makefile.am): Update rules accordingly.
19233         * modules/langinfo (Depends-on, Makefile.am): Likewise.
19234         * modules/locale (Depends-on, Makefile.am): Likewise.
19235         * modules/sys_file (Makefile.am): Likewise.
19236         * modules/getopt-posix (Makefile.am): Delete unused link warning
19237         efforts.
19238         * lib/ctype.in.h (GL_LINK_WARNING): Ensure definition before use.
19239         * lib/langinfo.in.h (GL_LINK_WARNING): Likewise.
19240         * lib/locale.in.h (GL_LINK_WARNING): Likewise.
19241         * lib/sys_file.in.h (GL_LINK_WARNING): Likewise.
19242
19243         stdio: remove unused variables
19244         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Remove unused variables.
19245         * m4/fseeko.m4 (gl_FUNC_FSEEKO): Likewise.
19246         * m4/ftello.m4 (gl_FUNC_FTELLO): Likewise.
19247
19248         tests: test more substitute headers
19249         * modules/ctype-tests: New file.
19250         * modules/dirent-tests: Likewise.
19251         * modules/spawn-tests: Likewise.
19252         * modules/sys_file-tests: Likewise.
19253         * modules/sys_ioctl-tests: Likewise.
19254         * modules/sys_wait-tests: Likewise.
19255         * tests/test-ctype.c: Likewise.
19256         * tests/test-dirent.c: Likewise.
19257         * tests/test-spawn.c: Likewise.
19258         * tests/test-sys_file.c: Likewise.
19259         * tests/test-sys_ioctl.c: Likewise.
19260         * tests/test-sys_wait.c: Likewise.
19261         * m4/spawn_h.m4 (gl_SPAWN_H): Replace header if it is missing.
19262         * lib/sys_file.in.h (LOCK_SH, LOCK_EX, LOCK_UN, LOCK_NB): Provide
19263         whether or not flock is in use.
19264
19265         tests: remove License section from module
19266         * modules/arpa_inet-tests: Remove unneeded section.
19267         * modules/byteswap-tests: Likewise.
19268         * modules/ceilf-tests: Likewise.
19269         * modules/ceill-tests: Likewise.
19270         * modules/crypto/des-tests: Likewise.
19271         * modules/crypto/gc-arcfour-tests: Likewise.
19272         * modules/crypto/gc-arctwo-tests: Likewise.
19273         * modules/crypto/gc-des-tests: Likewise.
19274         * modules/crypto/gc-hmac-md5-tests: Likewise.
19275         * modules/crypto/gc-hmac-sha1-tests: Likewise.
19276         * modules/crypto/gc-md2-tests: Likewise.
19277         * modules/crypto/gc-md4-tests: Likewise.
19278         * modules/crypto/gc-md5-tests: Likewise.
19279         * modules/crypto/gc-pbkdf2-sha1-tests: Likewise.
19280         * modules/crypto/gc-rijndael-tests: Likewise.
19281         * modules/crypto/gc-sha1-tests: Likewise.
19282         * modules/crypto/gc-tests: Likewise.
19283         * modules/crypto/md2-tests: Likewise.
19284         * modules/crypto/md4-tests: Likewise.
19285         * modules/fcntl-h-tests: Likewise.
19286         * modules/floorf-tests: Likewise.
19287         * modules/floorl-tests: Likewise.
19288         * modules/frexp-nolibm-tests: Likewise.
19289         * modules/frexp-tests: Likewise.
19290         * modules/frexpl-nolibm-tests: Likewise.
19291         * modules/frexpl-tests: Likewise.
19292         * modules/getaddrinfo-tests: Likewise.
19293         * modules/inttypes-tests: Likewise.
19294         * modules/isfinite-tests: Likewise.
19295         * modules/isinf-tests: Likewise.
19296         * modules/ldexpl-tests: Likewise.
19297         * modules/locale-tests: Likewise.
19298         * modules/math-tests: Likewise.
19299         * modules/netdb-tests: Likewise.
19300         * modules/netinet_in-tests: Likewise.
19301         * modules/printf-frexp-tests: Likewise.
19302         * modules/printf-frexpl-tests: Likewise.
19303         * modules/priv-set-tests: Likewise.
19304         * modules/random_r-tests: Likewise.
19305         * modules/round-tests: Likewise.
19306         * modules/roundf-tests: Likewise.
19307         * modules/roundl-tests: Likewise.
19308         * modules/search-tests: Likewise.
19309         * modules/select-tests: Likewise.
19310         * modules/signal-tests: Likewise.
19311         * modules/stdbool-tests: Likewise.
19312         * modules/stddef-tests: Likewise.
19313         * modules/stdint-tests: Likewise.
19314         * modules/stdio-tests: Likewise.
19315         * modules/stdlib-tests: Likewise.
19316         * modules/string-tests: Likewise.
19317         * modules/strings-tests: Likewise.
19318         * modules/sys_select-tests: Likewise.
19319         * modules/sys_socket-tests: Likewise.
19320         * modules/sys_stat-tests: Likewise.
19321         * modules/sys_time-tests: Likewise.
19322         * modules/sys_utsname-tests: Likewise.
19323         * modules/sysexits-tests: Likewise.
19324         * modules/time-tests: Likewise.
19325         * modules/trunc-tests: Likewise.
19326         * modules/truncf-tests: Likewise.
19327         * modules/truncl-tests: Likewise.
19328         * modules/tsearch-tests: Likewise.
19329         * modules/unistd-tests: Likewise.
19330         * modules/wchar-tests: Likewise.
19331         * modules/wctype-tests: Likewise.
19332
19333         tests: fix license on several tests
19334         * tests/test-des.c: Update to GPLv3+.
19335         * tests/test-flock.c: Likewise.
19336         * tests/test-fsync.c: Likewise.
19337         * tests/test-futimens.h: Likewise.
19338         * tests/test-gc-arcfour.c: Likewise.
19339         * tests/test-gc-arctwo.c: Likewise.
19340         * tests/test-gc-des.c: Likewise.
19341         * tests/test-gc-hmac-md5.c: Likewise.
19342         * tests/test-gc-hmac-sha1.c: Likewise.
19343         * tests/test-gc-md2.c: Likewise.
19344         * tests/test-gc-md4.c: Likewise.
19345         * tests/test-gc-md5.c: Likewise.
19346         * tests/test-gc-pbkdf2-sha1.c: Likewise.
19347         * tests/test-gc-rijndael.c: Likewise.
19348         * tests/test-gc-sha1.c: Likewise.
19349         * tests/test-gc.c: Likewise.
19350         * tests/test-getcwd.c: Likewise.
19351         * tests/test-link.c: Likewise.
19352         * tests/test-link.h: Likewise.
19353         * tests/test-lutimens.h: Likewise.
19354         * tests/test-md2.c: Likewise.
19355         * tests/test-md4.c: Likewise.
19356         * tests/test-mkdir.h: Likewise.
19357         * tests/test-rename.c: Likewise.
19358         * tests/test-rename.h: Likewise.
19359         * tests/test-safe-alloc.c: Likewise.
19360         * tests/test-utimens-common.h: Likewise.
19361         * tests/test-utimens.h: Likewise.
19362
19363         maint: sync license texts
19364         * config/srclist.txt: Add gpl-1.3.texi, lgpl-1.3.texi.
19365         * doc/gpl-3.0.texi: Revert copyright year update.
19366         * doc/lgpl-3.0.texi: Likewise.
19367
19368 2009-12-29  Jim Meyering  <meyering@redhat.com>
19369
19370         update nearly all FSF copyright year lists to include 2009
19371         The files named by the following are exempted:
19372             grep -v '^#' config/srclist.txt|grep -v '^$' | while read src dst; do
19373               test -f "$dst" && { echo "$dst"; continue; }
19374               test -d "$dst" || continue
19375               echo "$dst"/$(basename "$src")
19376             done > exempt
19377             git ls-files tests/unictype >> exempt
19378         In the remaining files, convert to all-interval notation if
19379         - there is already at least one year interval like 2000-2003
19380         - the file is maintained by me
19381         - the file is in lib/uni*/, where that style already prevails
19382         Otherwise, use update-copyright's default.
19383
19384 2009-12-29  Simon Josefsson  <simon@josefsson.org>
19385         and Eric Blake  <ebb9@byu.net>
19386
19387         tests: don't require debug system() to pass
19388         * tests/test-lstat.h (test_lstat_func): Move debug cleanup...
19389         * tests/test-rmdir.h (test_rmdir_func): Likewise.
19390         * tests/test-unlink.h (test_unlink_func): Likewise.
19391         * tests/test-fstatat.c (main): ...into callers.
19392         * tests/test-lstat.c (main): Likewise.
19393         * tests/test-rmdir.c (main): Likewise.
19394         * tests/test-unlink.c (main): Likewise.
19395         * tests/test-unlinkat.c (main): Likewise.
19396         * tests/test-areadlink-with-size.c (main): Don't require a
19397         debug-only system call to pass, aiding cross-testing to mingw.
19398         * tests/test-areadlink.c (main): Likewise.
19399         * tests/test-areadlinkat-with-size.c (main): Likewise.
19400         * tests/test-areadlinkat.c (main): Likewise.
19401         * tests/test-canonicalize-lgpl.c (main): Likewise.
19402         * tests/test-canonicalize.c (main): Likewise.
19403         * tests/test-chown.c (main): Likewise.
19404         * tests/test-fchownat.c (main): Likewise.
19405         * tests/test-lchown.c (main): Likewise.
19406         * tests/test-fdutimensat.c (main): Likewise.
19407         * tests/test-futimens.c (main): Likewise.
19408         * tests/test-link.c (main): Likewise.
19409         * tests/test-linkat.c (main): Likewise.
19410         * tests/test-mkdir.c (main): Likewise.
19411         * tests/test-mkdirat.c (main): Likewise.
19412         * tests/test-mkfifo.c (main): Likewise.
19413         * tests/test-mkfifoat.c (main): Likewise.
19414         * tests/test-mknod.c (main): Likewise.
19415         * tests/test-readlink.c (main): Likewise.
19416         * tests/test-remove.c (main): Likewise.
19417         * tests/test-rename.c (main): Likewise.
19418         * tests/test-renameat.c (main): Likewise.
19419         * tests/test-symlink.c (main): Likewise.
19420         * tests/test-symlinkat.c (main): Likewise.
19421         * tests/test-utimens.c (main): Likewise.
19422         * tests/test-utimensat.c (main): Likewise.
19423
19424 2009-12-29  Simon Josefsson  <simon@josefsson.org>
19425
19426         * modules/selinux-h (selinux/selinux.h, selinux/context.h): Depend
19427         on $(UNUSED_PARAMETER_H) to avoid build failure.
19428
19429 2009-12-28  Jim Meyering  <meyering@redhat.com>
19430
19431         update-copyright: you may specify a max. line length other than 72
19432         * build-aux/update-copyright: Honor $UPDATE_COPYRIGHT_MAX_LINE_LENGTH.
19433
19434         maint: use consistent FSF copyright line syntax
19435         * lib/posixtm.c: Add missing comma in FSF copyright line.
19436         * lib/posixtm.h: Likewise.
19437         * lib/getugroups.c: Add missing ", Inc.".
19438
19439         pmccabe2html: emit consistent FSF copyright; remove trailing blanks
19440         * build-aux/pmccabe2html: Insert comma before "Inc." in emitted
19441         FSF copyright line.  Remove trailing blanks.
19442
19443 2009-12-28  Eric Blake  <ebb9@byu.net>
19444
19445         test-dup2: reduce dependencies
19446         * modules/cloexec (Configure.ac): Set witness.
19447         * modules/dup2-tests (Depends-on): Drop cloexec.
19448         * tests/test-dup2.c (main): Skip portion of test if cloexec module
19449         not present.
19450         Suggested by Bruno Haible.
19451
19452 2009-12-26  Bruno Haible  <bruno@clisp.org>
19453
19454         Remove an unneeded dependency.
19455         * modules/fseterr (Depends-on): Remove dup2.
19456
19457 2009-12-26  Eric Blake  <ebb9@byu.net>
19458
19459         tests: use macros.h in more places
19460         * tests/macros.h (ASSERT): Depend on ASSERT_STREAM.
19461         (ASSERT_STREAM): Provide default of stderr.
19462         * tests/test-dirent-safer.c: Include macros.h, using alternate
19463         stream for assertions.
19464         * tests/test-dup-safer.c: Likewise.
19465         * tests/test-freopen-safer.c: Likewise.
19466         * tests/test-getopt.c: Likewise.
19467         * tests/test-openat-safer.c: Likewise.
19468         * tests/test-pipe.c: Likewise.
19469         * tests/test-popen-safer.c: Likewise.
19470         * modules/dirent-safer-tests (Files): Include macros.h.
19471         * modules/unistd-safer-tests (Files): Likewise.
19472         * modules/freopen-safer-tests (Files): Likewise.
19473         * modules/getopt-posix-tests (Files): Likewise.
19474         * modules/openat-safer-tests (Files): Likewise.
19475         * modules/pipe-tests (Files): Likewise.
19476
19477 2009-12-26  Bruno Haible  <bruno@clisp.org>
19478
19479         javacomp: Portability fix.
19480         * m4/javacomp.m4 (gt_JAVACOMP): Fix creation of conftestver.class so
19481         that it also works on Solaris.
19482
19483 2009-12-26  Bruno Haible  <bruno@clisp.org>
19484
19485         localename: Fix storage allocation of gl_locale_name_thread's result.
19486         * lib/localename.c (SIZE_BITS, string_hash, struct hash_node,
19487         HASH_TABLE_SIZE, struniq_hash_table, struniq_lock, struniq): Define on
19488         all platforms that have 'uselocale'.
19489         (gl_locale_name_thread_unsafe): New function, extracted from
19490         gl_locale_name_thread.
19491         (gl_locale_name_thread): Call struniq on all platforms that have
19492         'uselocale'.
19493         * tests/test-localename.c (test_locale_name_thread): Check that the
19494         resulting strings are permanently allocated.
19495         * modules/localename-tests (Depends-on): Add strdup.
19496
19497 2009-12-26  Bruno Haible  <bruno@clisp.org>
19498
19499         * tests/test-localename.c (categories): Fill in the strings.
19500
19501 2009-12-26  Jim Meyering  <meyering@redhat.com>
19502
19503         isdir: complete the removal of m4/isdir.m4
19504         * modules/isdir (configure.ac): Remove reference to gl_ISDIR.
19505
19506         isdir: clean up, since at least grep still uses it
19507         * lib/isdir.c: Include "isdir.h".
19508         (S_ISDIR): Remove now-unneeded definition.
19509         * modules/isdir (Files): Add lib/isdir.h.
19510         * lib/isdir.h: New file, with declaration.
19511         * m4/isdir.m4: Remove file -- unneeded.
19512
19513 2009-12-25  Bruno Haible  <bruno@clisp.org>
19514
19515         selinux-h: Make generated .h files standalone.
19516         * lib/se-context.in.h: Arrange to include _GL_UNUSED_PARAMETER
19517         definition. Use _GL_UNUSED_PARAMETER instead of _GL_UNUSED.
19518         * lib/se-selinux.in.h: Likewise.
19519         * modules/selinux-h (Depends-on): Add unused-parameter.
19520         (Makefile.am): Insert definition of _GL_UNUSED_PARAMETER into
19521         selinux/selinux.h and selinux/context.h.
19522         Suggested by Eric Blake.
19523
19524 2009-12-25  Bruno Haible  <bruno@clisp.org>
19525
19526         Move gl_FCNTL_O_FLAGS to a separate .m4 file.
19527         * m4/fcntl-o.m4: New file, extracted from m4/fcntl_h.m4.
19528         * m4/fcntl_h.m4 (gl_FCNTL_O_FLAGS): Remove macro.
19529         * modules/fcntl-h (Files): Add m4/fcntl-o.m4.
19530         * modules/localcharset (Files): Likewise. Remove m4/fcntl_h.m4.
19531
19532 2009-12-24  Bruno Haible  <bruno@clisp.org>
19533
19534         openat: Fix warning.
19535         * lib/openat-proc.c: Include <unistd.h>.
19536
19537 2009-12-24  Bruno Haible  <bruno@clisp.org>
19538
19539         New module 'unused-parameter'.
19540         * build-aux/unused-parameter.h: New file, extracted from earlier
19541         gnulib-common.m4.
19542         * modules/unused-parameter: New file.
19543         * lib/unistr.h: Include unused-parameter.h.
19544         (u32_mbtouc_unsafe, u32_mbtouc): Use _GL_UNUSED_PARAMETER instead of
19545         _GL_UNUSED.
19546         * modules/unistr/base (Depends-on): Add unused-parameter.
19547
19548 2009-12-24  Bruno Haible  <bruno@clisp.org>
19549
19550         Add missing dependencies to 'extensions' module.
19551         * m4/extensions.m4: Add comment.
19552         * modules/accept4 (Depends-on): Add extensions.
19553         * modules/dup3 (Depends-on): Likewise.
19554         * modules/fcntl (Depends-on): Likewise.
19555         * modules/futimens (Depends-on): Likewise.
19556         * modules/mknod (Depends-on): Likewise.
19557         * modules/pipe2 (Depends-on): Likewise.
19558         * modules/stat-time (Depends-on): Likewise.
19559         * modules/strcasestr-simple (Depends-on): Likewise.
19560         * modules/strsignal (Depends-on): Likewise.
19561         * modules/utimensat (Depends-on): Likewise.
19562         * modules/localcharset (Depends-on): Likewise. Needed because of
19563         gl_FCNTL_O_FLAGS.
19564         * modules/wcrtomb (Depends-on): Likewise. Needed because of
19565         AC_TYPE_MBSTATE_T.
19566         * modules/wcsnrtombs (Depends-on): Likewise.
19567         * modules/wcsrtombs (Depends-on): Likewise.
19568
19569 2009-12-24  Bruno Haible  <bruno@clisp.org>
19570
19571         binary-io: Avoid gcc warning due to SET_BINARY.
19572         * lib/binary-io.h (SET_BINARY): Cast the result to void.
19573         Reported by Jim Meyering <jim@meyering.net>. Suggestion by Eric Blake.
19574
19575 2009-12-24  Bruno Haible  <bruno@clisp.org>
19576
19577         Avoid future namespace pollution on glibc systems.
19578         * lib/arpa_inet.in.h: Don't include <sys/socket.h> on glibc systems.
19579         * lib/sys_ioctl.in.h: Don't include <unistd.h> on glibc systems.
19580         * lib/sys_select.in.h: Don't include <sys/time.h> and <string.h> on
19581         glibc systems.
19582
19583 2009-12-24  Bruno Haible  <bruno@clisp.org>
19584
19585         Refactor common macros used in tests.
19586         * tests/macros.h: New file.
19587         * tests/test-areadlink.c: Include macros.h. Don't include <stdio.h>
19588         and/or <stdlib.h>, if appropriate.
19589         (ASSERT, SIZEOF): Remove macros.
19590         * tests/test-areadlink-with-size.c: Likewise.
19591         * tests/test-areadlinkat.c: Likewise.
19592         * tests/test-areadlinkat-with-size.c: Likewise.
19593         * tests/test-argmatch.c: Likewise.
19594         * tests/test-argv-iter.c: Likewise.
19595         * tests/test-array-mergesort.c: Likewise.
19596         * tests/test-array_list.c: Likewise.
19597         * tests/test-array_oset.c: Likewise.
19598         * tests/test-avltree_list.c: Likewise.
19599         * tests/test-avltree_oset.c: Likewise.
19600         * tests/test-avltreehash_list.c: Likewise.
19601         * tests/test-base64.c: Likewise.
19602         * tests/test-binary-io.c: Likewise.
19603         * tests/test-bitrotate.c: Likewise.
19604         * tests/test-btowc.c: Likewise.
19605         * tests/test-byteswap.c: Likewise.
19606         * tests/test-c-ctype.c: Likewise.
19607         * tests/test-c-stack.c: Likewise.
19608         * tests/test-c-strcasecmp.c: Likewise.
19609         * tests/test-c-strcasestr.c: Likewise.
19610         * tests/test-c-strncasecmp.c: Likewise.
19611         * tests/test-c-strstr.c: Likewise.
19612         * tests/test-canonicalize-lgpl.c: Likewise.
19613         * tests/test-canonicalize.c: Likewise.
19614         * tests/test-carray_list.c: Likewise.
19615         * tests/test-ceilf1.c: Likewise.
19616         * tests/test-ceilf2.c: Likewise.
19617         * tests/test-ceill.c: Likewise.
19618         * tests/test-chown.c: Likewise.
19619         * tests/test-cloexec.c: Likewise.
19620         * tests/test-copy-acl.c: Likewise.
19621         * tests/test-copy-file.c: Likewise.
19622         * tests/test-count-one-bits.c: Likewise.
19623         * tests/test-dprintf-posix.c: Likewise.
19624         * tests/test-dup2.c: Likewise.
19625         * tests/test-dup3.c: Likewise.
19626         * tests/test-duplocale.c: Likewise.
19627         * tests/test-fbufmode.c: Likewise.
19628         * tests/test-fchdir.c: Likewise.
19629         * tests/test-fchownat.c: Likewise.
19630         * tests/test-fcntl-safer.c: Likewise.
19631         * tests/test-fcntl.c: Likewise.
19632         * tests/test-fdopendir.c: Likewise.
19633         * tests/test-fdutimensat.c: Likewise.
19634         * tests/test-fflush2.c: Likewise.
19635         * tests/test-file-has-acl.c: Likewise.
19636         * tests/test-filevercmp.c: Likewise.
19637         * tests/test-flock.c: Likewise.
19638         * tests/test-floorf1.c: Likewise.
19639         * tests/test-floorf2.c: Likewise.
19640         * tests/test-floorl.c: Likewise.
19641         * tests/test-fnmatch.c: Likewise.
19642         * tests/test-fopen.h: Likewise.
19643         * tests/test-fpending.c: Likewise.
19644         * tests/test-fprintf-posix.c: Likewise.
19645         * tests/test-fpurge.c: Likewise.
19646         * tests/test-freadable.c: Likewise.
19647         * tests/test-freadahead.c: Likewise.
19648         * tests/test-freading.c: Likewise.
19649         * tests/test-freadptr.c: Likewise.
19650         * tests/test-freadptr2.c: Likewise.
19651         * tests/test-freadseek.c: Likewise.
19652         * tests/test-freopen.c: Likewise.
19653         * tests/test-frexp.c: Likewise.
19654         * tests/test-frexpl.c: Likewise.
19655         * tests/test-fseek.c: Likewise.
19656         * tests/test-fseeko.c: Likewise.
19657         * tests/test-fstatat.c: Likewise.
19658         * tests/test-fstrcmp.c: Likewise.
19659         * tests/test-fsync.c: Likewise.
19660         * tests/test-ftell.c: Likewise.
19661         * tests/test-ftello.c: Likewise.
19662         * tests/test-func.c: Likewise.
19663         * tests/test-futimens.c: Likewise.
19664         * tests/test-fwritable.c: Likewise.
19665         * tests/test-fwriting.c: Likewise.
19666         * tests/test-getcwd.c: Likewise.
19667         * tests/test-getdate.c: Likewise.
19668         * tests/test-getdelim.c: Likewise.
19669         * tests/test-getdtablesize.c: Likewise.
19670         * tests/test-getgroups.c: Likewise.
19671         * tests/test-getline.c: Likewise.
19672         * tests/test-getndelim2.c: Likewise.
19673         * tests/test-glob.c: Likewise.
19674         * tests/test-hash.c: Likewise.
19675         * tests/test-i-ring.c: Likewise.
19676         * tests/test-iconv-utf.c: Likewise.
19677         * tests/test-iconv.c: Likewise.
19678         * tests/test-idpriv-drop.c: Likewise.
19679         * tests/test-idpriv-droptemp.c: Likewise.
19680         * tests/test-inet_ntop.c: Likewise.
19681         * tests/test-inet_pton.c: Likewise.
19682         * tests/test-isblank.c: Likewise.
19683         * tests/test-isfinite.c: Likewise.
19684         * tests/test-isinf.c: Likewise.
19685         * tests/test-isnan.c: Likewise.
19686         * tests/test-isnand.h: Likewise.
19687         * tests/test-isnanf.h: Likewise.
19688         * tests/test-isnanl.h: Likewise.
19689         * tests/test-lchown.c: Likewise.
19690         * tests/test-ldexpl.c: Likewise.
19691         * tests/test-link.c: Likewise.
19692         * tests/test-linkat.c: Likewise.
19693         * tests/test-linked_list.c: Likewise.
19694         * tests/test-linkedhash_list.c: Likewise.
19695         * tests/test-localename.c: Likewise.
19696         * tests/test-lseek.c: Likewise.
19697         * tests/test-lstat.c: Likewise.
19698         * tests/test-mbmemcasecmp.c: Likewise.
19699         * tests/test-mbmemcasecoll.c: Likewise.
19700         * tests/test-mbrtowc.c: Likewise.
19701         * tests/test-mbscasecmp.c: Likewise.
19702         * tests/test-mbscasestr1.c: Likewise.
19703         * tests/test-mbscasestr2.c: Likewise.
19704         * tests/test-mbscasestr3.c: Likewise.
19705         * tests/test-mbscasestr4.c: Likewise.
19706         * tests/test-mbschr.c: Likewise.
19707         * tests/test-mbscspn.c: Likewise.
19708         * tests/test-mbsinit.c: Likewise.
19709         * tests/test-mbsncasecmp.c: Likewise.
19710         * tests/test-mbsnrtowcs.c: Likewise.
19711         * tests/test-mbspbrk.c: Likewise.
19712         * tests/test-mbspcasecmp.c: Likewise.
19713         * tests/test-mbsrchr.c: Likewise.
19714         * tests/test-mbsrtowcs.c: Likewise.
19715         * tests/test-mbsspn.c: Likewise.
19716         * tests/test-mbsstr1.c: Likewise.
19717         * tests/test-mbsstr2.c: Likewise.
19718         * tests/test-mbsstr3.c: Likewise.
19719         * tests/test-memchr.c: Likewise.
19720         * tests/test-memchr2.c: Likewise.
19721         * tests/test-memcmp.c: Likewise.
19722         * tests/test-memmem.c: Likewise.
19723         * tests/test-memrchr.c: Likewise.
19724         * tests/test-mkdir.c: Likewise.
19725         * tests/test-mkdirat.c: Likewise.
19726         * tests/test-mkfifo.c: Likewise.
19727         * tests/test-mkfifoat.c: Likewise.
19728         * tests/test-mknod.c: Likewise.
19729         * tests/test-nanosleep.c: Likewise.
19730         * tests/test-nl_langinfo.c: Likewise.
19731         * tests/test-obstack-printf.c: Likewise.
19732         * tests/test-open.c: Likewise.
19733         * tests/test-openat.c: Likewise.
19734         * tests/test-pipe-filter-gi1.c: Likewise.
19735         * tests/test-pipe-filter-gi2-main.c: Likewise.
19736         * tests/test-pipe-filter-ii1.c: Likewise.
19737         * tests/test-pipe-filter-ii2-main.c: Likewise.
19738         * tests/test-pipe2.c: Likewise.
19739         * tests/test-popen.h: Likewise.
19740         * tests/test-posixtm.c: Likewise.
19741         * tests/test-pread.c: Likewise.
19742         * tests/test-printf-frexp.c: Likewise.
19743         * tests/test-printf-frexpl.c: Likewise.
19744         * tests/test-printf-posix.c: Likewise.
19745         * tests/test-priv-set.c: Likewise.
19746         * tests/test-quotearg.c: Likewise.
19747         * tests/test-random_r.c: Likewise.
19748         * tests/test-rawmemchr.c: Likewise.
19749         * tests/test-rbtree_list.c: Likewise.
19750         * tests/test-rbtree_oset.c: Likewise.
19751         * tests/test-rbtreehash_list.c: Likewise.
19752         * tests/test-readlink.c: Likewise.
19753         * tests/test-remove.c: Likewise.
19754         * tests/test-rename.c: Likewise.
19755         * tests/test-renameat.c: Likewise.
19756         * tests/test-rmdir.c: Likewise.
19757         * tests/test-round1.c: Likewise.
19758         * tests/test-roundf1.c: Likewise.
19759         * tests/test-roundl.c: Likewise.
19760         * tests/test-safe-alloc.c: Likewise.
19761         * tests/test-sameacls.c: Likewise.
19762         * tests/test-set-mode-acl.c: Likewise.
19763         * tests/test-setenv.c: Likewise.
19764         * tests/test-sigaction.c: Likewise.
19765         * tests/test-signbit.c: Likewise.
19766         * tests/test-sleep.c: Likewise.
19767         * tests/test-snprintf-posix.c: Likewise.
19768         * tests/test-snprintf.c: Likewise.
19769         * tests/test-sprintf-posix.c: Likewise.
19770         * tests/test-stat-time.c: Likewise.
19771         * tests/test-stat.c: Likewise.
19772         * tests/test-strcasestr.c: Likewise.
19773         * tests/test-strchrnul.c: Likewise.
19774         * tests/test-strerror.c: Likewise.
19775         * tests/test-striconv.c: Likewise.
19776         * tests/test-striconveh.c: Likewise.
19777         * tests/test-striconveha.c: Likewise.
19778         * tests/test-strsignal.c: Likewise.
19779         * tests/test-strstr.c: Likewise.
19780         * tests/test-strtod.c: Likewise.
19781         * tests/test-strverscmp.c: Likewise.
19782         * tests/test-symlink.c: Likewise.
19783         * tests/test-symlinkat.c: Likewise.
19784         * tests/test-trunc1.c: Likewise.
19785         * tests/test-trunc2.c: Likewise.
19786         * tests/test-truncf1.c: Likewise.
19787         * tests/test-truncf2.c: Likewise.
19788         * tests/test-truncl.c: Likewise.
19789         * tests/test-uname.c: Likewise.
19790         * tests/test-unlink.c: Likewise.
19791         * tests/test-unlinkat.c: Likewise.
19792         * tests/test-unsetenv.c: Likewise.
19793         * tests/test-usleep.c: Likewise.
19794         * tests/test-utimens.c: Likewise.
19795         * tests/test-utimensat.c: Likewise.
19796         * tests/test-vasnprintf-posix.c: Likewise.
19797         * tests/test-vasnprintf-posix2.c: Likewise.
19798         * tests/test-vasnprintf.c: Likewise.
19799         * tests/test-vasprintf-posix.c: Likewise.
19800         * tests/test-vasprintf.c: Likewise.
19801         * tests/test-vdprintf-posix.c: Likewise.
19802         * tests/test-vfprintf-posix.c: Likewise.
19803         * tests/test-vprintf-posix.c: Likewise.
19804         * tests/test-vsnprintf-posix.c: Likewise.
19805         * tests/test-vsnprintf.c: Likewise.
19806         * tests/test-vsprintf-posix.c: Likewise.
19807         * tests/test-wcrtomb.c: Likewise.
19808         * tests/test-wcsnrtombs.c: Likewise.
19809         * tests/test-wcsrtombs.c: Likewise.
19810         * tests/test-wctype.c: Likewise.
19811         * tests/test-wcwidth.c: Likewise.
19812         * tests/test-xfprintf-posix.c: Likewise.
19813         * tests/test-xmemdup0.c: Likewise.
19814         * tests/test-xprintf-posix.c: Likewise.
19815         * tests/test-xvasprintf.c: Likewise.
19816         * tests/unicase/test-locale-language.c: Likewise.
19817         * tests/unicase/test-mapping-part1.h: Likewise.
19818         * tests/unicase/test-predicate-part1.h: Likewise.
19819         * tests/unicase/test-u8-casecmp.c: Likewise.
19820         * tests/unicase/test-u8-casecoll.c: Likewise.
19821         * tests/unicase/test-u8-casefold.c: Likewise.
19822         * tests/unicase/test-u8-is-cased.c: Likewise.
19823         * tests/unicase/test-u8-is-casefolded.c: Likewise.
19824         * tests/unicase/test-u8-is-lowercase.c: Likewise.
19825         * tests/unicase/test-u8-is-titlecase.c: Likewise.
19826         * tests/unicase/test-u8-is-uppercase.c: Likewise.
19827         * tests/unicase/test-u8-tolower.c: Likewise.
19828         * tests/unicase/test-u8-totitle.c: Likewise.
19829         * tests/unicase/test-u8-toupper.c: Likewise.
19830         * tests/unicase/test-u16-casecmp.c: Likewise.
19831         * tests/unicase/test-u16-casecoll.c: Likewise.
19832         * tests/unicase/test-u16-casefold.c: Likewise.
19833         * tests/unicase/test-u16-is-cased.c: Likewise.
19834         * tests/unicase/test-u16-is-casefolded.c: Likewise.
19835         * tests/unicase/test-u16-is-lowercase.c: Likewise.
19836         * tests/unicase/test-u16-is-titlecase.c: Likewise.
19837         * tests/unicase/test-u16-is-uppercase.c: Likewise.
19838         * tests/unicase/test-u16-tolower.c: Likewise.
19839         * tests/unicase/test-u16-totitle.c: Likewise.
19840         * tests/unicase/test-u16-toupper.c: Likewise.
19841         * tests/unicase/test-u32-casecmp.c: Likewise.
19842         * tests/unicase/test-u32-casecoll.c: Likewise.
19843         * tests/unicase/test-u32-casefold.c: Likewise.
19844         * tests/unicase/test-u32-is-cased.c: Likewise.
19845         * tests/unicase/test-u32-is-casefolded.c: Likewise.
19846         * tests/unicase/test-u32-is-lowercase.c: Likewise.
19847         * tests/unicase/test-u32-is-titlecase.c: Likewise.
19848         * tests/unicase/test-u32-is-uppercase.c: Likewise.
19849         * tests/unicase/test-u32-tolower.c: Likewise.
19850         * tests/unicase/test-u32-totitle.c: Likewise.
19851         * tests/unicase/test-u32-toupper.c: Likewise.
19852         * tests/unicase/test-ulc-casecmp.c: Likewise.
19853         * tests/unicase/test-ulc-casecoll.c: Likewise.
19854         * tests/uniconv/test-u8-conv-from-enc.c: Likewise.
19855         * tests/uniconv/test-u8-conv-to-enc.c: Likewise.
19856         * tests/uniconv/test-u8-strconv-from-enc.c: Likewise.
19857         * tests/uniconv/test-u8-strconv-to-enc.c: Likewise.
19858         * tests/uniconv/test-u16-conv-from-enc.c: Likewise.
19859         * tests/uniconv/test-u16-conv-to-enc.c: Likewise.
19860         * tests/uniconv/test-u16-strconv-from-enc.c: Likewise.
19861         * tests/uniconv/test-u16-strconv-to-enc.c: Likewise.
19862         * tests/uniconv/test-u32-conv-from-enc.c: Likewise.
19863         * tests/uniconv/test-u32-conv-to-enc.c: Likewise.
19864         * tests/uniconv/test-u32-strconv-from-enc.c: Likewise.
19865         * tests/uniconv/test-u32-strconv-to-enc.c: Likewise.
19866         * tests/unictype/test-bidi_byname.c: Likewise.
19867         * tests/unictype/test-bidi_name.c: Likewise.
19868         * tests/unictype/test-bidi_of.c: Likewise.
19869         * tests/unictype/test-bidi_test.c: Likewise.
19870         * tests/unictype/test-block_list.c: Likewise.
19871         * tests/unictype/test-block_of.c: Likewise.
19872         * tests/unictype/test-block_test.c: Likewise.
19873         * tests/unictype/test-categ_and.c: Likewise.
19874         * tests/unictype/test-categ_and_not.c: Likewise.
19875         * tests/unictype/test-categ_byname.c: Likewise.
19876         * tests/unictype/test-categ_name.c: Likewise.
19877         * tests/unictype/test-categ_none.c: Likewise.
19878         * tests/unictype/test-categ_of.c: Likewise.
19879         * tests/unictype/test-categ_or.c: Likewise.
19880         * tests/unictype/test-categ_test_withtable.c: Likewise.
19881         * tests/unictype/test-combining.c: Likewise.
19882         * tests/unictype/test-decdigit.c: Likewise.
19883         * tests/unictype/test-digit.c: Likewise.
19884         * tests/unictype/test-mirror.c: Likewise.
19885         * tests/unictype/test-numeric.c: Likewise.
19886         * tests/unictype/test-pr_byname.c: Likewise.
19887         * tests/unictype/test-pr_test.c: Likewise.
19888         * tests/unictype/test-predicate-part1.h: Likewise.
19889         * tests/unictype/test-scripts.c: Likewise.
19890         * tests/unictype/test-sy_c_ident.c: Likewise.
19891         * tests/unictype/test-sy_java_ident.c: Likewise.
19892         * tests/unilbrk/test-u8-possible-linebreaks.c: Likewise.
19893         * tests/unilbrk/test-u8-width-linebreaks.c: Likewise.
19894         * tests/unilbrk/test-u16-possible-linebreaks.c: Likewise.
19895         * tests/unilbrk/test-u16-width-linebreaks.c: Likewise.
19896         * tests/unilbrk/test-u32-possible-linebreaks.c: Likewise.
19897         * tests/unilbrk/test-u32-width-linebreaks.c: Likewise.
19898         * tests/unilbrk/test-ulc-possible-linebreaks.c: Likewise.
19899         * tests/unilbrk/test-ulc-width-linebreaks.c: Likewise.
19900         * tests/uninorm/test-canonical-decomposition.c: Likewise.
19901         * tests/uninorm/test-compat-decomposition.c: Likewise.
19902         * tests/uninorm/test-composition.c: Likewise.
19903         * tests/uninorm/test-decomposing-form.c: Likewise.
19904         * tests/uninorm/test-decomposition.c: Likewise.
19905         * tests/uninorm/test-u8-nfc.c: Likewise.
19906         * tests/uninorm/test-u8-nfd.c: Likewise.
19907         * tests/uninorm/test-u8-nfkc.c: Likewise.
19908         * tests/uninorm/test-u8-nfkd.c: Likewise.
19909         * tests/uninorm/test-u8-normcmp.c: Likewise.
19910         * tests/uninorm/test-u8-normcoll.c: Likewise.
19911         * tests/uninorm/test-u16-nfc.c: Likewise.
19912         * tests/uninorm/test-u16-nfd.c: Likewise.
19913         * tests/uninorm/test-u16-nfkc.c: Likewise.
19914         * tests/uninorm/test-u16-nfkd.c: Likewise.
19915         * tests/uninorm/test-u16-normcmp.c: Likewise.
19916         * tests/uninorm/test-u16-normcoll.c: Likewise.
19917         * tests/uninorm/test-u32-nfc.c: Likewise.
19918         * tests/uninorm/test-u32-nfd.c: Likewise.
19919         * tests/uninorm/test-u32-nfkc.c: Likewise.
19920         * tests/uninorm/test-u32-nfkd.c: Likewise.
19921         * tests/uninorm/test-u32-normalize-big.c: Likewise.
19922         * tests/uninorm/test-u32-normcmp.c: Likewise.
19923         * tests/uninorm/test-u32-normcoll.c: Likewise.
19924         * tests/uninorm/test-uninorm-filter-nfc.c: Likewise.
19925         * tests/unistdio/test-u8-asnprintf1.c: Likewise.
19926         * tests/unistdio/test-u8-vasnprintf1.c: Likewise.
19927         * tests/unistdio/test-u8-vasnprintf2.c: Likewise.
19928         * tests/unistdio/test-u8-vasnprintf3.c: Likewise.
19929         * tests/unistdio/test-u8-vasprintf1.c: Likewise.
19930         * tests/unistdio/test-u8-vsnprintf1.c: Likewise.
19931         * tests/unistdio/test-u8-vsprintf1.c: Likewise.
19932         * tests/unistdio/test-u16-asnprintf1.c: Likewise.
19933         * tests/unistdio/test-u16-vasnprintf1.c: Likewise.
19934         * tests/unistdio/test-u16-vasnprintf2.c: Likewise.
19935         * tests/unistdio/test-u16-vasnprintf3.c: Likewise.
19936         * tests/unistdio/test-u16-vasprintf1.c: Likewise.
19937         * tests/unistdio/test-u16-vsnprintf1.c: Likewise.
19938         * tests/unistdio/test-u16-vsprintf1.c: Likewise.
19939         * tests/unistdio/test-u32-asnprintf1.c: Likewise.
19940         * tests/unistdio/test-u32-vasnprintf1.c: Likewise.
19941         * tests/unistdio/test-u32-vasnprintf2.c: Likewise.
19942         * tests/unistdio/test-u32-vasnprintf3.c: Likewise.
19943         * tests/unistdio/test-u32-vasprintf1.c: Likewise.
19944         * tests/unistdio/test-u32-vsnprintf1.c: Likewise.
19945         * tests/unistdio/test-u32-vsprintf1.c: Likewise.
19946         * tests/unistdio/test-ulc-asnprintf1.c: Likewise.
19947         * tests/unistdio/test-ulc-vasnprintf1.c: Likewise.
19948         * tests/unistdio/test-ulc-vasnprintf2.c: Likewise.
19949         * tests/unistdio/test-ulc-vasnprintf3.c: Likewise.
19950         * tests/unistdio/test-ulc-vasprintf1.c: Likewise.
19951         * tests/unistdio/test-ulc-vsnprintf1.c: Likewise.
19952         * tests/unistdio/test-ulc-vsprintf1.c: Likewise.
19953         * tests/uniwbrk/test-u8-wordbreaks.c: Likewise.
19954         * tests/uniwbrk/test-u16-wordbreaks.c: Likewise.
19955         * tests/uniwbrk/test-u32-wordbreaks.c: Likewise.
19956         * tests/uniwbrk/test-ulc-wordbreaks.c: Likewise.
19957         * tests/uniwidth/test-u8-strwidth.c: Likewise.
19958         * tests/uniwidth/test-u8-width.c: Likewise.
19959         * tests/uniwidth/test-u16-strwidth.c: Likewise.
19960         * tests/uniwidth/test-u16-width.c: Likewise.
19961         * tests/uniwidth/test-u32-strwidth.c: Likewise.
19962         * tests/uniwidth/test-u32-width.c: Likewise.
19963         * tests/uniwidth/test-uc_width.c: Likewise.
19964         * tests/uniwidth/test-uc_width2.c: Likewise.
19965         * modules/acl-tests (Files): Add tests/macros.h.
19966         * modules/areadlink-tests (Files): Likewise.
19967         * modules/areadlink-with-size-tests (Files): Likewise.
19968         * modules/areadlinkat-tests (Files): Likewise.
19969         * modules/areadlinkat-with-size-tests (Files): Likewise.
19970         * modules/argmatch-tests (Files): Likewise.
19971         * modules/argv-iter-tests (Files): Likewise.
19972         * modules/array-list-tests (Files): Likewise.
19973         * modules/array-mergesort-tests (Files): Likewise.
19974         * modules/array-oset-tests (Files): Likewise.
19975         * modules/avltree-list-tests (Files): Likewise.
19976         * modules/avltree-oset-tests (Files): Likewise.
19977         * modules/avltreehash-list-tests (Files): Likewise.
19978         * modules/base64-tests (Files): Likewise.
19979         * modules/binary-io-tests (Files): Likewise.
19980         * modules/bitrotate-tests (Files): Likewise.
19981         * modules/btowc-tests (Files): Likewise.
19982         * modules/byteswap-tests (Files): Likewise.
19983         * modules/c-ctype-tests (Files): Likewise.
19984         * modules/c-stack-tests (Files): Likewise.
19985         * modules/c-strcase-tests (Files): Likewise.
19986         * modules/c-strcasestr-tests (Files): Likewise.
19987         * modules/c-strstr-tests (Files): Likewise.
19988         * modules/canonicalize-lgpl-tests (Files): Likewise.
19989         * modules/canonicalize-tests (Files): Likewise.
19990         * modules/carray-list-tests (Files): Likewise.
19991         * modules/ceilf-tests (Files): Likewise.
19992         * modules/ceill-tests (Files): Likewise.
19993         * modules/chown-tests (Files): Likewise.
19994         * modules/cloexec-tests (Files): Likewise.
19995         * modules/copy-file-tests (Files): Likewise.
19996         * modules/count-one-bits-tests (Files): Likewise.
19997         * modules/dprintf-posix-tests (Files): Likewise.
19998         * modules/dup2-tests (Files): Likewise.
19999         * modules/dup3-tests (Files): Likewise.
20000         * modules/duplocale-tests (Files): Likewise.
20001         * modules/fbufmode-tests (Files): Likewise.
20002         * modules/fchdir-tests (Files): Likewise.
20003         * modules/fcntl-safer-tests (Files): Likewise.
20004         * modules/fcntl-tests (Files): Likewise.
20005         * modules/fdopendir-tests (Files): Likewise.
20006         * modules/fdutimensat-tests (Files): Likewise.
20007         * modules/fflush-tests (Files): Likewise.
20008         * modules/filevercmp-tests (Files): Likewise.
20009         * modules/flock-tests (Files): Likewise.
20010         * modules/floorf-tests (Files): Likewise.
20011         * modules/floorl-tests (Files): Likewise.
20012         * modules/fnmatch-tests (Files): Likewise.
20013         * modules/fopen-safer-tests (Files): Likewise.
20014         * modules/fopen-tests (Files): Likewise.
20015         * modules/fpending-tests (Files): Likewise.
20016         * modules/fprintf-posix-tests (Files): Likewise.
20017         * modules/fpurge-tests (Files): Likewise.
20018         * modules/freadable-tests (Files): Likewise.
20019         * modules/freadahead-tests (Files): Likewise.
20020         * modules/freading-tests (Files): Likewise.
20021         * modules/freadptr-tests (Files): Likewise.
20022         * modules/freadseek-tests (Files): Likewise.
20023         * modules/freopen-tests (Files): Likewise.
20024         * modules/frexp-nolibm-tests (Files): Likewise.
20025         * modules/frexp-tests (Files): Likewise.
20026         * modules/frexpl-nolibm-tests (Files): Likewise.
20027         * modules/frexpl-tests (Files): Likewise.
20028         * modules/fseek-tests (Files): Likewise.
20029         * modules/fseeko-tests (Files): Likewise.
20030         * modules/fstrcmp-tests (Files): Likewise.
20031         * modules/fsync-tests (Files): Likewise.
20032         * modules/ftell-tests (Files): Likewise.
20033         * modules/ftello-tests (Files): Likewise.
20034         * modules/func-tests (Files): Likewise.
20035         * modules/futimens-tests (Files): Likewise.
20036         * modules/fwritable-tests (Files): Likewise.
20037         * modules/fwriting-tests (Files): Likewise.
20038         * modules/getcwd-tests (Files): Likewise.
20039         * modules/getdate-tests (Files): Likewise.
20040         * modules/getdelim-tests (Files): Likewise.
20041         * modules/getdtablesize-tests (Files): Likewise.
20042         * modules/getgroups-tests (Files): Likewise.
20043         * modules/getline-tests (Files): Likewise.
20044         * modules/getndelim2-tests (Files): Likewise.
20045         * modules/glob-tests (Files): Likewise.
20046         * modules/hash-tests (Files): Likewise.
20047         * modules/i-ring-tests (Files): Likewise.
20048         * modules/iconv-tests (Files): Likewise.
20049         * modules/iconv_open-utf-tests (Files): Likewise.
20050         * modules/idpriv-drop-tests (Files): Likewise.
20051         * modules/idpriv-droptemp-tests (Files): Likewise.
20052         * modules/inet_ntop-tests (Files): Likewise.
20053         * modules/inet_pton-tests (Files): Likewise.
20054         * modules/isblank-tests (Files): Likewise.
20055         * modules/isfinite-tests (Files): Likewise.
20056         * modules/isinf-tests (Files): Likewise.
20057         * modules/isnan-tests (Files): Likewise.
20058         * modules/isnand-nolibm-tests (Files): Likewise.
20059         * modules/isnand-tests (Files): Likewise.
20060         * modules/isnanf-nolibm-tests (Files): Likewise.
20061         * modules/isnanf-tests (Files): Likewise.
20062         * modules/isnanl-nolibm-tests (Files): Likewise.
20063         * modules/isnanl-tests (Files): Likewise.
20064         * modules/lchown-tests (Files): Likewise.
20065         * modules/ldexpl-tests (Files): Likewise.
20066         * modules/link-tests (Files): Likewise.
20067         * modules/linkat-tests (Files): Likewise.
20068         * modules/linked-list-tests (Files): Likewise.
20069         * modules/linkedhash-list-tests (Files): Likewise.
20070         * modules/localename-tests (Files): Likewise.
20071         * modules/lseek-tests (Files): Likewise.
20072         * modules/lstat-tests (Files): Likewise.
20073         * modules/mbmemcasecmp-tests (Files): Likewise.
20074         * modules/mbmemcasecoll-tests (Files): Likewise.
20075         * modules/mbrtowc-tests (Files): Likewise.
20076         * modules/mbscasecmp-tests (Files): Likewise.
20077         * modules/mbscasestr-tests (Files): Likewise.
20078         * modules/mbschr-tests (Files): Likewise.
20079         * modules/mbscspn-tests (Files): Likewise.
20080         * modules/mbsinit-tests (Files): Likewise.
20081         * modules/mbsncasecmp-tests (Files): Likewise.
20082         * modules/mbsnrtowcs-tests (Files): Likewise.
20083         * modules/mbspbrk-tests (Files): Likewise.
20084         * modules/mbspcasecmp-tests (Files): Likewise.
20085         * modules/mbsrchr-tests (Files): Likewise.
20086         * modules/mbsrtowcs-tests (Files): Likewise.
20087         * modules/mbsspn-tests (Files): Likewise.
20088         * modules/mbsstr-tests (Files): Likewise.
20089         * modules/memchr-tests (Files): Likewise.
20090         * modules/memchr2-tests (Files): Likewise.
20091         * modules/memcmp-tests (Files): Likewise.
20092         * modules/memmem-tests (Files): Likewise.
20093         * modules/memrchr-tests (Files): Likewise.
20094         * modules/mkdir-tests (Files): Likewise.
20095         * modules/mkfifo-tests (Files): Likewise.
20096         * modules/mkfifoat-tests (Files): Likewise.
20097         * modules/mknod-tests (Files): Likewise.
20098         * modules/nanosleep-tests (Files): Likewise.
20099         * modules/nl_langinfo-tests (Files): Likewise.
20100         * modules/obstack-printf-tests (Files): Likewise.
20101         * modules/open-tests (Files): Likewise.
20102         * modules/openat-tests (Files): Likewise.
20103         * modules/pipe-filter-gi-tests (Files): Likewise.
20104         * modules/pipe-filter-ii-tests (Files): Likewise.
20105         * modules/pipe2-tests (Files): Likewise.
20106         * modules/popen-safer-tests (Files): Likewise.
20107         * modules/popen-tests (Files): Likewise.
20108         * modules/posixtm-tests (Files): Likewise.
20109         * modules/pread-tests (Files): Likewise.
20110         * modules/printf-frexp-tests (Files): Likewise.
20111         * modules/printf-frexpl-tests (Files): Likewise.
20112         * modules/printf-posix-tests (Files): Likewise.
20113         * modules/priv-set-tests (Files): Likewise.
20114         * modules/quotearg-tests (Files): Likewise.
20115         * modules/random_r-tests (Files): Likewise.
20116         * modules/rawmemchr-tests (Files): Likewise.
20117         * modules/rbtree-list-tests (Files): Likewise.
20118         * modules/rbtree-oset-tests (Files): Likewise.
20119         * modules/rbtreehash-list-tests (Files): Likewise.
20120         * modules/readlink-tests (Files): Likewise.
20121         * modules/remove-tests (Files): Likewise.
20122         * modules/rename-tests (Files): Likewise.
20123         * modules/renameat-tests (Files): Likewise.
20124         * modules/rmdir-tests (Files): Likewise.
20125         * modules/round-tests (Files): Likewise.
20126         * modules/roundf-tests (Files): Likewise.
20127         * modules/roundl-tests (Files): Likewise.
20128         * modules/safe-alloc-tests (Files): Likewise.
20129         * modules/setenv-tests (Files): Likewise.
20130         * modules/sigaction-tests (Files): Likewise.
20131         * modules/signbit-tests (Files): Likewise.
20132         * modules/sleep-tests (Files): Likewise.
20133         * modules/snprintf-posix-tests (Files): Likewise.
20134         * modules/snprintf-tests (Files): Likewise.
20135         * modules/sprintf-posix-tests (Files): Likewise.
20136         * modules/stat-tests (Files): Likewise.
20137         * modules/stat-time-tests (Files): Likewise.
20138         * modules/strcasestr-tests (Files): Likewise.
20139         * modules/strchrnul-tests (Files): Likewise.
20140         * modules/strerror-tests (Files): Likewise.
20141         * modules/striconv-tests (Files): Likewise.
20142         * modules/striconveh-tests (Files): Likewise.
20143         * modules/striconveha-tests (Files): Likewise.
20144         * modules/strsignal-tests (Files): Likewise.
20145         * modules/strstr-tests (Files): Likewise.
20146         * modules/strtod-tests (Files): Likewise.
20147         * modules/strverscmp-tests (Files): Likewise.
20148         * modules/symlink-tests (Files): Likewise.
20149         * modules/symlinkat-tests (Files): Likewise.
20150         * modules/trunc-tests (Files): Likewise.
20151         * modules/truncf-tests (Files): Likewise.
20152         * modules/truncl-tests (Files): Likewise.
20153         * modules/uname-tests (Files): Likewise.
20154         * modules/unicase/cased-tests (Files): Likewise.
20155         * modules/unicase/ignorable-tests (Files): Likewise.
20156         * modules/unicase/locale-language-tests (Files): Likewise.
20157         * modules/unicase/tolower-tests (Files): Likewise.
20158         * modules/unicase/totitle-tests (Files): Likewise.
20159         * modules/unicase/toupper-tests (Files): Likewise.
20160         * modules/unicase/u8-casecmp-tests (Files): Likewise.
20161         * modules/unicase/u8-casecoll-tests (Files): Likewise.
20162         * modules/unicase/u8-casefold-tests (Files): Likewise.
20163         * modules/unicase/u8-is-cased-tests (Files): Likewise.
20164         * modules/unicase/u8-is-casefolded-tests (Files): Likewise.
20165         * modules/unicase/u8-is-lowercase-tests (Files): Likewise.
20166         * modules/unicase/u8-is-titlecase-tests (Files): Likewise.
20167         * modules/unicase/u8-is-uppercase-tests (Files): Likewise.
20168         * modules/unicase/u8-tolower-tests (Files): Likewise.
20169         * modules/unicase/u8-totitle-tests (Files): Likewise.
20170         * modules/unicase/u8-toupper-tests (Files): Likewise.
20171         * modules/unicase/u16-casecmp-tests (Files): Likewise.
20172         * modules/unicase/u16-casecoll-tests (Files): Likewise.
20173         * modules/unicase/u16-casefold-tests (Files): Likewise.
20174         * modules/unicase/u16-is-cased-tests (Files): Likewise.
20175         * modules/unicase/u16-is-casefolded-tests (Files): Likewise.
20176         * modules/unicase/u16-is-lowercase-tests (Files): Likewise.
20177         * modules/unicase/u16-is-titlecase-tests (Files): Likewise.
20178         * modules/unicase/u16-is-uppercase-tests (Files): Likewise.
20179         * modules/unicase/u16-tolower-tests (Files): Likewise.
20180         * modules/unicase/u16-totitle-tests (Files): Likewise.
20181         * modules/unicase/u16-toupper-tests (Files): Likewise.
20182         * modules/unicase/u32-casecmp-tests (Files): Likewise.
20183         * modules/unicase/u32-casecoll-tests (Files): Likewise.
20184         * modules/unicase/u32-casefold-tests (Files): Likewise.
20185         * modules/unicase/u32-is-cased-tests (Files): Likewise.
20186         * modules/unicase/u32-is-casefolded-tests (Files): Likewise.
20187         * modules/unicase/u32-is-lowercase-tests (Files): Likewise.
20188         * modules/unicase/u32-is-titlecase-tests (Files): Likewise.
20189         * modules/unicase/u32-is-uppercase-tests (Files): Likewise.
20190         * modules/unicase/u32-tolower-tests (Files): Likewise.
20191         * modules/unicase/u32-totitle-tests (Files): Likewise.
20192         * modules/unicase/u32-toupper-tests (Files): Likewise.
20193         * modules/unicase/ulc-casecmp-tests (Files): Likewise.
20194         * modules/unicase/ulc-casecoll-tests (Files): Likewise.
20195         * modules/uniconv/u8-conv-from-enc-tests (Files): Likewise.
20196         * modules/uniconv/u8-conv-to-enc-tests (Files): Likewise.
20197         * modules/uniconv/u8-strconv-from-enc-tests (Files): Likewise.
20198         * modules/uniconv/u8-strconv-to-enc-tests (Files): Likewise.
20199         * modules/uniconv/u16-conv-from-enc-tests (Files): Likewise.
20200         * modules/uniconv/u16-conv-to-enc-tests (Files): Likewise.
20201         * modules/uniconv/u16-strconv-from-enc-tests (Files): Likewise.
20202         * modules/uniconv/u16-strconv-to-enc-tests (Files): Likewise.
20203         * modules/uniconv/u32-conv-from-enc-tests (Files): Likewise.
20204         * modules/uniconv/u32-conv-to-enc-tests (Files): Likewise.
20205         * modules/uniconv/u32-strconv-from-enc-tests (Files): Likewise.
20206         * modules/uniconv/u32-strconv-to-enc-tests (Files): Likewise.
20207         * modules/unictype/bidicategory-byname-tests (Files): Likewise.
20208         * modules/unictype/bidicategory-name-tests (Files): Likewise.
20209         * modules/unictype/bidicategory-of-tests (Files): Likewise.
20210         * modules/unictype/bidicategory-test-tests (Files): Likewise.
20211         * modules/unictype/block-list-tests (Files): Likewise.
20212         * modules/unictype/block-of-tests (Files): Likewise.
20213         * modules/unictype/block-test-tests (Files): Likewise.
20214         * modules/unictype/category-C-tests (Files): Likewise.
20215         * modules/unictype/category-Cc-tests (Files): Likewise.
20216         * modules/unictype/category-Cf-tests (Files): Likewise.
20217         * modules/unictype/category-Cn-tests (Files): Likewise.
20218         * modules/unictype/category-Co-tests (Files): Likewise.
20219         * modules/unictype/category-Cs-tests (Files): Likewise.
20220         * modules/unictype/category-L-tests (Files): Likewise.
20221         * modules/unictype/category-Ll-tests (Files): Likewise.
20222         * modules/unictype/category-Lm-tests (Files): Likewise.
20223         * modules/unictype/category-Lo-tests (Files): Likewise.
20224         * modules/unictype/category-Lt-tests (Files): Likewise.
20225         * modules/unictype/category-Lu-tests (Files): Likewise.
20226         * modules/unictype/category-M-tests (Files): Likewise.
20227         * modules/unictype/category-Mc-tests (Files): Likewise.
20228         * modules/unictype/category-Me-tests (Files): Likewise.
20229         * modules/unictype/category-Mn-tests (Files): Likewise.
20230         * modules/unictype/category-N-tests (Files): Likewise.
20231         * modules/unictype/category-Nd-tests (Files): Likewise.
20232         * modules/unictype/category-Nl-tests (Files): Likewise.
20233         * modules/unictype/category-No-tests (Files): Likewise.
20234         * modules/unictype/category-P-tests (Files): Likewise.
20235         * modules/unictype/category-Pc-tests (Files): Likewise.
20236         * modules/unictype/category-Pd-tests (Files): Likewise.
20237         * modules/unictype/category-Pe-tests (Files): Likewise.
20238         * modules/unictype/category-Pf-tests (Files): Likewise.
20239         * modules/unictype/category-Pi-tests (Files): Likewise.
20240         * modules/unictype/category-Po-tests (Files): Likewise.
20241         * modules/unictype/category-Ps-tests (Files): Likewise.
20242         * modules/unictype/category-S-tests (Files): Likewise.
20243         * modules/unictype/category-Sc-tests (Files): Likewise.
20244         * modules/unictype/category-Sk-tests (Files): Likewise.
20245         * modules/unictype/category-Sm-tests (Files): Likewise.
20246         * modules/unictype/category-So-tests (Files): Likewise.
20247         * modules/unictype/category-Z-tests (Files): Likewise.
20248         * modules/unictype/category-Zl-tests (Files): Likewise.
20249         * modules/unictype/category-Zp-tests (Files): Likewise.
20250         * modules/unictype/category-Zs-tests (Files): Likewise.
20251         * modules/unictype/category-and-not-tests (Files): Likewise.
20252         * modules/unictype/category-and-tests (Files): Likewise.
20253         * modules/unictype/category-byname-tests (Files): Likewise.
20254         * modules/unictype/category-name-tests (Files): Likewise.
20255         * modules/unictype/category-none-tests (Files): Likewise.
20256         * modules/unictype/category-of-tests (Files): Likewise.
20257         * modules/unictype/category-or-tests (Files): Likewise.
20258         * modules/unictype/category-test-withtable-tests (Files): Likewise.
20259         * modules/unictype/combining-class-tests (Files): Likewise.
20260         * modules/unictype/ctype-alnum-tests (Files): Likewise.
20261         * modules/unictype/ctype-alpha-tests (Files): Likewise.
20262         * modules/unictype/ctype-blank-tests (Files): Likewise.
20263         * modules/unictype/ctype-cntrl-tests (Files): Likewise.
20264         * modules/unictype/ctype-digit-tests (Files): Likewise.
20265         * modules/unictype/ctype-graph-tests (Files): Likewise.
20266         * modules/unictype/ctype-lower-tests (Files): Likewise.
20267         * modules/unictype/ctype-print-tests (Files): Likewise.
20268         * modules/unictype/ctype-punct-tests (Files): Likewise.
20269         * modules/unictype/ctype-space-tests (Files): Likewise.
20270         * modules/unictype/ctype-upper-tests (Files): Likewise.
20271         * modules/unictype/ctype-xdigit-tests (Files): Likewise.
20272         * modules/unictype/decimal-digit-tests (Files): Likewise.
20273         * modules/unictype/digit-tests (Files): Likewise.
20274         * modules/unictype/mirror-tests (Files): Likewise.
20275         * modules/unictype/numeric-tests (Files): Likewise.
20276         * modules/unictype/property-alphabetic-tests (Files): Likewise.
20277         * modules/unictype/property-ascii-hex-digit-tests (Files): Likewise.
20278         * modules/unictype/property-bidi-arabic-digit-tests (Files): Likewise.
20279         * modules/unictype/property-bidi-arabic-right-to-left-tests (Files):
20280         Likewise.
20281         * modules/unictype/property-bidi-block-separator-tests (Files):
20282         Likewise.
20283         * modules/unictype/property-bidi-boundary-neutral-tests (Files):
20284         Likewise.
20285         * modules/unictype/property-bidi-common-separator-tests (Files):
20286         Likewise.
20287         * modules/unictype/property-bidi-control-tests (Files): Likewise.
20288         * modules/unictype/property-bidi-embedding-or-override-tests (Files):
20289         Likewise.
20290         * modules/unictype/property-bidi-eur-num-separator-tests (Files):
20291         Likewise.
20292         * modules/unictype/property-bidi-eur-num-terminator-tests (Files):
20293         Likewise.
20294         * modules/unictype/property-bidi-european-digit-tests (Files): Likewise.
20295         * modules/unictype/property-bidi-hebrew-right-to-left-tests (Files):
20296         Likewise.
20297         * modules/unictype/property-bidi-left-to-right-tests (Files): Likewise.
20298         * modules/unictype/property-bidi-non-spacing-mark-tests (Files):
20299         Likewise.
20300         * modules/unictype/property-bidi-other-neutral-tests (Files): Likewise.
20301         * modules/unictype/property-bidi-pdf-tests (Files): Likewise.
20302         * modules/unictype/property-bidi-segment-separator-tests (Files):
20303         Likewise.
20304         * modules/unictype/property-bidi-whitespace-tests (Files): Likewise.
20305         * modules/unictype/property-byname-tests (Files): Likewise.
20306         * modules/unictype/property-combining-tests (Files): Likewise.
20307         * modules/unictype/property-composite-tests (Files): Likewise.
20308         * modules/unictype/property-currency-symbol-tests (Files): Likewise.
20309         * modules/unictype/property-dash-tests (Files): Likewise.
20310         * modules/unictype/property-decimal-digit-tests (Files): Likewise.
20311         * modules/unictype/property-default-ignorable-code-point-tests (Files):
20312         Likewise.
20313         * modules/unictype/property-deprecated-tests (Files): Likewise.
20314         * modules/unictype/property-diacritic-tests (Files): Likewise.
20315         * modules/unictype/property-extender-tests (Files): Likewise.
20316         * modules/unictype/property-format-control-tests (Files): Likewise.
20317         * modules/unictype/property-grapheme-base-tests (Files): Likewise.
20318         * modules/unictype/property-grapheme-extend-tests (Files): Likewise.
20319         * modules/unictype/property-grapheme-link-tests (Files): Likewise.
20320         * modules/unictype/property-hex-digit-tests (Files): Likewise.
20321         * modules/unictype/property-hyphen-tests (Files): Likewise.
20322         * modules/unictype/property-id-continue-tests (Files): Likewise.
20323         * modules/unictype/property-id-start-tests (Files): Likewise.
20324         * modules/unictype/property-ideographic-tests (Files): Likewise.
20325         * modules/unictype/property-ids-binary-operator-tests (Files): Likewise.
20326         * modules/unictype/property-ids-trinary-operator-tests (Files):
20327         Likewise.
20328         * modules/unictype/property-ignorable-control-tests (Files): Likewise.
20329         * modules/unictype/property-iso-control-tests (Files): Likewise.
20330         * modules/unictype/property-join-control-tests (Files): Likewise.
20331         * modules/unictype/property-left-of-pair-tests (Files): Likewise.
20332         * modules/unictype/property-line-separator-tests (Files): Likewise.
20333         * modules/unictype/property-logical-order-exception-tests (Files):
20334         Likewise.
20335         * modules/unictype/property-lowercase-tests (Files): Likewise.
20336         * modules/unictype/property-math-tests (Files): Likewise.
20337         * modules/unictype/property-non-break-tests (Files): Likewise.
20338         * modules/unictype/property-not-a-character-tests (Files): Likewise.
20339         * modules/unictype/property-numeric-tests (Files): Likewise.
20340         * modules/unictype/property-other-alphabetic-tests (Files): Likewise.
20341         * modules/unictype/property-other-default-ignorable-code-point-tests
20342         (Files): Likewise.
20343         * modules/unictype/property-other-grapheme-extend-tests (Files):
20344         Likewise.
20345         * modules/unictype/property-other-id-continue-tests (Files): Likewise.
20346         * modules/unictype/property-other-id-start-tests (Files): Likewise.
20347         * modules/unictype/property-other-lowercase-tests (Files): Likewise.
20348         * modules/unictype/property-other-math-tests (Files): Likewise.
20349         * modules/unictype/property-other-uppercase-tests (Files): Likewise.
20350         * modules/unictype/property-paired-punctuation-tests (Files): Likewise.
20351         * modules/unictype/property-paragraph-separator-tests (Files): Likewise.
20352         * modules/unictype/property-pattern-syntax-tests (Files): Likewise.
20353         * modules/unictype/property-pattern-white-space-tests (Files): Likewise.
20354         * modules/unictype/property-private-use-tests (Files): Likewise.
20355         * modules/unictype/property-punctuation-tests (Files): Likewise.
20356         * modules/unictype/property-quotation-mark-tests (Files): Likewise.
20357         * modules/unictype/property-radical-tests (Files): Likewise.
20358         * modules/unictype/property-sentence-terminal-tests (Files): Likewise.
20359         * modules/unictype/property-soft-dotted-tests (Files): Likewise.
20360         * modules/unictype/property-space-tests (Files): Likewise.
20361         * modules/unictype/property-terminal-punctuation-tests (Files):
20362         Likewise.
20363         * modules/unictype/property-test-tests (Files): Likewise.
20364         * modules/unictype/property-titlecase-tests (Files): Likewise.
20365         * modules/unictype/property-unassigned-code-value-tests (Files):
20366         Likewise.
20367         * modules/unictype/property-unified-ideograph-tests (Files): Likewise.
20368         * modules/unictype/property-uppercase-tests (Files): Likewise.
20369         * modules/unictype/property-variation-selector-tests (Files): Likewise.
20370         * modules/unictype/property-white-space-tests (Files): Likewise.
20371         * modules/unictype/property-xid-continue-tests (Files): Likewise.
20372         * modules/unictype/property-xid-start-tests (Files): Likewise.
20373         * modules/unictype/property-zero-width-tests (Files): Likewise.
20374         * modules/unictype/scripts-tests (Files): Likewise.
20375         * modules/unictype/syntax-c-ident-tests (Files): Likewise.
20376         * modules/unictype/syntax-c-whitespace-tests (Files): Likewise.
20377         * modules/unictype/syntax-java-ident-tests (Files): Likewise.
20378         * modules/unictype/syntax-java-whitespace-tests (Files): Likewise.
20379         * modules/unilbrk/u8-possible-linebreaks-tests (Files): Likewise.
20380         * modules/unilbrk/u8-width-linebreaks-tests (Files): Likewise.
20381         * modules/unilbrk/u16-possible-linebreaks-tests (Files): Likewise.
20382         * modules/unilbrk/u16-width-linebreaks-tests (Files): Likewise.
20383         * modules/unilbrk/u32-possible-linebreaks-tests (Files): Likewise.
20384         * modules/unilbrk/u32-width-linebreaks-tests (Files): Likewise.
20385         * modules/unilbrk/ulc-possible-linebreaks-tests (Files): Likewise.
20386         * modules/unilbrk/ulc-width-linebreaks-tests (Files): Likewise.
20387         * modules/uninorm/canonical-decomposition-tests (Files): Likewise.
20388         * modules/uninorm/compat-decomposition-tests (Files): Likewise.
20389         * modules/uninorm/composition-tests (Files): Likewise.
20390         * modules/uninorm/decomposing-form-tests (Files): Likewise.
20391         * modules/uninorm/decomposition-tests (Files): Likewise.
20392         * modules/uninorm/filter-tests (Files): Likewise.
20393         * modules/uninorm/nfc-tests (Files): Likewise.
20394         * modules/uninorm/nfd-tests (Files): Likewise.
20395         * modules/uninorm/nfkc-tests (Files): Likewise.
20396         * modules/uninorm/nfkd-tests (Files): Likewise.
20397         * modules/uninorm/u8-normcmp-tests (Files): Likewise.
20398         * modules/uninorm/u8-normcoll-tests (Files): Likewise.
20399         * modules/uninorm/u16-normcmp-tests (Files): Likewise.
20400         * modules/uninorm/u16-normcoll-tests (Files): Likewise.
20401         * modules/uninorm/u32-normcmp-tests (Files): Likewise.
20402         * modules/uninorm/u32-normcoll-tests (Files): Likewise.
20403         * modules/unistdio/u8-asnprintf-tests (Files): Likewise.
20404         * modules/unistdio/u8-vasnprintf-tests (Files): Likewise.
20405         * modules/unistdio/u8-vasprintf-tests (Files): Likewise.
20406         * modules/unistdio/u8-vsnprintf-tests (Files): Likewise.
20407         * modules/unistdio/u8-vsprintf-tests (Files): Likewise.
20408         * modules/unistdio/u16-asnprintf-tests (Files): Likewise.
20409         * modules/unistdio/u16-vasnprintf-tests (Files): Likewise.
20410         * modules/unistdio/u16-vasprintf-tests (Files): Likewise.
20411         * modules/unistdio/u16-vsnprintf-tests (Files): Likewise.
20412         * modules/unistdio/u16-vsprintf-tests (Files): Likewise.
20413         * modules/unistdio/u32-asnprintf-tests (Files): Likewise.
20414         * modules/unistdio/u32-vasnprintf-tests (Files): Likewise.
20415         * modules/unistdio/u32-vasprintf-tests (Files): Likewise.
20416         * modules/unistdio/u32-vsnprintf-tests (Files): Likewise.
20417         * modules/unistdio/u32-vsprintf-tests (Files): Likewise.
20418         * modules/unistdio/ulc-asnprintf-tests (Files): Likewise.
20419         * modules/unistdio/ulc-vasnprintf-tests (Files): Likewise.
20420         * modules/unistdio/ulc-vasprintf-tests (Files): Likewise.
20421         * modules/unistdio/ulc-vsnprintf-tests (Files): Likewise.
20422         * modules/unistdio/ulc-vsprintf-tests (Files): Likewise.
20423         * modules/uniwbrk/u8-wordbreaks-tests (Files): Likewise.
20424         * modules/uniwbrk/u16-wordbreaks-tests (Files): Likewise.
20425         * modules/uniwbrk/u32-wordbreaks-tests (Files): Likewise.
20426         * modules/uniwbrk/ulc-wordbreaks-tests (Files): Likewise.
20427         * modules/uniwidth/u8-strwidth-tests (Files): Likewise.
20428         * modules/uniwidth/u8-width-tests (Files): Likewise.
20429         * modules/uniwidth/u16-strwidth-tests (Files): Likewise.
20430         * modules/uniwidth/u16-width-tests (Files): Likewise.
20431         * modules/uniwidth/u32-strwidth-tests (Files): Likewise.
20432         * modules/uniwidth/u32-width-tests (Files): Likewise.
20433         * modules/uniwidth/width-tests (Files): Likewise.
20434         * modules/unlink-tests (Files): Likewise.
20435         * modules/unsetenv-tests (Files): Likewise.
20436         * modules/usleep-tests (Files): Likewise.
20437         * modules/utimens-tests (Files): Likewise.
20438         * modules/utimensat-tests (Files): Likewise.
20439         * modules/vasnprintf-posix-tests (Files): Likewise.
20440         * modules/vasnprintf-tests (Files): Likewise.
20441         * modules/vasprintf-posix-tests (Files): Likewise.
20442         * modules/vasprintf-tests (Files): Likewise.
20443         * modules/vdprintf-posix-tests (Files): Likewise.
20444         * modules/vfprintf-posix-tests (Files): Likewise.
20445         * modules/vprintf-posix-tests (Files): Likewise.
20446         * modules/vsnprintf-posix-tests (Files): Likewise.
20447         * modules/vsnprintf-tests (Files): Likewise.
20448         * modules/vsprintf-posix-tests (Files): Likewise.
20449         * modules/wcrtomb-tests (Files): Likewise.
20450         * modules/wcsnrtombs-tests (Files): Likewise.
20451         * modules/wcsrtombs-tests (Files): Likewise.
20452         * modules/wctype-tests (Files): Likewise.
20453         * modules/wcwidth-tests (Files): Likewise.
20454         * modules/xmemdup0-tests (Files): Likewise.
20455         * modules/xprintf-posix-tests (Files): Likewise.
20456         * modules/xvasprintf-tests (Files): Likewise.
20457
20458 2009-12-24  Eric Blake  <ebb9@byu.net>
20459
20460         test-nanosleep: fix typo
20461         * tests/test-nanosleep.c (SIGNATURE_CHECK): Fix typo in previous
20462         patch.
20463         Reported by Bruno Haible.
20464
20465 2009-12-24  Bruno Haible  <bruno@clisp.org>
20466
20467         Reduce namespace pollution on glibc systems.
20468         * lib/inttypes.in.h: Don't include <stdint.h> on glibc systems.
20469         * lib/stdlib.in.h: Don't include <stdint.h>, <unistd.h> on glibc
20470         systems.
20471         * lib/unistd.in.h: Don't include <stdio.h>, <fcntl.h>, <stdlib.h>,
20472         <getopt.h> on glibc systems.
20473         * lib/fcntl.in.h: Don't include <sys/stat.h>, <unistd.h> on glibc
20474         systems.
20475         * lib/fcntl.c: Include <unistd.h> here instead.
20476
20477 2009-12-24  Bruno Haible  <bruno@clisp.org>
20478
20479         * lib/stdlib.in.h (includes): Fix typo in today's commit.
20480
20481 2009-12-24  Eric Blake  <ebb9@byu.net>
20482
20483         tests: add signature checks
20484         * tests/signature.h (SIGNATURE_CHECK): New file.
20485         * modules/atexit-tests (Files): Use it.
20486         * modules/btowc-tests (Files): Likewise.
20487         * modules/canonicalize-lgpl-tests (Files): Likewise.
20488         * modules/ceilf-tests (Files): Likewise.
20489         * modules/ceill-tests (Files): Likewise.
20490         * modules/chown-tests (Files): Likewise.
20491         * modules/dprintf-posix-tests (Files): Likewise.
20492         * modules/dup2-tests (Files): Likewise.
20493         * modules/dup3-tests (Files): Likewise.
20494         * modules/duplocale-tests (Files): Likewise.
20495         * modules/fchdir-tests (Files): Likewise.
20496         * modules/fcntl-tests (Files): Likewise.
20497         * modules/fdopendir-tests (Files): Likewise.
20498         * modules/fflush-tests (Files): Likewise.
20499         * modules/flock-tests (Files): Likewise.
20500         * modules/floorf-tests (Files): Likewise.
20501         * modules/floorl-tests (Files): Likewise.
20502         * modules/fnmatch-tests (Files): Likewise.
20503         * modules/fopen-tests (Files): Likewise.
20504         * modules/fprintf-posix-tests (Files): Likewise.
20505         * modules/freopen-tests (Files): Likewise.
20506         * modules/frexp-nolibm-tests (Files): Likewise.
20507         * modules/frexp-tests (Files): Likewise.
20508         * modules/frexpl-nolibm-tests (Files): Likewise.
20509         * modules/frexpl-tests (Files): Likewise.
20510         * modules/fseek-tests (Files): Likewise.
20511         * modules/fseeko-tests (Files): Likewise.
20512         * modules/fsync-tests (Files): Likewise.
20513         * modules/ftell-tests (Files): Likewise.
20514         * modules/ftello-tests (Files): Likewise.
20515         * modules/futimens-tests (Files): Likewise.
20516         * modules/getaddrinfo-tests (Files): Likewise.
20517         * modules/getcwd-tests (Files): Likewise.
20518         * modules/getdelim-tests (Files): Likewise.
20519         * modules/getdtablesize-tests (Files): Likewise.
20520         * modules/getgroups-tests (Files): Likewise.
20521         * modules/gethostname-tests (Files): Likewise.
20522         * modules/getline-tests (Files): Likewise.
20523         * modules/getopt-posix-tests (Files): Likewise.
20524         * modules/gettimeofday-tests (Files): Likewise.
20525         * modules/glob-tests (Files): Likewise.
20526         * modules/iconv-tests (Files): Likewise.
20527         * modules/inet_ntop-tests (Files): Likewise.
20528         * modules/inet_pton-tests (Files): Likewise.
20529         * modules/isblank-tests (Files): Likewise.
20530         * modules/lchown-tests (Files): Likewise.
20531         * modules/ldexpl-tests (Files): Likewise.
20532         * modules/link-tests (Files): Likewise.
20533         * modules/linkat-tests (Files): Likewise.
20534         * modules/lseek-tests (Files): Likewise.
20535         * modules/lstat-tests (Files): Likewise.
20536         * modules/mbrtowc-tests (Files): Likewise.
20537         * modules/mbsinit-tests (Files): Likewise.
20538         * modules/mbsnrtowcs-tests (Files): Likewise.
20539         * modules/mbsrtowcs-tests (Files): Likewise.
20540         * modules/memchr-tests (Files): Likewise.
20541         * modules/memcmp-tests (Files): Likewise.
20542         * modules/memmem-tests (Files): Likewise.
20543         * modules/memrchr-tests (Files): Likewise.
20544         * modules/mkdir-tests (Files): Likewise.
20545         * modules/mkfifo-tests (Files): Likewise.
20546         * modules/mkfifoat-tests (Files): Likewise.
20547         * modules/mknod-tests (Files): Likewise.
20548         * modules/nanosleep-tests (Files): Likewise.
20549         * modules/nl_langinfo-tests (Files): Likewise.
20550         * modules/obstack-printf-tests (Files): Likewise.
20551         * modules/open-tests (Files): Likewise.
20552         * modules/openat-tests (Files): Likewise.
20553         * modules/perror-tests (Files): Likewise.
20554         * modules/pipe2-tests (Files): Likewise.
20555         * modules/poll-tests (Files): Likewise.
20556         * modules/popen-tests (Files): Likewise.
20557         * modules/posix_spawn-tests (Files): Likewise.
20558         * modules/posix_spawnp-tests (Files): Likewise.
20559         * modules/pread-tests (Files): Likewise.
20560         * modules/printf-posix-tests (Files): Likewise.
20561         * modules/pty-tests (Files): Likewise.
20562         * modules/random_r-tests (Files): Likewise.
20563         * modules/rawmemchr-tests (Files): Likewise.
20564         * modules/readlink-tests (Files): Likewise.
20565         * modules/remove-tests (Files): Likewise.
20566         * modules/rename-tests (Files): Likewise.
20567         * modules/renameat-tests (Files): Likewise.
20568         * modules/rmdir-tests (Files): Likewise.
20569         * modules/round-tests (Files): Likewise.
20570         * modules/roundf-tests (Files): Likewise.
20571         * modules/roundl-tests (Files): Likewise.
20572         * modules/select-tests (Files): Likewise.
20573         * modules/setenv-tests (Files): Likewise.
20574         * modules/sigaction-tests (Files): Likewise.
20575         * modules/sleep-tests (Files): Likewise.
20576         * modules/snprintf-posix-tests (Files): Likewise.
20577         * modules/snprintf-tests (Files): Likewise.
20578         * modules/sprintf-posix-tests (Files): Likewise.
20579         * modules/stat-tests (Files): Likewise.
20580         * modules/strcasestr-tests (Files): Likewise.
20581         * modules/strchrnul-tests (Files): Likewise.
20582         * modules/strerror-tests (Files): Likewise.
20583         * modules/strsignal-tests (Files): Likewise.
20584         * modules/strstr-tests (Files): Likewise.
20585         * modules/strtod-tests (Files): Likewise.
20586         * modules/strverscmp-tests (Files): Likewise.
20587         * modules/symlink-tests (Files): Likewise.
20588         * modules/symlinkat-tests (Files): Likewise.
20589         * modules/times-tests (Files): Likewise.
20590         * modules/trunc-tests (Files): Likewise.
20591         * modules/truncf-tests (Files): Likewise.
20592         * modules/truncl-tests (Files): Likewise.
20593         * modules/tsearch-tests (Files): Likewise.
20594         * modules/uname-tests (Files): Likewise.
20595         * modules/unlink-tests (Files): Likewise.
20596         * modules/unsetenv-tests (Files): Likewise.
20597         * modules/usleep-tests (Files): Likewise.
20598         * modules/utimensat-tests (Files): Likewise.
20599         * modules/vasprintf-tests (Files): Likewise.
20600         * modules/vdprintf-posix-tests (Files): Likewise.
20601         * modules/vfprintf-posix-tests (Files): Likewise.
20602         * modules/vprintf-posix-tests (Files): Likewise.
20603         * modules/vsnprintf-posix-tests (Files): Likewise.
20604         * modules/vsnprintf-tests (Files): Likewise.
20605         * modules/vsprintf-posix-tests (Files): Likewise.
20606         * modules/wcrtomb-tests (Files): Likewise.
20607         * modules/wcsnrtombs-tests (Files): Likewise.
20608         * modules/wcsrtombs-tests (Files): Likewise.
20609         * modules/wcwidth-tests (Files): Likewise.
20610         * tests/test-isfinite.c (isfinite): Ensure macro declaration.
20611         * tests/test-isinf.c (isinf): Likewise.
20612         * tests/test-isnan.c (isnan): Likewise.
20613         * tests/test-signbit.c (signbit): Likewise.
20614         * tests/test-select.c (FD_CLR, FD_ISSET, FD_SET, FD_ZERO): Ensure
20615         declaration, either as macro or with correct signature.
20616         (select): Ensure function under test is declared with correct
20617         signature in correct header.
20618         * tests/test-atexit.c (atexit): Likewise.
20619         * tests/test-btowc.c (btowc): Likewise.
20620         * tests/test-canonicalize-lgpl.c (realpath)
20621         (canonicalize_file_name): Likewise.
20622         * tests/test-ceilf1.c (ceilf): Likewise.
20623         * tests/test-ceill.c (ceill): Likewise.
20624         * tests/test-chown.c (chown): Likewise.
20625         * tests/test-dprintf-posix.c (dprintf): Likewise.
20626         * tests/test-dup2.c (dup2): Likewise.
20627         * tests/test-dup3.c (dup3): Likewise.
20628         * tests/test-duplocale.c (duplocale): Likewise.
20629         * tests/test-fchdir.c (fchdir): Likewise.
20630         * tests/test-fchownat.c (fchownat): Likewise.
20631         * tests/test-fcntl.c (fcntl): Likewise.
20632         * tests/test-fdopendir.c (fdopendir): Likewise.
20633         * tests/test-fflush.c (fflush): Likewise.
20634         * tests/test-flock.c (flock): Likewise.
20635         * tests/test-floorf1.c (floorf): Likewise.
20636         * tests/test-floorl.c (floorl): Likewise.
20637         * tests/test-fnmatch.c (fnmatch): Likewise.
20638         * tests/test-fopen.c (fopen): Likewise.
20639         * tests/test-fprintf-posix.c (fprintf): Likewise.
20640         * tests/test-freopen.c (freopen): Likewise.
20641         * tests/test-frexp.c (frexp): Likewise.
20642         * tests/test-frexpl.c (frexpl): Likewise.
20643         * tests/test-fseek.c (fseek): Likewise.
20644         * tests/test-fseeko.c (fseeko): Likewise.
20645         * tests/test-fstatat.c (fstatat): Likewise.
20646         * tests/test-fsync.c (fsync): Likewise.
20647         * tests/test-ftell.c (ftell): Likewise.
20648         * tests/test-ftello.c (ftello): Likewise.
20649         * tests/test-futimens.c (futimens): Likewise.
20650         * tests/test-getaddrinfo.c (getaddrinfo, freeaddrinfo)
20651         (gai_strerror): Likewise.
20652         * tests/test-getcwd.c (getcwd): Likewise.
20653         * tests/test-getdelim.c (getdelim): Likewise.
20654         * tests/test-getdtablesize.c (getdtablesize): Likewise.
20655         * tests/test-getgroups.c (getgroups): Likewise.
20656         * tests/test-gethostname.c (gethostname): Likewise.
20657         * tests/test-getline.c (getline): Likewise.
20658         * tests/test-getopt.c (getopt, getopt_long, getopt_long_only):
20659         Likewise.
20660         * tests/test-gettimeofday.c (gettimeofday): Likewise.
20661         * tests/test-glob.c (glob, globfree): Likewise.
20662         * tests/test-iconv.c (iconv, iconv_open, iconv_close): Likewise.
20663         * tests/test-inet_ntop.c (inet_ntop): Likewise.
20664         * tests/test-inet_pton.c (inet_pton): Likewise.
20665         * tests/test-isblank.c (isblank): Likewise.
20666         * tests/test-lchown.c (lchown): Likewise.
20667         * tests/test-ldexpl.c (ldexpl): Likewise.
20668         * tests/test-link.c (link): Likewise.
20669         * tests/test-linkat.c (linkat): Likewise.
20670         * tests/test-lseek.c (lseek): Likewise.
20671         * tests/test-lstat.c (lstat): Likewise.
20672         * tests/test-mbrtowc.c (mbrtowc): Likewise.
20673         * tests/test-mbsinit.c (mbsinit): Likewise.
20674         * tests/test-mbsnrtowcs.c (mbsnrtowcs): Likewise.
20675         * tests/test-mbsrtowcs.c (mbsrtowcs): Likewise.
20676         * tests/test-memchr.c (memchr): Likewise.
20677         * tests/test-memcmp.c (memcmp): Likewise.
20678         * tests/test-memmem.c (memmem): Likewise.
20679         * tests/test-memrchr.c (memrchr): Likewise.
20680         * tests/test-mkdir.c (mkdir): Likewise.
20681         * tests/test-mkdirat.c (mkdirat): Likewise.
20682         * tests/test-mkfifo.c (mkfifo): Likewise.
20683         * tests/test-mkfifoat.c (mkfifoat, mknodat): Likewise.
20684         * tests/test-mknod.c (mknod): Likewise.
20685         * tests/test-nanosleep.c (nanosleep): Likewise.
20686         * tests/test-nl_langinfo.c (nl_langinfo): Likewise.
20687         * tests/test-obstack-printf.c (obstack_printf, obstack_vprintf):
20688         Likewise.
20689         * tests/test-open.c (open): Likewise.
20690         * tests/test-openat.c (openat): Likewise.
20691         * tests/test-perror.c (perror): Likewise.
20692         * tests/test-pipe2.c (pipe2): Likewise.
20693         * tests/test-poll.c (poll): Likewise.
20694         * tests/test-popen.c (popen, pclose): Likewise.
20695         * tests/test-posix_spawn1.c (posix_spawnp, posix_spawnattr_init)
20696         (posix_spawnattr_destroy, posix_spawnattr_setsigmask)
20697         (posix_spawnattr_setflags, posix_spawn_file_actions_init)
20698         (posix_spawn_file_actions_destroy)
20699         (posix_spawn_file_actions_addclose)
20700         (posix_spawn_file_actions_addopen)
20701         (posix_spawn_file_actions_adddup2): Likewise.
20702         * tests/test-posix_spawn3.c (posix_spawn): Likewise.
20703         * tests/test-pread.c (pread): Likewise.
20704         * tests/test-printf-posix.c (printf): Likewise.
20705         * tests/test-pty.c (openpty, forkpty): Likewise.
20706         * tests/test-random_r.c (srandom_r, initstate_r, setstate_r)
20707         (random_r): Likewise.
20708         * tests/test-rawmemchr.c (rawmemchr): Likewise.
20709         * tests/test-readlink.c (readlink): Likewise.
20710         * tests/test-remove.c (remove): Likewise.
20711         * tests/test-rename.c (rename): Likewise.
20712         * tests/test-renameat.c (renameat): Likewise.
20713         * tests/test-rmdir.c (rmdir): Likewise.
20714         * tests/test-round1.c (round): Likewise.
20715         * tests/test-roundf1.c (roundf): Likewise.
20716         * tests/test-roundl.c (roundl): Likewise.
20717         * tests/test-setenv.c (setenv): Likewise.
20718         * tests/test-sigaction.c (sigaction): Likewise.
20719         * tests/test-sleep.c (sleep): Likewise.
20720         * tests/test-snprintf.c (snprintf): Likewise.
20721         * tests/test-sprintf-posix.c (sprintf): Likewise.
20722         * tests/test-stat.c (stat): Likewise.
20723         * tests/test-stpncpy.c (stpncpy): Likewise.
20724         * tests/test-strcasestr.c (strcasestr): Likewise.
20725         * tests/test-strchrnul.c (strchrnul): Likewise.
20726         * tests/test-strerror.c (strerror): Likewise.
20727         * tests/test-strsignal.c (strsignal): Likewise.
20728         * tests/test-strstr.c (strstr): Likewise.
20729         * tests/test-strtod.c (strtod): Likewise.
20730         * tests/test-strverscmp.c (strverscmp): Likewise.
20731         * tests/test-symlink.c (symlink): Likewise.
20732         * tests/test-symlinkat.c (symlinkat, readlinkat): Likewise.
20733         * tests/test-times.c (times): Likewise.
20734         * tests/test-trunc1.c (trunc): Likewise.
20735         * tests/test-truncf1.c (truncf): Likewise.
20736         * tests/test-truncl.c (truncl): Likewise.
20737         * tests/test-tsearch.c (tdelete, tfind, tsearch, twalk):
20738         Likewise.
20739         * tests/test-uname.c (uname): Likewise.
20740         * tests/test-unlink.c (unlink): Likewise.
20741         * tests/test-unlinkat.c (unlinkat): Likewise.
20742         * tests/test-unsetenv.c (unsetenv): Likewise.
20743         * tests/test-usleep.c (usleep): Likewise.
20744         * tests/test-utimensat.c (utimensat): Likewise.
20745         * tests/test-vasprintf.c (asprintf, vasprintf): Likewise.
20746         * tests/test-vdprintf-posix.c (vdprintf): Likewise.
20747         * tests/test-vfprintf-posix.c (vfprintf): Likewise.
20748         * tests/test-vprintf-posix.c (vprintf): Likewise.
20749         * tests/test-vsnprintf.c (vsnprintf): Likewise.
20750         * tests/test-vsprintf-posix.c (vsprintf): Likewise.
20751         * tests/test-wcrtomb.c (wcrtomb): Likewise.
20752         * tests/test-wcsnrtombs.c (wcsnrtombs): Likewise.
20753         * tests/test-wcsrtombs.c (wcsrtombs): Likewise.
20754         * tests/test-wcwidth.c (wcwidth): Likewise.
20755
20756         build: pull in conditional headers during GNULIB_POSIXCHECK
20757         * lib/stdio.in.h (includes): Using GNULIB_POSIXCHECK also requires
20758         definitions from any conditionally-included headers.
20759         * lib/stdlib.in.h (includes): Likewise.
20760         * lib/unistd.in.h (includes): Likewise.
20761
20762 2009-12-24  Bruno Haible  <bruno@clisp.org>
20763
20764         * tests/test-argv-iter.c: Include header file being tested immediately
20765         after config.h.
20766         * tests/test-base64.c: Likewise.
20767         * tests/test-flock.c: Likewise.
20768         * tests/test-fsync.c: Likewise.
20769         * tests/test-getdate.c: Likewise.
20770         * tests/test-getndelim2.c: Likewise.
20771         * tests/test-isfinite.c: Likewise.
20772         * tests/test-isinf.c: Likewise.
20773         * tests/test-strerror.c: Likewise.
20774         * tests/test-strsignal.c: Likewise.
20775
20776 2009-12-23  Eric Blake  <ebb9@byu.net>
20777
20778         unistd: work around cygwin bug
20779         * lib/unistd.in.h (includes): Pick up headers needed for cygwin.
20780         * doc/posix-functions/unlinkat.texi (unlinkat): Document the bug.
20781         * doc/posix-functions/symlinkat.texi (symlinkat): Likewise.
20782
20783 2009-12-23  Bruno Haible  <bruno@clisp.org>
20784
20785         localename: More tests.
20786         * tests/test-localename.c (SIZEOF): New macro.
20787         (categories): New variable.
20788         (test_locale_name, test_locale_name_posix, test_locale_name_environ,
20789         test_locale_name_default): Add test w.r.t. thread locale.
20790         (test_locale_name_thread): New function.
20791         (main): Invoke it.
20792
20793         localename: Make aware of thread locale.
20794         * lib/localename.h (gl_locale_name_thread): New declaration.
20795         (gl_locale_name, gl_locale_name_posix, gl_locale_name_default): Clarify
20796         behaviour with respect to thread locale.
20797         * lib/localename.c: Include <limits.h>, <stddef.h>, <xlocale.h>,
20798         <langinfo.h>, glthread/lock.h.
20799         (SIZE_BITS): New macro.
20800         (string_hash): New function.
20801         (struct hash_node): New type.
20802         (HASH_TABLE_SIZE): New macro.
20803         (struniq_hash_table, struniq_lock): New variables.
20804         (struniq): New function.
20805         (gl_locale_name_thread): New function.
20806         (gl_locale_name): Invoke it.
20807         * m4/localename.m4 (gl_LOCALENAME): Test for uselocale function.
20808         * modules/localename (Depends-on): Add lock.
20809         Reported by Mike Gran <spk121@yahoo.com>.
20810
20811 2009-12-23  Eric Blake  <ebb9@byu.net>
20812
20813         va-args: new module
20814         * modules/va-args: New file.
20815         * m4/va-args.m4 (gl_VA_ARGS): Likewise.
20816         * MODULES.html.sh (Core language properties): Mention it.
20817
20818         gnulib-common: prefer _GL_UNUSED over _UNUSED_PARAMETER_
20819         * m4/gnulib-common.m4 (gl_COMMON): Create a more-appropriately
20820         named alias for __attribute__((__unused__)).
20821         * lib/chown.c: Update client.
20822         * lib/fchmodat.c: Likewise.
20823         * lib/fts.c: Likewise.
20824         * lib/getdate.y: Likewise.
20825         * lib/getgroups.c: Likewise.
20826         * lib/getopt.c: Likewise.
20827         * lib/getugroups.c: Likewise.
20828         * lib/mkdir.c: Likewise.
20829         * lib/mkfifo.c: Likewise.
20830         * lib/mkfifoat.c: Likewise.
20831         * lib/mknod.c: Likewise.
20832         * lib/mknodat.c: Likewise.
20833         * lib/readlink.c: Likewise.
20834         * lib/se-context.in.h: Likewise.
20835         * lib/se-selinux.in.h: Likewise.
20836         * lib/sockets.c: Likewise.
20837         * lib/symlink.c: Likewise.
20838         * lib/symlinkat.c: Likewise.
20839         * lib/unicodeio.c: Likewise.
20840         * lib/unistr.h: Likewise.
20841         * tests/test-areadlink.c: Likewise.
20842         * tests/test-areadlinkat.c: Likewise.
20843         * tests/test-filenamecat.c: Likewise.
20844         * tests/test-fseeko.c: Likewise.
20845         * tests/test-ftello.c: Likewise.
20846         * tests/test-getdate.c: Likewise.
20847         * tests/test-getgroups.c: Likewise.
20848         * tests/test-gethostname.c: Likewise.
20849         * tests/test-quotearg.c: Likewise.
20850         * tests/test-version-etc.c: Likewise.
20851         * tests/test-xalloc-die.c: Likewise.
20852         * tests/test-xfprintf-posix.c: Likewise.
20853         * tests/test-xprintf-posix.c: Likewise.
20854         * tests/test-xvasprintf.c: Likewise.
20855
20856         tests: avoid compiler warnings
20857         * tests/test-fcntl.c (main): Delete unused parameters.
20858         * tests/test-freopen-safer.c (main): Likewise.
20859         * tests/test-xalloc-die.c (main): Mark unused parameters.
20860         * tests/test-fseeko.c (main): Likewise.
20861         * tests/test-ftello.c (main): Likewise.
20862         * tests/test-nanosleep.c (main): Avoid declaration warning.
20863         * tests/test-sleep.c (main): Likewise.
20864         * tests/test-unsetenv.c (main): Silence warning about string
20865         literal.
20866         * m4/setenv.m4 (gl_FUNC_UNSETENV): Likewise.
20867
20868 2009-12-23  Bruno Haible  <bruno@clisp.org>
20869
20870         * tests/test-localename.c (test_locale_name): New function, extracted
20871         from main. Also test mixed situations.
20872         (test_locale_name_posix, test_locale_name_environ,
20873         test_locale_name_default): New functions.
20874         (main): Invoke them all.
20875         * modules/localename-tests (configure.ac): Test for newlocale.
20876
20877 2009-12-23  Bruno Haible  <bruno@clisp.org>
20878
20879         unistd: Ensure getcwd gets declared before being overridden.
20880         * lib/unistd.in.h: Conditionally include <io.h>.
20881
20882 2009-12-22  Bruno Haible  <bruno@clisp.org>
20883
20884         wchar: Diagnose broken combination of glibc and gcc versions and flags.
20885         * m4/wchar.m4 (gl_WCHAR_H_INLINE_OK): New macro.
20886         (gl_WCHAR_H): Invoke it.
20887         * m4/btowc.m4 (gl_FUNC_BTOWC): Require it.
20888         * doc/posix-headers/wchar.texi: Mention the interoperability problem.
20889         Reported by Karl Berry <karl@freefriends.org>.
20890
20891 2009-12-22  Eric Blake  <ebb9@byu.net>
20892
20893         math, unistd: avoid redundant includes
20894         * lib/math.in.h (isnan): No need to re-include <math.h>.
20895         * lib/unistd.in.h (getcwd): Likewise, for <stdlib.h>.
20896
20897         getsubopt: work around cygwin bug
20898         * lib/stdlib.in.h (includes): Move unistd inclusion sooner, to
20899         avoid conflicting with system getsubopt.
20900         * doc/posix-functions/getsubopt.texi (getsubopt): Document the
20901         bug.
20902
20903         getopt: synchronize from glibc
20904         * lib/getopt.c (_getopt_initialize, _getopt_internal_r): Swap
20905         parameter order.  Adjust all callers.
20906         (_getopt_internal_r, main): Adjust quoting in error messages.
20907         Drop considerations for outdated POSIX 1003.2 error message.
20908         * lib/getopt1.c (_getopt_long_r, _getopt_long_only_r): Adjust
20909         callers.
20910         * lib/getopt_int.h (_getopt_internal_r): Adjust prototype.
20911
20912         test-getopt: test stderr behavior
20913         * modules/getopt-posix-tests (Depends-on): Add dup2.
20914         * tests/test-getopt.c (ASSERT): Avoid stderr.
20915         (main): Move stderr to a temporary file.
20916         * tests/test-getopt.h (getopt_loop): No longer manipulate opterr.
20917         Instead, add parameter to inform caller if output occurred.
20918         (test_getopt): Adjust all existing tests to expect silence, and
20919         add new tests of leading ":".
20920         * doc/glibc-functions/getopt_long.texi (getopt_long): Document
20921         glibc shortcomings with leading "-:" or "+:" in optstring.
20922         * doc/glibc-functions/getopt_long_only.texi (getopt_long_only):
20923         Likewise.
20924         * doc/posix-functions/getopt.texi (getopt): Likewise.
20925
20926         test-getopt: enhance test
20927         * m4/getopt.m4 (gl_GETOPT_CHECK_HEADERS): Require that getopt_long
20928         supports optind=0.
20929         * tests/test-getopt.c (OPTIND_MIN): Move...
20930         * tests/test-getopt.h (OPTIND_MIN): ...here.
20931         * tests/test-getopt_long.h (test_getopt_long): Add more coverage.
20932         Require that optind=0 works, since modern BSD supports it in
20933         addition to optreset, and since coreutils expects it.
20934         (test_getopt_long_only): New test.
20935         * doc/glibc-functions/getopt_long.texi (getopt_long): Document
20936         glibc shortcomings with 'W;', and enforcement of optind=0.
20937         * doc/glibc-functions/getopt_long_only.texi (getopt_long_only):
20938         Likewise.
20939
20940 2009-12-21  Bruno Haible  <bruno@clisp.org>
20941
20942         localename: Improvements for MacOS X and Cygwin.
20943         * lib/localename.h (gl_locale_name_environ): New declaration.
20944         * lib/localename.c (gl_locale_name_environ): New function, extracted from
20945         gl_locale_name_posix. Ignore dummy LANG values on MacOS X and Cygwin.
20946         (gl_locale_name_posix): Invoke it.
20947         (gl_locale_name_default): Add comments. Use Windows native API also on
20948         Cygwin.
20949
20950 2009-12-21  Bruno Haible  <bruno@clisp.org>
20951
20952         Update list of Win32 locale ids.
20953         * lib/localename.c (LANG_ROMANSH): Renamed from LANG_RHAETO_ROMANCE.
20954         (LANG_SAMI): Renamed from LANG_SAAMI.
20955         (LANG_BASHKIR, LANG_LUXEMBOURGISH, LANG_GREENLANDIC,
20956         LANG_MAPUDUNGUN, LANG_MOHAWK, LANG_BRETON, LANG_OCCITAN, LANG_CORSICAN,
20957         LANG_ALSATIAN, LANG_YAKUT, LANG_KICHE, LANG_KINYARWANDA, LANG_WOLOF,
20958         LANG_DARI, LANG_SCOTTISH_GAELIC): New macros.
20959         (SUBLANG_AFRIKAANS_SOUTH_AFRICA, SUBLANG_ALBANIAN_ALBANIA,
20960         SUBLANG_ALSATIAN_FRANCE, SUBLANG_AMHARIC_ETHIOPIA,
20961         SUBLANG_ARMENIAN_ARMENIA, SUBLANG_ASSAMESE_INDIA,
20962         SUBLANG_BASHKIR_RUSSIA, SUBLANG_BASQUE_BASQUE,
20963         SUBLANG_BELARUSIAN_BELARUS, SUBLANG_BRETON_FRANCE,
20964         SUBLANG_BULGARIAN_BULGARIA, SUBLANG_CAMBODIAN_CAMBODIA,
20965         SUBLANG_CATALAN_SPAIN, SUBLANG_CORSICAN_FRANCE,
20966         SUBLANG_CZECH_CZECH_REPUBLIC, SUBLANG_DANISH_DENMARK,
20967         SUBLANG_DARI_AFGHANISTAN, SUBLANG_DIVEHI_MALDIVES,
20968         SUBLANG_DUTCH_SURINAM, SUBLANG_ESTONIAN_ESTONIA,
20969         SUBLANG_FAEROESE_FAROE_ISLANDS, SUBLANG_FARSI_IRAN,
20970         SUBLANG_FINNISH_FINLAND, SUBLANG_FRISIAN_NETHERLANDS,
20971         SUBLANG_GALICIAN_SPAIN, SUBLANG_GEORGIAN_GEORGIA,
20972         SUBLANG_GREEK_GREECE, SUBLANG_GREENLANDIC_GREENLAND,
20973         SUBLANG_GUJARATI_INDIA, SUBLANG_HAUSA_NIGERIA_LATIN,
20974         SUBLANG_HEBREW_ISRAEL, SUBLANG_HINDI_INDIA, SUBLANG_HUNGARIAN_HUNGARY,
20975         SUBLANG_ICELANDIC_ICELAND, SUBLANG_IGBO_NIGERIA,
20976         SUBLANG_INDONESIAN_INDONESIA, SUBLANG_INUKTITUT_CANADA,
20977         SUBLANG_INUKTITUT_CANADA_LATIN, SUBLANG_IRISH_IRELAND,
20978         SUBLANG_JAPANESE_JAPAN, SUBLANG_KANNADA_INDIA,
20979         SUBLANG_KAZAK_KAZAKHSTAN, SUBLANG_KICHE_GUATEMALA,
20980         SUBLANG_KINYARWANDA_RWANDA, SUBLANG_KONKANI_INDIA,
20981         SUBLANG_KYRGYZ_KYRGYZSTAN, SUBLANG_LAO_LAOS, SUBLANG_LATVIAN_LATVIA,
20982         SUBLANG_LITHUANIAN_LITHUANIA, SUBLANG_LOWER_SORBIAN_GERMANY,
20983         SUBLANG_LUXEMBOURGISH_LUXEMBOURG, SUBLANG_MACEDONIAN_MACEDONIA,
20984         SUBLANG_MALAYALAM_INDIA, SUBLANG_MALTESE_MALTA,
20985         SUBLANG_MAORI_NEW_ZEALAND, SUBLANG_MAPUDUNGUN_CHILE,
20986         SUBLANG_MARATHI_INDIA, SUBLANG_MOHAWK_CANADA, SUBLANG_NEPALI_NEPAL,
20987         SUBLANG_OCCITAN_FRANCE, SUBLANG_ORIYA_INDIA,
20988         SUBLANG_PASHTO_AFGHANISTAN, SUBLANG_POLISH_POLAND,
20989         SUBLANG_ROMANSH_SWITZERLAND, SUBLANG_SAMI_NORTHERN_NORWAY,
20990         SUBLANG_SAMI_NORTHERN_SWEDEN, SUBLANG_SAMI_NORTHERN_FINLAND,
20991         SUBLANG_SAMI_LULE_NORWAY, SUBLANG_SAMI_LULE_SWEDEN,
20992         SUBLANG_SAMI_SOUTHERN_NORWAY, SUBLANG_SAMI_SOUTHERN_SWEDEN,
20993         SUBLANG_SAMI_SKOLT_FINLAND, SUBLANG_SAMI_INARI_FINLAND,
20994         SUBLANG_SANSKRIT_INDIA, SUBLANG_SINHALESE_SRI_LANKA,
20995         SUBLANG_SLOVAK_SLOVAKIA, SUBLANG_SLOVENIAN_SLOVENIA,
20996         SUBLANG_SOTHO_SOUTH_AFRICA, SUBLANG_SWAHILI_KENYA,
20997         SUBLANG_SWEDISH_SWEDEN, SUBLANG_SYRIAC_SYRIA,
20998         SUBLANG_TAGALOG_PHILIPPINES, SUBLANG_TAJIK_TAJIKISTAN,
20999         SUBLANG_TAMIL_INDIA, SUBLANG_TATAR_RUSSIA, SUBLANG_TELUGU_INDIA,
21000         SUBLANG_THAI_THAILAND, SUBLANG_TSWANA_SOUTH_AFRICA,
21001         SUBLANG_TURKISH_TURKEY, SUBLANG_TURKMEN_TURKMENISTAN,
21002         SUBLANG_UKRAINIAN_UKRAINE, SUBLANG_UPPER_SORBIAN_GERMANY,
21003         SUBLANG_VIETNAMESE_VIETNAM, SUBLANG_WELSH_UNITED_KINGDOM,
21004         SUBLANG_WOLOF_SENEGAL, SUBLANG_XHOSA_SOUTH_AFRICA,
21005         SUBLANG_YAKUT_RUSSIA, SUBLANG_YI_PRC, SUBLANG_YORUBA_NIGERIA,
21006         SUBLANG_ZULU_SOUTH_AFRICA): New macros.
21007         (gl_locale_name_from_win32_LANGID): Handle also the territory neutral
21008         locale ids. Add support for Alsatian, Bashkir, Breton, Corsican, Dari,
21009         Greenlandic, K'iche', Kinyarwanda, Luxembourgish, Mapudungun, Mohawk,
21010         Occitan, Scottish Gaelic, Wolof, Yakut. Change language code for Yi.
21011         Add more languages and countries for Sami, Sorbian. Add more countries
21012         for Serbian, Dutch. Add more scripts for Inuktitut. Be more precise
21013         for Pashto. Change country for Syriac, Tswana.
21014
21015 2009-12-21  Eric Blake  <ebb9@byu.net>
21016
21017         test-utimens: avoid spurious failure
21018         * tests/test-chown.h (nap): Factor...
21019         * tests/nap.h: ...into new file.
21020         * tests/test-lchown.h (nap): Avoid duplication.
21021         * tests/test-utimens-common.h (nap): Use shared implementation,
21022         necessary on file systems with 1-second resolution.
21023         * modules/chown-tests (Files): Include new file.
21024         * modules/fdutimensat-tests (Files): Likewise.
21025         * modules/futimens-tests (Files): Likewise.
21026         * modules/lchown-tests (Files): Likewise.
21027         * modules/openat-tests (Files): Likewise.
21028         * modules/utimens-tests (Files): Likewise.
21029         * modules/utimensat-tests (Files): Likewise.
21030
21031 2009-12-19  Eric Blake  <ebb9@byu.net>
21032
21033         futimens, utimensat: work around Linux bug
21034         * m4/futimens.m4 (gl_FUNC_FUTIMENS): Detect ctime bug.
21035         * m4/utimensat.m4 (gl_FUNC_UTIMENSAT): Likewise.
21036         * lib/utimensat.c (rpl_utimensat): Work around it.
21037         * lib/futimens.c (rpl_futimens): Adjust comment.
21038
21039         utimens: work around Linux ctime bug
21040         * lib/utimens.c (detect_ctime_bug): New helper function.
21041         (update_timespec): Differentiate between workaround needed for
21042         this bug vs. what is needed for systems that lack utimensat.
21043         (fdutimens, lutimens): Work around bug.
21044
21045         utimens: check for ctime update
21046         * tests/test-utimens-common.h (check_ctime): Define.
21047         * tests/test-utimens.h (test_utimens): Expose the Linux bug.
21048         * tests/test-futimens.h (test_futimens): Likewise.
21049         * tests/test-lutimens.h (test_lutimens): Likewise.
21050         * doc/posix-functions/futimens.texi (futimens): Document the bug.
21051         * doc/posix-functions/utimensat.texi (utimensat): Likewise.
21052
21053 2009-12-19  Bruno Haible  <bruno@clisp.org>
21054
21055         dprintf-posix: Check against memory leak fixed on 2009-12-15.
21056         * tests/test-dprintf-posix2.sh: New file.
21057         * tests/test-dprintf-posix2.c: New file.
21058         * modules/dprintf-posix-tests (Files): Add them.
21059         (configure.ac): Check for getrlimit and setrlimit.
21060         (Makefile.am): Augment TESTS and CHECK_PROGRAMS.
21061
21062 2009-12-19  Bruno Haible  <bruno@clisp.org>
21063
21064         fprintf-posix: Check against memory leak fixed on 2009-12-15.
21065         * tests/test-fprintf-posix3.sh: New file.
21066         * tests/test-fprintf-posix3.c: New file.
21067         * modules/fprintf-posix-tests (Files): Add them.
21068         (Makefile.am): Augment TESTS and CHECK_PROGRAMS.
21069
21070 2009-12-19  Eric Blake  <ebb9@byu.net>
21071
21072         dirfd: fix prototype
21073         * lib/dirent.in.h (dirfd): Argument is not const, per POSIX.
21074         * lib/dirfd.c (dirfd): Likewise.
21075
21076         canonicalize: reduce memory usage
21077         * lib/canonicalize.c (canonicalize_filename_mode): Trim the
21078         allocation to size.
21079         Reported by Solar Designer <solar@openwall.com>.
21080
21081 2009-12-19  Bruno Haible  <bruno@clisp.org>
21082
21083         New module attribute 'Applicability'.
21084         * modules/TEMPLATE-EXTENDED: New field 'Applicability'.
21085         * gnulib-tool: New option --extract-applicability.
21086         (func_usage): Document it.
21087         (sed_extract_prog): Recognize it.
21088         (func_get_applicability): New function.
21089         (func_import): Generalize handling of 'link-warning' module.
21090         * modules/link-warning (Applicability): New section.
21091         * modules/arg-nonnull (Applicability): New section.
21092         Repoted by Simon Josefsson <simon@josefsson.org>.
21093
21094 2009-12-19  Bruno Haible  <bruno@clisp.org>
21095
21096         fflush: tweak
21097         * lib/fflush.c (update_fpos_cache): Don't use fpos_t on Cygwin.
21098         * lib/fseeko.c (rpl_fseeko): Likewise.
21099
21100 2009-12-16  José E. Marchesi  <jemarch@gnu.org>  (tiny change)
21101
21102         * lib/gl_list.h: Fix typo in comment.
21103
21104 2009-12-16  Eric Blake  <ebb9@byu.net>
21105
21106         fcntl: use to simplify other modules
21107         * modules/cloexec (Depends-on): Add fcntl.
21108         * modules/fchdir (Depends-on): Likewise.
21109         * modules/fd-safer-flag (Depends-on): Likewise.
21110         * modules/unistd-safer (Depends-on): Likewise.
21111         * modules/dup3 (configure.ac): Set module indicator.
21112         * m4/fchdir.m4 (gl_FUNC_FCHDIR): Replace fcntl if fchdir is
21113         missing.
21114         * lib/fchdir.c (_gl_register_dup): Fix comment.
21115         * lib/cloexec.c (dup_cloexec): Simplify, by relying on fcntl.
21116         * lib/dup-safer.c (dup_safer): Likewise.
21117         * lib/dup-safer-flag.c (dup_safer_flag): Likewise.
21118         * lib/dup3.c (dup3): Likewise.
21119         * tests/test-fchdir.c (main): Enhance test.
21120         Fixes a dup_cloexec bug reported by OndÅ™ej Vašík.
21121
21122         fcntl: port portions of fcntl to mingw
21123         * m4/fcntl.m4 (gl_FUNC_FCNTL): Also build fcntl.c on mingw.
21124         * lib/fcntl.c (fcntl) <F_DUPFD, F_DUPFD_CLOEXEC, F_GETFD>: Provide
21125         replacement for mingw.
21126         * modules/fcntl (Description): Update.
21127         (Depends-on): Add dup2.
21128         * m4/fcntl_h.m4 (gl_FCNTL_H_DEFAULTS): Add witness.
21129         * modules/fcntl-h (Makefile.am): Substitute it.
21130         * lib/fcntl.in.h (fcntl): Update declaration.
21131         (F_DUPFD, F_GETFD): New macros, when needed.
21132         * doc/posix-headers/fcntl.texi (fcntl.h): Update documentation.
21133         * doc/posix-functions/fcntl.texi (fcntl): Likewise.
21134         * tests/test-fcntl.c (check_flags, main): Enhance test for items
21135         we now guarantee.
21136
21137         fcntl: work around cygwin bug in F_DUPFD
21138         * m4/fcntl.m4 (gl_REPLACE_FCNTL): New macro.
21139         (gl_FUNC_FCNTL): Use it.  Test for F_DUPFD bug.
21140         * lib/fcntl.c (rpl_fcntl) <F_DUPFD>: Work around it.
21141         <F_DUPFD_CLOEXEC>: Reduce calls to _gl_register_dup.
21142         * doc/posix-functions/fcntl.texi (fcntl): Document it.
21143
21144         fcntl: support F_DUPFD_CLOEXEC on systems with fcntl
21145         * modules/fcntl (Files): List new files.
21146         (configure.ac): Run a test.
21147         * m4/fcntl.m4 (gl_FUNC_FCNTL): New file.
21148         * lib/fcntl.c (rpl_fcntl): Likewise.
21149         * m4/fcntl_h.m4 (gl_FCNTL_H_DEFAULTS): Add witness defaults.
21150         (gl_FCNTL_H): Always replace fcntl.h.
21151         * modules/fcntl-h (Makefile.am): Substitute witnesses.
21152         * lib/fcntl.in.h (fcntl): Declare replacement.
21153         (F_DUPFD_CLOEXEC, GNULIB_defined_F_DUPFD_CLOEXEC): New macro when
21154         needed, plus a witness.
21155         * doc/posix-functions/fcntl.texi (fcntl): Document this.
21156         * doc/posix-headers/fcntl.texi (fcntl.h): Likewise.
21157         * tests/test-fcntl.c: New file.
21158         * modules/fcntl-tests: Likewise.
21159
21160         binary-io: avoid potential compilation warning
21161         * lib/binary-io.h [__DJGPP__]: Avoid null preprocessor
21162         directives.
21163
21164         fflush: avoid compilation error on NetBSD
21165         * lib/fflush.c (update_fpos_cache): Use a union to safely convert
21166         between off_t and fpos_t, since the latter is sometimes a struct.
21167         * lib/fseeko.c (rpl_fseeko): Likewise.
21168         Reported by Alexander Nasonov <alnsn@yandex.ru>.
21169
21170 2009-12-15  Eric Blake  <ebb9@byu.net>
21171
21172         fcntl-h, stdio, sys_ioctl: fix declarations
21173         * lib/stdio.in.h (dprintf): Use of link warning on a variadic
21174         function must not take arguments.
21175         * lib/sys_ioctl.in.h (ioctl): Likewise.
21176         * lib/fcntl.in.h (openat): Likewise.  Declare extern.
21177         (open): Add a link warning.
21178
21179 2009-12-15  Jim Meyering  <meyering@redhat.com>
21180
21181         areadlink, areadlink-with-size: relax license to LGPLv2+
21182         * modules/areadlink (License): Relax to LGPLv2+.
21183         * modules/areadlink-with-size (License): Likewise.
21184
21185 2009-12-15  Joel E. Denny  <jdenny@clemson.edu>
21186             Bruno Haible  <bruno@clisp.org>
21187
21188         *printf: Fix memory leak.
21189         * lib/fprintf.c (fprintf): Free memory allocated by vasnprintf.
21190         * lib/vfprintf.c (vfprintf): Likewise.
21191         * lib/dprintf.c (dprintf): Likewise.
21192         * lib/vdprintf.c (vdprintf): Likewise.
21193
21194 2009-12-14  Eric Blake  <ebb9@byu.net>
21195
21196         accept4: adjust module dependencies
21197         * modules/accept4 (Depends-on): Use fcntl-h, not fcntl.
21198
21199         utimens: one more try at avoiding compiler warning
21200         * lib/utimens.c (lutimens): Lower scope of result.
21201
21202 2009-12-13  Bruno Haible  <bruno@clisp.org>
21203
21204         Move the malloc checking from module 'list' to new module 'xlist'.
21205         * modules/xlist: New file.
21206         * lib/gl_xlist.h: New file.
21207         * lib/gl_xlist.c: New file.
21208         * lib/gl_list.h (gl_list_create_empty, gl_list_create,
21209         gl_list_node_set_value, gl_list_set_at, gl_list_add_first,
21210         gl_list_add_last, gl_list_add_before, gl_list_add_after,
21211         gl_list_nx_add_at, gl_sortedlist_add): Disable declarations.
21212         (gl_list_nx_create_empty, gl_list_nx_create, gl_list_node_nx_set_value,
21213         gl_list_nx_set_at, gl_list_nx_add_first, gl_list_nx_add_last,
21214         gl_list_nx_add_before, gl_list_nx_add_after, gl_list_nx_add_at,
21215         gl_sortedlist_nx_add): New declarations.
21216         (struct gl_list_implementation): Rename and change methods accordingly.
21217         (gl_list_nx_create_empty): Renamed from gl_list_create_empty.
21218         (gl_list_nx_create): Renamed from gl_list_create.
21219         (gl_list_node_nx_set_value): Renamed from gl_list_node_set_value.
21220         (gl_list_nx_set_at): Renamed from gl_list_set_at.
21221         (gl_list_nx_add_first): Renamed from gl_list_add_first.
21222         (gl_list_nx_add_last): Renamed from gl_list_add_last.
21223         (gl_list_nx_add_before): Renamed from gl_list_add_before.
21224         (gl_list_nx_add_after): Renamed from gl_list_add_after.
21225         (gl_list_nx_add_at): Renamed from gl_list_add_at.
21226         (gl_sortedlist_nx_add): Renamed from gl_sortedlist_add.
21227         * lib/gl_list.c (gl_list_nx_create_empty): Renamed from
21228         gl_list_create_empty.
21229         (gl_list_nx_create): Renamed from gl_list_create.
21230         (gl_list_node_nx_set_value): Renamed from gl_list_node_set_value.
21231         (gl_list_nx_set_at): Renamed from gl_list_set_at.
21232         (gl_list_nx_add_first): Renamed from gl_list_add_first.
21233         (gl_list_nx_add_last): Renamed from gl_list_add_last.
21234         (gl_list_nx_add_before): Renamed from gl_list_add_before.
21235         (gl_list_nx_add_after): Renamed from gl_list_add_after.
21236         (gl_list_nx_add_at): Renamed from gl_list_add_at.
21237         (gl_sortedlist_nx_add): Renamed from gl_sortedlist_add.
21238         * lib/gl_array_list.c: Don't include xalloc.h.
21239         (gl_array_nx_create_empty): Renamed from gl_array_create_empty. Return
21240         NULL upon out-of-memory.
21241         (gl_array_nx_create): Renamed from gl_array_create. Return NULL upon
21242         out-of-memory.
21243         (gl_array_node_nx_set_value): Renamed from gl_array_node_set_value.
21244         Change return type to 'int'.
21245         (gl_array_nx_set_at): Renamed from gl_array_set_at.
21246         (grow): Change return type to 'int'. Return -1 upon out-of-memory.
21247         (gl_array_nx_add_first): Renamed from gl_array_add_first. Return NULL
21248         upon out-of-memory.
21249         (gl_array_nx_add_last): Renamed from gl_array_add_last. Return NULL
21250         upon out-of-memory.
21251         (gl_array_nx_add_before): Renamed from gl_array_add_before. Return NULL
21252         upon out-of-memory.
21253         (gl_array_nx_add_after): Renamed from gl_array_add_after. Return NULL
21254         upon out-of-memory.
21255         (gl_array_nx_add_at): Renamed from gl_array_add_at. Return NULL upon
21256         out-of-memory.
21257         (gl_array_sortedlist_nx_add): Renamed from gl_array_sortedlist_add.
21258         Update.
21259         (gl_array_list_implementation): Update.
21260         * lib/gl_carray_list.c: Don't include xalloc.h.
21261         (gl_carray_nx_create_empty): Renamed from gl_carray_create_empty.
21262         Return NULL upon out-of-memory.
21263         (gl_carray_nx_create): Renamed from gl_carray_create. Return NULL upon
21264         out-of-memory.
21265         (gl_carray_node_nx_set_value): Renamed from gl_carray_node_set_value.
21266         Change return type to 'int'.
21267         (gl_carray_nx_set_at): Renamed from gl_carray_set_at.
21268         (grow): Change return type to 'int'. Return -1 upon out-of-memory.
21269         (gl_carray_nx_add_first): Renamed from gl_carray_add_first. Return NULL
21270         upon out-of-memory.
21271         (gl_carray_nx_add_last): Renamed from gl_carray_add_last. Return NULL
21272         upon out-of-memory.
21273         (gl_carray_nx_add_at): Renamed from gl_carray_add_at. Return NULL upon
21274         out-of-memory.
21275         (gl_carray_nx_add_before): Renamed from gl_carray_add_before. Update.
21276         (gl_carray_nx_add_after): Renamed from gl_carray_add_after. Update.
21277         (gl_carray_sortedlist_nx_add): Renamed from gl_carray_sortedlist_add.
21278         Update.
21279         (gl_carray_list_implementation): Update.
21280         * lib/gl_anyhash_list2.h (hash_resize): Do nothing upon out-of-memory.
21281         * lib/gl_anylinked_list2.h (gl_linked_nx_create_empty): Renamed from
21282         gl_linked_create_empty. Return NULL upon out-of-memory.
21283         (gl_linked_nx_create): Renamed from gl_linked_create. Return NULL upon
21284         out-of-memory.
21285         (gl_linked_node_nx_set_value): Renamed from gl_linked_node_set_value.
21286         Change return type to 'int'. Return -1 upon out-of-memory.
21287         (gl_linked_nx_set_at): Renamed from gl_linked_set_at. Return NULL upon
21288         out-of-memory.
21289         (gl_linked_nx_add_first): Renamed from gl_linked_add_first. Return NULL
21290         upon out-of-memory.
21291         (gl_linked_nx_add_last): Renamed from gl_linked_add_last. Return NULL
21292         upon out-of-memory.
21293         (gl_linked_nx_add_before): Renamed from gl_linked_add_before. Return
21294         NULL upon out-of-memory.
21295         (gl_linked_nx_add_after): Renamed from gl_linked_add_after. Return NULL
21296         upon out-of-memory.
21297         (gl_linked_nx_add_at): Renamed from gl_linked_add_at. Return NULL upon
21298         out-of-memory.
21299         (gl_linked_sortedlist_nx_add): Renamed from gl_linked_sortedlist_add.
21300         Update.
21301         * lib/gl_linked_list.c: Don't include xalloc.h.
21302         (gl_linked_list_implementation): Update.
21303         * lib/gl_linkedhash_list.c: Don't include xalloc.h.
21304         (add_to_bucket): Change return type to 'int'.
21305         (gl_linkedhash_list_implementation): Update.
21306         * lib/gl_anytree_list1.h (free_subtree): New function.
21307         * lib/gl_anytree_list2.h (gl_tree_nx_create_empty): Renamed from
21308         gl_tree_create_empty. Return NULL upon out-of-memory.
21309         (gl_tree_node_nx_set_value): Renamed from gl_tree_node_set_value.
21310         Change return type to 'int'. Return -1 upon out-of-memory.
21311         (gl_tree_nx_set_at): Renamed from gl_tree_set_at. Return NULL upon
21312         out-of-memory.
21313         (gl_tree_nx_add_at): Renamed from gl_tree_add_at. Update.
21314         (gl_tree_remove_node): New function, moved here from
21315         lib/gl_anyavltree_list2.h and lib/gl_anyrbtree_list2.h.
21316         (gl_tree_sortedlist_nx_add): Renamed from gl_tree_sortedlist_add.
21317         Update.
21318         * lib/gl_anyavltree_list2.h (create_subtree_with_contents): Use
21319         malloc, not xmalloc. Return NULL upon out-of-memory.
21320         (gl_tree_nx_create): Renamed from gl_tree_create. Return NULL upon
21321         out-of-memory.
21322         (gl_tree_remove_node_from_tree): New function, extracted from
21323         gl_tree_remove_node.
21324         (gl_tree_nx_add_first): Renamed from gl_tree_add_first. Return NULL
21325         upon out-of-memory.
21326         (gl_tree_nx_add_last): Renamed from gl_tree_add_last. Return NULL upon
21327         out-of-memory.
21328         (gl_tree_nx_add_before): Renamed from gl_tree_add_before. Return NULL
21329         upon out-of-memory.
21330         (gl_tree_nx_add_after): Renamed from gl_tree_add_after. Return NULL
21331         upon out-of-memory.
21332         (gl_tree_remove_node): Remove function. Moved to gl_anytree_list2.h.
21333         * lib/gl_anyrbtree_list2.h (create_subtree_with_contents): Use malloc,
21334         not xmalloc. Return NULL upon out-of-memory.
21335         (gl_tree_nx_create): Renamed from gl_tree_create. Return NULL upon
21336         out-of-memory.
21337         (gl_tree_remove_node_from_tree): New function, extracted from
21338         gl_tree_remove_node.
21339         (gl_tree_nx_add_first): Renamed from gl_tree_add_first. Return NULL
21340         upon out-of-memory.
21341         (gl_tree_nx_add_last): Renamed from gl_tree_add_last. Return NULL upon
21342         out-of-memory.
21343         (gl_tree_nx_add_before): Renamed from gl_tree_add_before. Return NULL
21344         upon out-of-memory.
21345         (gl_tree_nx_add_after): Renamed from gl_tree_add_after. Return NULL
21346         upon out-of-memory.
21347         (gl_tree_remove_node): Remove function. Moved to gl_anytree_list2.h.
21348         * lib/gl_avltree_list.c: Don't include xalloc.h. Include
21349         gl_anytree_list1.h before gl_anyavltree_list2.h.
21350         (gl_avltree_list_implementation): Update.
21351         * lib/gl_rbtree_list.c: Don't include xalloc.h. Include
21352         gl_anytree_list1.h before gl_anyavltree_list2.h.
21353         (gl_rbtree_list_implementation): Update.
21354         * lib/gl_anytreehash_list1.h (add_to_bucket, add_nodes_to_buckets):
21355         Change return type to 'int'. Return -1 upon out-of-memory. Use
21356         __builtin_expect.
21357         * lib/gl_avltreehash_list.c: Don't include xalloc.h.
21358         (gl_avltreehash_list_implementation): Update.
21359         * lib/gl_rbtreehash_list.c: Don't include xalloc.h.
21360         (gl_rbtreehash_list_implementation): Update.
21361         * modules/array-list (Depends-on): Remove xalloc.
21362         * modules/carray-list (Depends-on): Likewise.
21363         * modules/linked-list (Depends-on): Likewise.
21364         * modules/linkedhash-list (Depends-on): Likewise.
21365         * modules/avltree-list (Depends-on): Likewise.
21366         * modules/rbtree-list (Depends-on): Likewise.
21367         * modules/avltreehash-list (Depends-on): Likewise.
21368         * modules/rbtreehash-list (Depends-on): Likewise.
21369
21370         * modules/xsublist: New file.
21371         * lib/gl_xsublist.h: New file.
21372         * lib/gl_xsublist.c: New file.
21373         * lib/gl_sublist.h (gl_sublist_create): Disable declaration.
21374         (gl_sublist_nx_create): New declaration.
21375         * lib/gl_sublist.c: Don't include xalloc.h.
21376         (gl_sublist_nx_create_empty): Renamed from gl_sublist_create_empty.
21377         (gl_sublist_nx_create_fill): Renamed from gl_sublist_create_fill.
21378         (gl_sublist_node_nx_set_value): Renamed from gl_sublist_node_set_value.
21379         Change return type to 'int'. Return -1 upon out-of-memory.
21380         (gl_sublist_nx_set_at): Renamed from gl_sublist_set_at. Return NULL
21381         upon out-of-memory.
21382         (gl_sublist_nx_add_first): Renamed from gl_sublist_add_first. Return
21383         NULL upon out-of-memory.
21384         (gl_sublist_nx_add_last): Renamed from gl_sublist_add_last. Return NULL
21385         upon out-of-memory.
21386         (gl_sublist_nx_add_before): Renamed from gl_sublist_add_before. Return
21387         NULL upon out-of-memory.
21388         (gl_sublist_nx_add_after): Renamed from gl_sublist_add_after. Return
21389         NULL upon out-of-memory.
21390         (gl_sublist_nx_add_at): Renamed from gl_sublist_add_at. Return NULL
21391         upon out-of-memory.
21392         (gl_sublist_sortedlist_nx_add): Renamed from gl_sublist_sortedlist_add.
21393         (gl_sublist_list_implementation): Update.
21394         (gl_sublist_nx_create): Renamed from gl_sublist_create. Return NULL
21395         upon out-of-memory.
21396         * modules/sublist (Depends-on): Remove xalloc.
21397
21398         * tests/test-array_list.c: Use gl_list_nx_* functions where possible.
21399         * tests/test-carray_list.c: Likewise.
21400         * tests/test-linked_list.c: Likewise.
21401         * tests/test-linkedhash_list.c: Likewise.
21402         * tests/test-avltree_list.c: Likewise.
21403         * tests/test-rbtree_list.c: Likewise.
21404         * tests/test-avltreehash_list.c: Likewise.
21405         * tests/test-rbtreehash_list.c: Likewise.
21406         * modules/array-list-tests (Makefile.am): Don't link with @LIBINTL@.
21407         * modules/carray-list-tests (Makefile.am): Likewise.
21408         * modules/linked-list-tests (Makefile.am): Likewise.
21409         * modules/linkedhash-list-tests (Makefile.am): Likewise.
21410         * modules/avltree-list-tests (Makefile.am): Likewise.
21411         * modules/rbtree-list-tests (Makefile.am): Likewise.
21412         * modules/avltreehash-list-tests (Makefile.am): Likewise.
21413         * modules/rbtreehash-list-tests (Makefile.am): Likewise.
21414
21415         * NEWS: Mention the changes.
21416
21417         * lib/clean-temp.c: Include gl_xlist.h.
21418         * modules/clean-temp (Depends-on): Add xlist.
21419
21420         * lib/git-merge-changelog.c: Include gl_xlist.h instead of gl_list.h.
21421         * modules/git-merge-changelog (Depends-on): Add xlist. Remove list.
21422
21423         * tests/test-array_oset.c: Include gl_xlist.h.
21424         * modules/array-oset-tests (Depends-on): Add xlist.
21425
21426         Reported by José E. Marchesi <jemarch@gnu.org>.
21427
21428 2009-12-13  Bruno Haible  <bruno@clisp.org>
21429
21430         Move the malloc checking from module 'oset' to new module 'xoset'.
21431         * modules/xoset: New file.
21432         * lib/gl_xoset.h: New file.
21433         * lib/gl_xoset.c: New file.
21434         * lib/gl_oset.h (gl_oset_create_empty, gl_oset_add): Disable
21435         declarations.
21436         (gl_oset_nx_create_empty, gl_oset_nx_add): New declarations.
21437         (struct gl_oset_implementation): Rename and change methods accordingly.
21438         (gl_oset_nx_create_empty): Renamed from gl_oset_create_empty.
21439         (gl_oset_nx_add): Renamed from gl_oset_add. Change return type to
21440         'int'. Mark as __warn_unused_result__.
21441         * lib/gl_oset.c (gl_oset_nx_create_empty): Renamed from
21442         gl_oset_create_empty.
21443         (gl_oset_nx_add): Renamed from gl_oset_add. Change return type to
21444         'int'.
21445         * lib/gl_array_oset.c: Don't include xalloc.h.
21446         (gl_array_nx_create_empty): Renamed from gl_array_create_empty. Use
21447         malloc, not xmalloc.
21448         (grow): Change return type to 'int'. Don't call xalloc_die.
21449         (gl_array_nx_add_at): Renamed from gl_array_add_at. Change return type
21450         to 'int'.
21451         (gl_array_nx_add): Renamed from gl_array_add. Change return type to
21452         'int'.
21453         (gl_array_oset_implementation): Update.
21454         * lib/gl_anytree_oset.h (gl_tree_nx_create_empty): Renamed from
21455         gl_tree_create_empty.
21456         (gl_tree_nx_add): Renamed from gl_tree_add. Change return type to
21457         'int'.
21458         * lib/gl_avltree_oset.c: Don't include xalloc.h.
21459         (gl_tree_nx_add_first): Renamed from gl_tree_add_first. Use malloc, not
21460         xmalloc.
21461         (gl_tree_nx_add_before): Renamed from gl_tree_add_before. Use malloc,
21462         not xmalloc.
21463         (gl_tree_nx_add_after): Renamed from gl_tree_add_after. Use malloc, not
21464         xmalloc.
21465         (gl_avltree_oset_implementation): Update.
21466         * lib/gl_rbtree_oset.c: Don't include xalloc.h.
21467         (gl_tree_nx_add_first): Renamed from gl_tree_add_first. Use malloc, not
21468         xmalloc.
21469         (gl_tree_nx_add_before): Renamed from gl_tree_add_before. Use malloc,
21470         not xmalloc.
21471         (gl_tree_nx_add_after): Renamed from gl_tree_add_after. Use malloc, not
21472         xmalloc.
21473         (gl_rbtree_oset_implementation): Update.
21474         * modules/array-oset (Depends-on): Remove xalloc.
21475         * modules/avltree-oset (Depends-on): Likewise.
21476         * modules/rbtree-oset (Depends-on): Likewise.
21477         * tests/test-array_oset.c: Use gl_oset_nx_* functions where possible.
21478         * tests/test-avltree_oset.c: Likewise.
21479         * tests/test-rbtree_oset.c: Likewise.
21480         * lib/gl_anytreehash_list1.h (add_to_bucket): Likewise.
21481         * modules/avltree-oset-tests (Makefile.am): Don't link with @LIBINTL@.
21482         * modules/rbtree-oset-tests (Makefile.am): Likewise.
21483         * NEWS: Mention the change.
21484
21485 2009-12-05  Alfred M. Szmidt  <ams@gnu.org>
21486
21487         maint.mk: allow a project to override release-prep commands
21488         * top/maint.mk (alpha, beta, stable): Move release-preparatory
21489         commands into a new rule.
21490         (release-prep): New rule.
21491         (release-prep-hook): New overridable variable.
21492
21493 2009-12-13  Bruno Haible  <bruno@clisp.org>
21494
21495         * lib/localcharset.c (locale_charset): Fix comment about use of GetACP.
21496
21497 2009-12-13  Jim Meyering  <meyering@redhat.com>
21498
21499         maint.mk (null_AM_MAKEFLAGS, built_programs): remove unused definitions
21500         * top/maint.mk (null_AM_MAKEFLAGS, built_programs): Remove definitions.
21501
21502 2009-12-12  Bruno Haible  <bruno@clisp.org>
21503
21504         duplocale: Tweak.
21505         * lib/duplocale.c (rpl_duplocale): Mark categories array as 'const'.
21506
21507 2009-12-12  Karl Berry  <karl@gnu.org>
21508
21509         * config/srclist.txt (strtoll.c): tab changes, no more sync.
21510
21511 2009-12-12  Bruno Haible  <bruno@clisp.org>
21512
21513         * m4/po.m4: Undo incorrect untabification.
21514
21515 2009-12-12  Bruno Haible  <bruno@clisp.org>
21516
21517         c-strtod, c-strtold: Use multithread-safe implementation on MacOS X.
21518         * modules/c-strtod (Depends-on): Add locale.
21519         * modules/c-strtold (Depends-on): Likewise.
21520
21521 2009-12-12  Bruno Haible  <bruno@clisp.org>
21522
21523         * lib/localcharset.c (locale_charset): Add comment about use of GetACP.
21524
21525 2009-12-11  Eric Blake  <ebb9@byu.net>
21526
21527         setenv: relax requirement in light of POSIX ruling
21528         * m4/setenv.m4 (gl_FUNC_SETENV_SEPARATE): Test handling of "" but
21529         not NULL.
21530         * tests/test-setenv.c (main): Relax test.
21531         * tests/test-unsetenv.c (main): Likewise.
21532         * doc/posix-functions/setenv.texi (setenv): Document this.
21533         * doc/posix-functions/unsetenv.texi (unsetenv): Likewise.
21534
21535 2009-12-11  Bruno Haible  <bruno@clisp.org>
21536
21537         New module 'fd-safer-flag'.
21538         * lib/dup-safer-flag.c: New file, extracted from lib/dup-safer.c.
21539         * lib/dup-safer.c (dup_safer_flag): Remove function.
21540         * lib/fd-safer-flag.c: New file, extracted from lib/fd-safer.c.
21541         * lib/fd-safer.c (fd_safer_flag): Remove function.
21542         * lib/unistd-safer.h (dup_safer_flag, fd_safer_flag): Update condition.
21543         * modules/cloexec (configure.ac): Drop indicator macro.
21544         * modules/fd-safer-flag: New file.
21545         * modules/pipe2-safer (Depends-on): Add fd-safer-flag. Remove cloexec.
21546         * modules/stdlib-safer (Depends-on): Add fd-safer-flag.
21547         * modules/unistd-safer-tests (Depends-on): Add fd-safer-flag.
21548
21549 2009-12-11  Bruno Haible  <bruno@clisp.org>
21550
21551         Tests for module 'nl_langinfo'.
21552         * modules/nl_langinfo-tests: New file.
21553         * tests/test-nl_langinfo.sh: New file.
21554         * tests/test-nl_langinfo.c: New file.
21555
21556         New module 'nl_langinfo'.
21557         * lib/nl_langinfo.c: New file.
21558         * m4/nl_langinfo.m4: New file.
21559         * modules/nl_langinfo: New file.
21560         * doc/posix-functions/nl_langinfo.texi: Mention the new module.
21561
21562 2009-12-11  Bruno Haible  <bruno@clisp.org>
21563
21564         Tests for module 'langinfo'.
21565         * modules/langinfo-tests: New file.
21566         * tests/test-langinfo.c: New file.
21567
21568         New module 'langinfo'.
21569         * lib/langinfo.in.h: New file.
21570         * m4/langinfo_h.m4: New file.
21571         * modules/langinfo: New file.
21572         * doc/posix-headers/langinfo.texi: Mention the new module.
21573
21574 2009-12-11  Bruno Haible  <bruno@clisp.org>
21575
21576         * lib/config.charset: Untabify.
21577
21578 2009-12-11  Bruno Haible  <bruno@clisp.org>
21579
21580         * modules/unistd-safer (configure.ac): Drop indicator macro.
21581
21582 2009-12-11  Bruno Haible  <bruno@clisp.org>
21583
21584         Move pipe2-safer code to its own file.
21585         * lib/pipe2-safer.c: New file, extracted from lib/pipe-safer.c.
21586         * lib/pipe-safer.c (pipe2_safer): Remove function.
21587         * modules/pipe2-safer (Files): Add lib/pipe2-safer.c.
21588         (Makefile.am): Add it to lib_SOURCES.
21589
21590 2009-12-10  Bruno Haible  <bruno@clisp.org>
21591
21592         * lib/recvfrom.c (rpl_recvfrom): Allow the from argument to be NULL.
21593
21594 2009-12-10  Bruno Haible  <bruno@clisp.org>
21595
21596         Declare which arguments expect non-NULL values, for GCC and clang.
21597         * build-aux/arg-nonnull.h: New file.
21598         * modules/arg-nonnull: New file.
21599         * lib/arpa_inet.in.h (_GL_ARG_NONNULL): New placeholder.
21600         (inet_ntop, inet_pton): Use it.
21601         * lib/dirent.in.h (_GL_ARG_NONNULL): New placeholder.
21602         (closedir, dirfd, opendir, scandir, alphasort): Use it.
21603         * lib/fcntl.in.h (_GL_ARG_NONNULL): New placeholder.
21604         (open, openat): Use it.
21605         * lib/fnmatch.in.h (_GL_ARG_NONNULL): New placeholder.
21606         (fnmatch): Use it.
21607         * lib/getopt.in.h (_GL_ARG_NONNULL): New placeholder.
21608         (getopt, getopt_long, getopt_long_only): Use it.
21609         * lib/glob.in.h (_GL_ARG_NONNULL): New placeholder.
21610         * lib/glob-libc.h (glob, globfree, glob64, globfree64, glob_pattern_p):
21611         Use it.
21612         * lib/iconv.in.h (_GL_ARG_NONNULL): New placeholder.
21613         (iconv_open): Use it.
21614         * lib/inttypes.in.h (_GL_ARG_NONNULL): New placeholder.
21615         (strtoimax, strtoumax): Use it.
21616         * lib/locale.in.h (_GL_ARG_NONNULL): New placeholder.
21617         (duplocale): Use it.
21618         * lib/math.in.h (_GL_ARG_NONNULL): New placeholder.
21619         (frexp, frexpl): Use it.
21620         * lib/netdb.in.h (_GL_ARG_NONNULL): New placeholder.
21621         (getaddrinfo, freeaddrinfo, getnameinfo): Use it.
21622         * lib/search.in.h (_GL_ARG_NONNULL): New placeholder.
21623         (tsearch, tfind, tdelete, twalk): Use it.
21624         * lib/signal.in.h (_GL_ARG_NONNULL): New placeholder.
21625         (sigismember, sigemptyset, sigaddset, sigdelset, sigfillset,
21626         sigpending): Use it.
21627         * lib/spawn.in.h (_GL_ARG_NONNULL): New placeholder.
21628         (posix_spawn, posix_spawnp, posix_spawnattr_init,
21629         posix_spawnattr_destroy, posix_spawnattr_getsigdefault,
21630         posix_spawnattr_setsigdefault, posix_spawnattr_getsigmask,
21631         posix_spawnattr_setsigmask, posix_spawnattr_getflags,
21632         posix_spawnattr_setflags, posix_spawnattr_getpgroup,
21633         posix_spawnattr_setpgroup, posix_spawnattr_getschedpolicy,
21634         posix_spawnattr_setschedpolicy, posix_spawnattr_getschedparam,
21635         posix_spawnattr_setschedparam, posix_spawn_file_actions_init,
21636         posix_spawn_file_actions_destroy, posix_spawn_file_actions_addopen,
21637         posix_spawn_file_actions_addclose, posix_spawn_file_actions_adddup2):
21638         Use it.
21639         * lib/stdio.in.h (_GL_ARG_NONNULL): New placeholder.
21640         (dprintf, fclose, fopen, fprintf, fpurge, fputc, fputs, freopen,
21641         rpl_fseek, fseeko, rpl_ftell, ftello, fwrite, getdelim, getline,
21642         obstack_printf, obstack_vprintf, popen, printf, putc, puts, remove,
21643         rename, renameat, snprintf, sprintf, asprintf, vasprintf, vdprintf,
21644         vfprintf, vprintf, vsnprintf, vsprintf): Use it.
21645         * lib/stdlib.in.h (_GL_ARG_NONNULL): New placeholder.
21646         (atoll, canonicalize_file_name, getloadavg, getsubopt, mkdtemp,
21647         mkostemp, mkostemps, mkstemp, mkstemps, putenv, srandom_r, initstate_r,
21648         setstate_r, random_r, realpath, rpmatch, setenv, strtod, strtoll,
21649         strtoull, unsetenv): Use it.
21650         * lib/string.in.h (_GL_ARG_NONNULL): New placeholder.
21651         (memchr, memmem, mempcpy, memrchr, rawmemchr, stpcpy, stpncpy,
21652         strchrnul, strdup, strndup, strnlen, strpbrk, strsep, strstr,
21653         strcasestr, strtok_r, mbslen, mbsnlen, mbschr, mbsrchr, mbsstr,
21654         mbscasecmp, mbsncasecmp, mbspcasecmp, mbscasestr, mbscspn, mbspbrk,
21655         mbsspn, mbssep, mbstok_r, strverscmp): Use it.
21656         * lib/strings.in.h (_GL_ARG_NONNULL): New placeholder.
21657         (strcasecmp, strncasecmp): Use it.
21658         * lib/sys_socket.in.h (_GL_ARG_NONNULL): New placeholder.
21659         (rpl_connect, rpl_bind, rpl_getpeername, rpl_getsockname,
21660         rpl_getsockopt, rpl_recv, rpl_send, rpl_recvfrom, rpl_sendto,
21661         rpl_setsockopt): Use it.
21662         * lib/sys_stat.in.h (_GL_ARG_NONNULL): New placeholder.
21663         (fchmodat, fstat, fstatat, lchmod, rpl_lstat, mkdir, mkdirat, mkfifo,
21664         mkfifoat, mknod, mknodat, stat, utimensat): Use it.
21665         * lib/sys_time.in.h (_GL_ARG_NONNULL): New placeholder.
21666         (gettimeofday): Use it.
21667         * lib/sys_times.in.h (_GL_ARG_NONNULL): New placeholder.
21668         (times): Use it.
21669         * lib/sys_utsname.in.h (_GL_ARG_NONNULL): New placeholder.
21670         (uname): Use it.
21671         * lib/time.in.h (_GL_ARG_NONNULL): New placeholder.
21672         (nanosleep, mktime, localtime_r, gmtime_r, strptime, timegm): Use it.
21673         * lib/unistd.in.h (_GL_ARG_NONNULL): New placeholder.
21674         (chown, euidaccess, faccessat, _gl_register_fd, fchownat,
21675         getdomainname, gethostname, getlogin_r, lchown, link, linkat, pipe2,
21676         pread, readlink, readlinkat, rmdir, symlink, symlinkat, unlink,
21677         unlinkat, write): Use it.
21678         * lib/wchar.in.h (_GL_ARG_NONNULL): New placeholder.
21679         (mbsrtowcs, mbsnrtowcs, wcsrtombs, wcsnrtombs): Use it.
21680         * lib/argv-iter.h: Include arg-nonnull.h.
21681         (_ATTRIBUTE_NONNULL_): Remove macro.
21682         (argv_iter_init_argv, argv_iter_init_stream, argv_iter,
21683         argv_iter_n_args, argv_iter_free): Use _GL_ARG_NONNULL.
21684         * lib/canonicalize-lgpl.c (_GL_ARG_NONNULL): Define, to defeat gcc
21685         optimization.
21686         * lib/getaddrinfo.c (_GL_ARG_NONNULL): Likewise.
21687         * lib/getdelim.c (_GL_ARG_NONNULL): Likewise.
21688         * lib/glob.c (_GL_ARG_NONNULL): Likewise.
21689         * lib/random_r.c (_GL_ARG_NONNULL): Likewise.
21690         * lib/setenv.c (_GL_ARG_NONNULL): Likewise.
21691         * lib/strtod.c (_GL_ARG_NONNULL): Likewise.
21692         * lib/tsearch.c (_GL_ARG_NONNULL): Likewise.
21693         * lib/unsetenv.c (_GL_ARG_NONNULL): Likewise.
21694         * modules/arpa_inet (Depends-on): Add arg-nonnull.
21695         (Makefile.am): Insert arg-nonnull.h into arpa/inet.h.
21696         * modules/dirent (Depends-on): Add arg-nonnull.
21697         (Makefile.am): Insert arg-nonnull.h into dirent.h.
21698         * modules/fcntl-h (Depends-on): Add arg-nonnull.
21699         (Makefile.am): Insert arg-nonnull.h into fcntl.h.
21700         * modules/fnmatch (Depends-on): Add arg-nonnull.
21701         (Makefile.am): Insert arg-nonnull.h into fnmatch.h.
21702         * modules/getopt-posix (Depends-on): Add arg-nonnull.
21703         (Makefile.am): Insert arg-nonnull.h into getopt.h.
21704         * modules/glob (Depends-on): Add arg-nonnull.
21705         (Makefile.am): Insert arg-nonnull.h into glob.h.
21706         * modules/iconv_open (Depends-on): Add arg-nonnull.
21707         (Makefile.am): Insert arg-nonnull.h into iconv.h.
21708         * modules/inttypes (Depends-on): Add arg-nonnull.
21709         (Makefile.am): Insert arg-nonnull.h into inttypes.h.
21710         * modules/locale (Depends-on): Add arg-nonnull.
21711         (Makefile.am): Insert arg-nonnull.h into locale.h.
21712         * modules/math (Depends-on): Add arg-nonnull.
21713         (Makefile.am): Insert arg-nonnull.h into math.h.
21714         * modules/netdb (Depends-on): Add arg-nonnull.
21715         (Makefile.am): Insert arg-nonnull.h into netdb.h.
21716         * modules/search (Depends-on): Add arg-nonnull.
21717         (Makefile.am): Insert arg-nonnull.h into search.h.
21718         * modules/signal (Depends-on): Add arg-nonnull.
21719         (Makefile.am): Insert arg-nonnull.h into signal.h.
21720         * modules/spawn (Depends-on): Add arg-nonnull.
21721         (Makefile.am): Insert arg-nonnull.h into spawn.h.
21722         * modules/stdio (Depends-on): Add arg-nonnull.
21723         (Makefile.am): Insert arg-nonnull.h into stdio.h.
21724         * modules/stdlib (Depends-on): Add arg-nonnull.
21725         (Makefile.am): Insert arg-nonnull.h into stdlib.h.
21726         * modules/string (Depends-on): Add arg-nonnull.
21727         (Makefile.am): Insert arg-nonnull.h into string.h.
21728         * modules/strings (Depends-on): Add arg-nonnull.
21729         (Makefile.am): Insert arg-nonnull.h into strings.h.
21730         * modules/sys_socket (Depends-on): Add arg-nonnull.
21731         (Makefile.am): Insert arg-nonnull.h into sys/socket.h.
21732         * modules/sys_stat (Depends-on): Add arg-nonnull.
21733         (Makefile.am): Insert arg-nonnull.h into sys/stat.h.
21734         * modules/sys_time (Depends-on): Add arg-nonnull.
21735         (Makefile.am): Insert arg-nonnull.h into sys/time.h.
21736         * modules/sys_times (Depends-on): Add arg-nonnull.
21737         (Makefile.am): Insert arg-nonnull.h into sys/times.h.
21738         * modules/sys_utsname (Depends-on): Add arg-nonnull.
21739         (Makefile.am): Insert arg-nonnull.h into sys/utsname.h.
21740         * modules/time (Depends-on): Add arg-nonnull.
21741         (Makefile.am): Insert arg-nonnull.h into time.h.
21742         * modules/unistd (Depends-on): Add arg-nonnull.
21743         (Makefile.am): Insert arg-nonnull.h into unistd.h.
21744         * modules/wchar (Depends-on): Add arg-nonnull.
21745         (Makefile.am): Insert arg-nonnull.h into wchar.h.
21746         * modules/argv-iter (Depends-on): Add arg-nonnull.
21747         * tests/test-canonicalize.c (null_ptr): New function.
21748         (main): Use it.
21749         * tests/test-canonicalize-lgpl.c (null_ptr): New function.
21750         (main): Use it.
21751         * tests/test-memmem.c (null_ptr): New function.
21752         (main): Use it.
21753         Reported by Jim Meyering.
21754
21755 2009-12-10  Bruno Haible  <bruno@clisp.org>
21756
21757         Use spaces for indentation, not tabs.
21758         * lib/**/*.[hcy] except lib/reg*.[hc]: Untabify.
21759         * m4/*.m4: Untabify.
21760         * build-aux/*.h: Untabify.
21761         * tests/**/*.[hc]: Untabify.
21762         * README: New section "Indent with spaces, not TABs", based on
21763         coreutils/HACKING and comments by Pádraig Brady and Paolo Bonzini.
21764         * NEWS: Mention the change.
21765
21766 2009-12-10  Bruno Haible  <bruno@clisp.org>
21767
21768         pty test: Fix link error.
21769         * modules/pty-tests (Makefile.am): Add the default LDADD value to
21770         test_pty_LDADD.
21771
21772 2009-12-07  Simon Josefsson  <simon@josefsson.org>
21773
21774         * modules/pty: New file.
21775         * modules/pty-tests: New file.
21776         * m4/pty.m4: New file.
21777         * tests/test-pty.c: New file.
21778         * doc/glibc-headers/pty.texi: Modified.
21779         * doc/glibc-functions/forkpty.texi: Modified.
21780         * doc/glibc-functions/openpty.texi: Modified.
21781
21782 2009-12-10  Bruno Haible  <bruno@clisp.org>
21783
21784         Avoid syntax error in C++ mode.
21785         * lib/stdio.in.h (rename): Don't use parameter name 'new'.
21786
21787 2009-12-10  Bruno Haible  <bruno@clisp.org>
21788
21789         Use sed with option -e.
21790         * gnulib-tool (func_version, func_emit_copyright_notice,
21791         func_emit_initmacro_end, func_import, func_create_testdir): Pass
21792         option -e to sed.
21793         * modules/link-warning (Makefile.am): Likewise.
21794
21795 2009-12-10  Jim Meyering  <meyering@redhat.com>
21796
21797         mgetgroups: do not write bytes beyond end of malloc'd buffer
21798         * lib/mgetgroups.c: Fix an off-by-one error.  When we have no
21799         username, we call getgroups with a one-element-shorter buffer,
21800         but still told it the length was original, max_n_groups.
21801
21802 2009-12-09  Eric Blake  <ebb9@byu.net>
21803
21804         cloexec: relax license
21805         * modules/cloexec (Maintainer): Add myself.
21806         (License): Use LGPL, not GPL.
21807
21808         link-warning: optimize generation
21809         * modules/link-warning (Makefile.am): Reduce process usage.
21810
21811 2009-12-09  Bruno Haible  <bruno@clisp.org>
21812
21813         * doc/posix-functions/unsetenv.texi: Mention Solaris 10 bug for which a
21814         workaround was added on 2009-11-17.
21815
21816 2009-12-09  Jim Meyering  <meyering@redhat.com>
21817             Bruno Haible  <bruno@clisp.org>
21818
21819         link-warning: Allow extra lines at the top of build-aux/link-warning.h.
21820         * modules/link-warning (Makefile.am): Make the comment-removing sed
21821         command more robust in the face of bootstrap-prepended comment lines.
21822
21823 2009-12-09  Bruno Haible  <bruno@clisp.org>
21824
21825         * lib/mgetgroups.c (mgetgroups): Don't remove duplicates if there is at
21826         most one group.
21827
21828 2009-12-09  Simon Josefsson <simon@josefsson.org>
21829             Bruno Haible  <bruno@clisp.org>
21830
21831         * build-aux/link-warning.h: Add copyright notice.
21832         * modules/link-warning (Makefile.am): Generate link-warning.h from
21833         build-aux/link-warning.h. Update LINK_WARNING_H accordingly.
21834         * NEWS: Mention change in link-warning module.
21835         * modules/arpa_inet (Makefile.am): Add dependency to arpa/inet.h.
21836         * modules/dirent (Makefile.am): Add dependency to dirent.h.
21837         * modules/fcntl-h (Makefile.am): Add dependency to fcntl.h.
21838         * modules/getopt-posix (Makefile.am): Add dependency to getopt.h.
21839         * modules/inttypes (Makefile.am): Add dependency to inttypes.h.
21840         * modules/math (Makefile.am): Add dependency to math.h.
21841         * modules/search (Makefile.am): Add dependency to search.h.
21842         * modules/signal (Makefile.am): Add dependency to signal.h.
21843         * modules/spawn (Makefile.am): Add dependency to spawn.h.
21844         * modules/stdio (Makefile.am): Add dependency to stdio.h.
21845         * modules/stdlib (Makefile.am): Add dependency to stdlib.h.
21846         * modules/string (Makefile.am): Add dependency to string.h.
21847         * modules/strings (Makefile.am): Add dependency to strings.h.
21848         * modules/sys_ioctl (Makefile.am): Add dependency to sys/ioctl.h.
21849         * modules/sys_select (Makefile.am): Add dependency to sys/select.h.
21850         * modules/sys_socket (Makefile.am): Add dependency to sys/socket.h.
21851         * modules/sys_stat (Makefile.am): Add dependency to sys/stat.h.
21852         * modules/sys_times (Makefile.am): Add dependency to sys/times.h.
21853         * modules/sys_utsname (Makefile.am): Add dependency to sys/utsname.h.
21854         * modules/sys_wait (Makefile.am): Add dependency to sys/wait.h.
21855         * modules/unistd (Makefile.am): Add dependency to unistd.h.
21856         * modules/wchar (Makefile.am): Add dependency to wchar.h.
21857
21858 2009-12-09  Bruno Haible  <bruno@clisp.org>
21859
21860         fchdir: Optimize away rpl_fstat when possible.
21861         * m4/fchdir.m4 (gl_FUNC_FCHDIR): Set REPLACE_FSTAT only together with
21862         REPLACE_OPEN_DIRECTORY.
21863         * lib/fchdir.c (rpl_fstat): Define only when REPLACE_OPEN_DIRECTORY.
21864
21865 2009-12-09  Bruno Haible  <bruno@clisp.org>
21866
21867         * lib/fchdir.c: Update comment.
21868
21869 2009-12-09  Bruno Haible  <bruno@clisp.org>
21870
21871         * lib/cloexec.c (set_cloexec_flag): Clarify intent of dup2 call.
21872
21873 2009-12-08  Eric Blake  <ebb9@byu.net>
21874
21875         fchdir: avoid memory leak on re-registration.
21876         * lib/fchdir.c (ensure_dirs_slot): Avoid memory leak.
21877
21878 2009-12-08  Jim Meyering  <meyering@redhat.com>
21879
21880         init.sh: avoid Solaris 10 /bin/sh portability problem
21881         Solaris 10's /bin/sh does not pass '.' arguments 2.. to the
21882         sourced script:
21883           $ printf 'echo "$@"\n' > f; /bin/sh -c '. ./f bar'
21884           $ printf 'echo "$@"\n' > f; /bin/bash -c '. ./f bar'
21885           bar
21886         tests/init.sh relied on that, accepting a --set-path=DIR argument,
21887         and two tests used that idiom.
21888         * tests/init.sh: Update suggested usage comments.
21889         (path_prepend_): New function, to be used in place
21890         of the --src-path=DIR option.
21891         (setup_): Move PATH-prepending code into path_prepend_.
21892         * tests/test-pread.sh: Adapt to new usage.
21893         * tests/test-xalloc-die.sh: Likewise.
21894
21895 2009-12-08  Simon Josefsson  <simon@josefsson.org>
21896
21897         * doc/gnulib.texi (Glibc pty.h): Add.
21898         * doc/glibc-functions/forkpty.texi: Add.
21899         * doc/glibc-functions/openpty.texi: Add.
21900         Suggested by Bruno Haible.
21901
21902 2009-12-08  Eric Blake  <ebb9@byu.net>
21903
21904         fchdir: fix logic bugs
21905         * m4/fchdir.m4 (gl_FUNC_FCHDIR): Fix logic bug.
21906         * tests/test-fchdir.c (main): Enhance test.
21907         * lib/fchdir.c (rpl_fstat): Always provide if fchdir replacement
21908         is in use.
21909
21910         dup2: fix logic bugs
21911         * lib/dup2.c (dup2): Fix logic bugs.  Use HAVE_DUP2 rather than
21912         REPLACE_DUP2 to decide when rpl_dup2 is needed.
21913         * m4/dup2.m4 (gl_REPLACE_DUP2): Only define REPLACE_DUP2 when dup2
21914         exists.
21915         (gl_FUNC_DUP2): Drop unneeded AC_DEFINE.
21916
21917 2009-12-07  Eric Blake  <ebb9@byu.net>
21918
21919         unlink: fix m4 detection
21920         * m4/unlink.m4 (gl_FUNC_UNLINK): Include correct header.
21921
21922         unistd-safer: add unit test
21923         * modules/unistd-safer-tests: New file.
21924         * tests/test-dup-safer.c: Likewise.
21925         * tests/test-cloexec.c (setmode): Avoid compiler warning.
21926         * tests/test-dup2.c (setmode): Likewise.
21927         * lib/cloexec.c (dup_cloexec): Fix mingw compile error.
21928
21929         cloexec: preserve text vs. binary across dup_cloexec
21930         * lib/cloexec.c (dup_cloexec) [W32]: Query and use translation
21931         mode.
21932         * modules/dup2-tests (Depends-on): Add binary-io.
21933         * modules/cloexec-tests (Depends-on): Likewise.
21934         * tests/test-dup2.c (setmode, is_mode): New helpers.
21935         (main): Add tests that translation mode is preserved.
21936         * tests/test-cloexec.c (setmode, is_mode, main): Likewise.
21937         Reported by Bruno Haible.
21938
21939         mgetgroups: reduce duplicate listings
21940         * lib/mgetgroups.c (mgetgroups): Reduce duplicates from the
21941         resulting array.
21942         * tests/test-chown.h (test_chown): Simplify client.
21943         * tests/test-lchown.h (test_lchown): Likewise.
21944
21945 2009-12-06  Bruno Haible  <bruno@clisp.org>
21946
21947         * lib/cloexec.c (dup_cloexec): Fix handling of _gl_register_dup return
21948         value.
21949
21950 2009-12-06  Bruno Haible  <bruno@clisp.org>
21951
21952         * lib/progname.c: Include stdio.h, stdlib.h.
21953         (set_program_name): Reject a NULL argument.
21954
21955 2009-12-05  Eric Blake  <ebb9@byu.net>
21956
21957         pipe2-safer: new module
21958         * modules/pipe2-safer: New file.
21959         * lib/unistd-safer.h (pipe2_safer): New prototype.
21960         * lib/unistd--.h (pipe2): New wrapper.
21961         * lib/pipe-safer.c (pipe2_safer): New function.
21962         * modules/pipe (Depends-on): Add pipe2-safer.
21963         * lib/pipe.c (create_pipe) [WIN32]: Let pipe2_safer do the work.
21964
21965         stdlib-safer: preserve cloexec flag for mkostemp[s]
21966         * lib/mkstemp-safer.c (mkostemp_safer, mkostemps_safer): Use new
21967         fd_safer_flag.
21968
21969         unistd-safer: allow preservation of cloexec status via flag
21970         * lib/unistd-safer.h (dup_safer_flag, fd_safer_flag): New
21971         prototypes.
21972         * lib/dup-safer.c (dup_safer_flag): New function.
21973         * lib/fd-safer.c (fd_safer_flag): Likewise.
21974         * modules/cloexec (configure.ac): Set witness.
21975
21976         test-dup2: enhance test
21977         * modules/dup2-tests (Depends-on): Add cloexec.
21978         * tests/test-dup2.c (main): Enhance test.
21979
21980         cloexec: add dup_cloexec
21981         * lib/cloexec.h (dup_cloexec): New prototype.  Add copyright
21982         header and comments.
21983         * lib/cloexec.c (set_cloexec_flag): Add comments.
21984         (dup_cloexec): New function, with mingw implementation borrowed
21985         from...
21986         * lib/w32spawn.h (dup_noinherit): ...here.
21987         * modules/execute (Depends-on): Add cloexec.
21988         * modules/pipe (Depends-on): Likewise.
21989         * modules/cloexec (Depends-on): Add dup2.
21990         * modules/cloexec-tests (Files): New file.
21991         * tests/test-cloexec.c: Likewise.
21992
21993         test-xalloc-die: fix test for mingw
21994         * modules/xalloc-die-tests (Files): Add tests/init.sh.
21995         * tests/test-xalloc-die.sh: Rewrite to use init.sh.  Strip
21996         directory and .exe suffix off argv[0] output.
21997
21998         test-fseeko: fix test for mingw
21999         * tests/test-fseeko.c (fseek): Redefine GL_LINK_WARNING, rather
22000         than undefining fseek, so test will pass on mingw.
22001
22002 2009-12-05  Bruno Haible  <bruno@clisp.org>
22003
22004         * lib/progname.h (set_program_name): Clarify specification.
22005         * lib/progname.c (set_program_name): Likewise.
22006         Reported by Jim Meyering.
22007
22008 2009-12-05  Jim Meyering  <meyering@redhat.com>
22009
22010         maint.mk: backslash-escape parens in default regexp
22011         * top/maint.mk (news-check-regexp): Now that we're using grep -E,
22012         backslash-escape the literal parentheses.
22013
22014         maint.mk: news-date-check: use grep -E
22015         * top/maint.mk (today): Define a Make variable, not a...
22016         (news-date-check): ...shell variable.
22017         (news-date-regexp): Use the Make variable.
22018         Use grep's -E option.  Change the failing diagnostic to mention
22019         the variable, $(news-date-regexp).
22020
22021 2009-12-04  Alfred M. Szmidt  <ams@gnu.org>
22022
22023         maintainer-makefile: allow customization of NEWS entry format
22024         * top/maint.mk (news-date-regexp): New overridable variable.
22025         (news-date-check): Use it.
22026
22027 2009-12-04  Eric Blake  <ebb9@byu.net>
22028
22029         mgetgroups: add xgetgroups, and avoid ENOSYS failures
22030         * lib/mgetgroups.h (xgetgroups): New prototype.
22031         * lib/mgetgroups.c (xgetgroups): New wrapper.
22032         (mgetgroups): Handle ENOSYS.
22033         * modules/mgetgroups (Depends-on): Add realloc.
22034         Reported by Scott Harrison <scott.gnu.2009@scottrix.co.uk>.
22035
22036         mgetgroups: avoid argument promotion issues with -1
22037         * lib/mgetgroups.c (mgetgroups): A cast is required when checking
22038         for invalid gid_t.
22039         * tests/test-chown.h (getegid, test_chown): Likewise.
22040         * tests/test-lchown.h (getegid, test_lchown): Likewise.
22041
22042 2009-12-03  Paolo Bonzini  <bonzini@gnu.org>
22043
22044         exclude: Fix header file problems.
22045         * lib/exclude.h: Add multiple inclusion guards and include stdbool.h.
22046
22047 2009-12-01  Jim Meyering  <meyering@redhat.com>
22048
22049         fts: fts_open: do not let an empty string cause immediate failure
22050         This is required in support of GNU rm, for which the command
22051         "rm A '' B" must process and remove both A and B, in spite of
22052         the empty string argument.
22053         * lib/fts.c (fts_open): Do not let the presence of an empty string
22054         cause fts_open to fail immediately.  Most fts-using tools must be
22055         able to process all arguments, in order, and can be expected to
22056         diagnose such arguments themselves.
22057
22058 2009-11-30  Eric Blake  <ebb9@byu.net>
22059
22060         utimens: fix compilation error
22061         * lib/utimens.c (lutimens) [!HAVE_UTIMENSAT && HAVE_LUTIMES]:
22062         Declare variable at right scope.
22063
22064 2009-11-29  Jim Meyering  <meyering@redhat.com>
22065
22066         bootstrap: handle perl-5.11's changed --version output
22067         * build-aux/bootstrap (get_version): Handle perl separately,
22068         since perl-5.11's --version output is different.
22069
22070 2009-11-28  Jim Meyering  <meyering@redhat.com>
22071
22072         userspec: depend on the inttostr module, too
22073         * modules/userspec (Depends-on): Add inttostr.
22074
22075         userspec: disallow an ID that maps to (uid_t)-1 or (gid_t)-1
22076         * lib/userspec.c (parse_with_separator): Do not accept a user ID
22077         number of MAXUID when it evaluates to (uid_t) -1.
22078         Likewise for group ID.  Reported by Matt McCutchen in
22079         <http://savannah.gnu.org/bugs/?28113>
22080
22081         userspec: reformat to use spaces, not TABs
22082         * lib/userspec.c: Expand TABs to spaces.
22083         Add Emacs' "indent-tabs-mode: nil" hint.
22084
22085 2009-11-27  Eric Blake  <ebb9@byu.net>
22086
22087         getopt-gnu: flush out another BSD bug
22088         * m4/getopt.m4 (gl_GETOPT_CHECK_HEADERS): Test for the bug.
22089         * tests/test-getopt.c (main): Check POSIXLY_CORRECT first, to
22090         flush out BSD bug.
22091         * tests/test-getopt.h (test_getopt): End lists with NULL.
22092         * tests/test-getopt_long.h (test_getopt_long): Likewise.
22093         (test_getopt_long_posix): Enhance test.
22094         * modules/getopt-posix-tests (Depends-on): Add stdbool.
22095         * doc/glibc-functions/getopt_long.texi (getopt_long): Mention
22096         getopt-gnu.
22097         * doc/glibc-functions/getopt_long_only.texi (getopt_long_only):
22098         Likewise.
22099
22100 2009-11-27  Simon Josefsson  <simon@josefsson.org>
22101
22102         * modules/idpriv-droptemp-tests (Notice): Fix text.
22103
22104 2009-11-27  Jim Meyering  <meyering@redhat.com>
22105
22106         test-xalloc-die: avoid spurious failure due to libtool argv difference
22107         In a libtool-enabled project, this test would fail due to a difference
22108         in the emitted program name, e.g.,
22109         -test-xalloc-die: memory exhausted
22110         +/tmp/.../tests/.libs/lt-test-xalloc-die: memory exhausted
22111         Use program to avoid that.
22112         * modules/xalloc-die-tests (Depends-on): Add progname.
22113         * tests/test-xalloc-die.c: Include progname.h".
22114         (program_name): Remove decl.
22115         (main): Call set_program_name.
22116         * tests/test-xalloc-die.sh (compare): Remove unnecessary ${EXE}.
22117
22118 2009-11-26  Richard Jones  <rjones@redhat.com>
22119
22120         w32sock: leave win32 error in place.
22121         * lib/w32sock.h (set_winsock_errno): Do not call WSASetLastError.
22122
22123 2009-11-26  Eric Blake  <ebb9@byu.net>
22124
22125         init.sh: suggest to use skip_ and fail_ functions in comments
22126         * tests/init.sh: Add a sentence.
22127
22128 2009-11-25  Bruno Haible  <bruno@clisp.org>
22129
22130         init.sh: add documentation in comments
22131         * tests/init.sh: Add some developer and user documentation.
22132
22133 2009-11-26  Jim Meyering  <meyering@redhat.com>
22134
22135         init.sh: accommodate even those who specify bogus srcdir manually
22136         * tests/init.sh: Normally, srcdir is guaranteed by automake and
22137         configure-time tests to be sanitized, so that there is no need to
22138         use "$srcdir" in Makefile rules and shell scripts.  Using $srcdir
22139         (with no double quotes) suffices.  However, since tests may be
22140         invoked manually, and since you may explicitly set srcdir to the
22141         name of a directory containing spaces, do quote its uses here.
22142         * tests/test-pread.sh: Likewise.
22143         Suggested by Bruno Haible.
22144
22145         test-pread.sh: avoid diagnostics for those who ignore SIGPIPE
22146         * tests/test-pread.sh: Write no data into the pipe, because
22147         test-pread actually reads none.  This avoids a diagnostic,
22148         "bash: echo: write error: Broken pipe", that arises in the unusual
22149         event something is ignoring SIGPIPE, and might be interpreted
22150         as some sort of failure.  Reported by Bruno Haible.
22151
22152 2009-11-25  Jim Meyering  <meyering@redhat.com>
22153
22154         test-pread: cover failure with ESPIPE and EINVAL
22155         * tests/test-pread.c (main): Test for failure, too.
22156         * tests/test-pread.sh: Invoke with stdin on a pipe.
22157         Suggested by Eric Blake.
22158
22159         pread: improvement and fix
22160         * modules/pread (Depends-on): Depend on lseek, for portability to
22161         e.g., mingw.  Suggested by Eric Blake.
22162         * lib/pread.c (__libc_read): Define.  Reported by Richard W.M. Jones.
22163
22164         unistd.in.h: correct declaration of pread
22165         * lib/unistd.in.h: Correct type of "buf" parameter: void*, not char*
22166         Reported by Richard W.M. Jones.
22167
22168         test-pread.sh: distribute the test script
22169         * modules/pread-tests (Files): Include test-pread.sh.
22170
22171         test-pread.sh: clean up
22172         * tests/test-pread.sh: Don't refer to $builddir. Just use equivalent ".".
22173         * modules/pread-tests (TESTS_ENVIRONMENT): Don't export builddir.
22174         That is unnecessary, since it's always ".".
22175         Suggestion from Eric Blake.
22176
22177         test-pread.sh: make executable
22178         * tests/test-pread.sh: Set executable bit.
22179         Reported by Eric Blake.
22180
22181         correct typo in test-pread.sh
22182         * tests/test-pread.sh: Add #! line.
22183
22184         test pread
22185         * tests/test-pread.c: New file.
22186         * tests/test-pread.sh: Likewise.
22187         * modules/pread-tests: Likewise.
22188
22189         pread: new module
22190         * modules/pread: New file.
22191         * lib/unistd.in.h (pread): Define/declare.
22192         * lib/pread.c (pread): New file.
22193         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Define defaults.
22194         * modules/unistd (Makefile.am): Substitute witnesses.
22195         * doc/posix-functions/pread.texi (pread): Update.
22196         * MODULES.html.sh: Add pread.
22197
22198 2009-11-25  Jim Meyering  <meyering@redhat.com>
22199
22200         tests/init.sh: new file to be used via most *.sh tests
22201         * tests/init.sh: New file.
22202
22203 2009-11-25  Eric Blake  <ebb9@byu.net>
22204
22205         utimens: work around older Linux failure with symlinks
22206         * lib/utimens.c (lutimensat_works_really): New variable.
22207         (fdutimens, lutimens): Use it to manage kernels that support
22208         nanosecond times on files, but not on symlinks.
22209         Reported by OndÅ™ej Vašík.
22210
22211         utimes: fix configure grammar
22212         * m4/utimes.m4 (gl_FUNC_UTIMES): Delete spurious word.
22213
22214 2009-11-25  Paolo Bonzini  <bonzini@gnu.org>
22215
22216         regex: Fix fastmap for multibyte character ranges.
22217         * lib/regcomp.c (re_compute_fastmap_iter): Add all multibyte lead
22218         characters when a multibyte character range is included.
22219
22220 2009-11-22  Andy Wingo  <wingo@pobox.com>
22221
22222         version-etc: work also with AM_INIT_AUTOMAKE's no-define option
22223         * lib/version-etc.c [!defined PACKAGE]: Define to PACKAGE_TARNAME.
22224
22225 2009-11-24  Bruno Haible  <bruno@clisp.org>
22226
22227         doc: Most *_l functions exist in MacOS X 10.5.
22228         * doc/posix-functions/duplocale.texi: Update platforms list.
22229         * doc/posix-functions/freelocale.texi: Likewise.
22230         * doc/posix-functions/newlocale.texi: Likewise.
22231         * doc/posix-functions/uselocale.texi: Likewise.
22232         * doc/posix-functions/isalnum_l.texi: Likewise.
22233         * doc/posix-functions/isalpha_l.texi: Likewise.
22234         * doc/posix-functions/isblank_l.texi: Likewise.
22235         * doc/posix-functions/iscntrl_l.texi: Likewise.
22236         * doc/posix-functions/isdigit_l.texi: Likewise.
22237         * doc/posix-functions/isgraph_l.texi: Likewise.
22238         * doc/posix-functions/islower_l.texi: Likewise.
22239         * doc/posix-functions/isprint_l.texi: Likewise.
22240         * doc/posix-functions/ispunct_l.texi: Likewise.
22241         * doc/posix-functions/isspace_l.texi: Likewise.
22242         * doc/posix-functions/isupper_l.texi: Likewise.
22243         * doc/posix-functions/iswalnum_l.texi: Likewise.
22244         * doc/posix-functions/iswalpha_l.texi: Likewise.
22245         * doc/posix-functions/iswblank_l.texi: Likewise.
22246         * doc/posix-functions/iswcntrl_l.texi: Likewise.
22247         * doc/posix-functions/iswctype_l.texi: Likewise.
22248         * doc/posix-functions/iswdigit_l.texi: Likewise.
22249         * doc/posix-functions/iswgraph_l.texi: Likewise.
22250         * doc/posix-functions/iswlower_l.texi: Likewise.
22251         * doc/posix-functions/iswprint_l.texi: Likewise.
22252         * doc/posix-functions/iswpunct_l.texi: Likewise.
22253         * doc/posix-functions/iswspace_l.texi: Likewise.
22254         * doc/posix-functions/iswupper_l.texi: Likewise.
22255         * doc/posix-functions/iswxdigit_l.texi: Likewise.
22256         * doc/posix-functions/isxdigit_l.texi: Likewise.
22257         * doc/posix-functions/nl_langinfo_l.texi: Likewise.
22258         * doc/posix-functions/strcasecmp_l.texi: Likewise.
22259         * doc/posix-functions/strcoll_l.texi: Likewise.
22260         * doc/posix-functions/strfmon_l.texi: Likewise.
22261         * doc/posix-functions/strftime_l.texi: Likewise.
22262         * doc/posix-functions/strncasecmp_l.texi: Likewise.
22263         * doc/posix-functions/strxfrm_l.texi: Likewise.
22264         * doc/posix-functions/tolower_l.texi: Likewise.
22265         * doc/posix-functions/toupper_l.texi: Likewise.
22266         * doc/posix-functions/towctrans_l.texi: Likewise.
22267         * doc/posix-functions/towlower_l.texi: Likewise.
22268         * doc/posix-functions/towupper_l.texi: Likewise.
22269         * doc/posix-functions/wcscoll_l.texi: Likewise.
22270         * doc/posix-functions/wcsxfrm_l.texi: Likewise.
22271         * doc/posix-functions/wctrans_l.texi: Likewise.
22272         * doc/posix-functions/wctype_l.texi: Likewise.
22273         * doc/glibc-functions/strptime_l.texi: Likewise.
22274         * doc/glibc-functions/strtod_l.texi: Likewise.
22275         * doc/glibc-functions/strtof_l.texi: Likewise.
22276         * doc/glibc-functions/strtol_l.texi: Likewise.
22277         * doc/glibc-functions/strtold_l.texi: Likewise.
22278         * doc/glibc-functions/strtoll_l.texi: Likewise.
22279         * doc/glibc-functions/strtoul_l.texi: Likewise.
22280         * doc/glibc-functions/strtoull_l.texi: Likewise.
22281         * doc/glibc-functions/wcsftime_l.texi: Likewise.
22282         * doc/glibc-functions/wcstod_l.texi: Likewise.
22283         * doc/glibc-functions/wcstof_l.texi: Likewise.
22284         * doc/glibc-functions/wcstol_l.texi: Likewise.
22285         * doc/glibc-functions/wcstold_l.texi: Likewise.
22286         * doc/glibc-functions/wcstoll_l.texi: Likewise.
22287         * doc/glibc-functions/wcstoul_l.texi: Likewise.
22288         * doc/glibc-functions/wcstoull_l.texi: Likewise.
22289
22290 2009-11-24  Bruno Haible  <bruno@clisp.org>
22291
22292         duplocale: Fix logic bug.
22293         * lib/duplocale.c: Don't include <langinfo.h>.
22294         (_NL_LOCALE_NAME): Remove macro.
22295         (rpl_duplocale): Use setlocale instead of nl_langinfo.
22296         * tests/test-duplocale.c (main): Also test duplocale after uselocale.
22297
22298 2009-11-23  Jim Meyering  <meyering@redhat.com>
22299
22300         test-update-copyright: don't hard-code /usr/bin/perl
22301         * tests/test-update-copyright.sh (YEAR): Use date +%Y, rather than
22302         perl to print the current year.  Gilles Espinasse reported that
22303         the replaced use of perl was hard-coded as /usr/bin/perl.
22304
22305 2009-11-23  Bruno Haible  <bruno@clisp.org>
22306
22307         duplocale: Add support for glibc 2.3.x.
22308         * lib/duplocale.c (rpl_duplocale): Add fallback code for glibc 2.3.x.
22309
22310 2009-11-22  Bruno Haible  <bruno@clisp.org>
22311
22312         vasnprintf: Tiny optimization.
22313         * lib/vasnprintf.c (decimal_point_char): Choose the fast path also on
22314         MacOS X.
22315
22316 2009-11-22  Bruno Haible  <bruno@clisp.org>
22317
22318         Tests for module 'duplocale'.
22319         * modules/duplocale-tests: New file.
22320         * tests/test-duplocale.c: New file.
22321
22322         New module 'duplocale'.
22323         * m4/duplocale.m4: New file.
22324         * lib/locale.in.h (duplocale): New declaration.
22325         * lib/duplocale.c: New file.
22326         * m4/locale_h.m4 (gl_REPLACE_LOCALE_H, gl_LOCALE_MODULE_INDICATOR,
22327         gl_LOCALE_H_DEFAULTS): New macros.
22328         (gl_LOCALE_H): Require gl_LOCALE_H_DEFAULTS. Invoke
22329         gl_CHECK_NEXT_HEADERS unconditionally. Invoke gl_REPLACE_LOCALE_H.
22330         * modules/locale (Makefile.am): Substitute also GNULIB_DUPLOCALE,
22331         REPLACE_DUPLOCALE.
22332         * modules/duplocale: New file.
22333         * doc/posix-functions/duplocale.texi: Mention the glibc bug.
22334
22335 2009-11-22  Bruno Haible  <bruno@clisp.org>
22336
22337         * modules/locale-tests (configure.ac): Test for newlocale function.
22338         * tests/test-locale.c: When the system has extended locale functions,
22339         verify that <locale.h> defines locale_t and LC_GLOBAL_LOCALE.
22340
22341         locale: Make locale_t available when possible.
22342         * lib/locale.in.h: Include <xlocale.h> when it exists.
22343         * m4/locale_h.m4 (gl_LOCALE_H): Check for <xlocale.h> and arrange to
22344         replace <locale.h> if it does not define locale_t but <xlocale.h> does.
22345         * modules/locale (Depends-on): Add extensions.
22346         (Makefile.am): Also substitute HAVE_XLOCALE_H.
22347         * doc/posix-headers/locale.texi: Document the problem with locale_t.
22348
22349 2009-11-22  Bruno Haible  <bruno@clisp.org>
22350
22351         Add comments.
22352         * m4/dirent_h.m4 (gl_DIRENT_H): Add comment about gl_CHECK_NEXT_HEADERS
22353         invocation.
22354         * m4/iconv_h.m4 (gl_ICONV_H): Likewise.
22355         * m4/spawn_h.m4 (gl_SPAWN_H): Likewise.
22356         * m4/wchar.m4 (gl_WCHAR_H): Likewise.
22357
22358 2009-11-22  Bruno Haible  <bruno@clisp.org>
22359
22360         error: account for the possibility of freopen (stdout).
22361         * lib/error.c: Include <unistd.h>.
22362         (flush_stdout): New function, extracted from error and error_at_line.
22363         Determine stdout's fd dynamically.
22364         (error, error_at_line): Invoke flush_stdout.
22365         * m4/error.m4 (gl_PREREQ_ERROR): Require AC_C_INLINE.
22366         * modules/error (Depends-on): Add unistd.
22367
22368 2009-11-22  Bruno Haible  <bruno@clisp.org>
22369
22370         diffseq: Add comment.
22371         * lib/diffseq.h (IF_LINT): Add comment about pitfall.
22372
22373 2009-11-22  Jim Meyering  <meyering@redhat.com>
22374
22375         c-stack: avoid defining an unused static function
22376         * lib/c-stack.c (find_stack_direction): Do not define this function
22377         when it will not be used.
22378
22379         diffseq: avoid spurious gcc warnings
22380         * lib/diffseq.h (IF_LINT2): Define.
22381         (compareseq): Use it to initialize two members of "part".
22382         This avoids two used-uninitialized warnings.
22383
22384 2009-11-21  Jim Meyering  <meyering@redhat.com>
22385
22386         c-stack: avoid "ignoring return value of `write'" warning
22387         * lib/c-stack.c: Include "ignore-value.h".
22388         (die): Explicitly ignore each write return value.
22389         * modules/c-stack (Depends-on): Add ignore-value.
22390
22391 2009-11-21  Bruno Haible  <bruno@clisp.org>
22392
22393         diffseq: reduce scope of variable 'best'.
22394         * lib/diffseq.h (diag) [USE_HEURISTIC]: Reduce scope of 'best'
22395         variable, earlier used for two different purposes.
22396
22397 2009-11-21  Jim Meyering  <meyering@redhat.com>
22398
22399         diffseq: remove useless assignment to "best"
22400         * lib/diffseq.h (diag) [USE_HEURISTIC]: Remove useless "best = 0"
22401         assignment.  At that point "best" is already guaranteed to be zero.
22402
22403 2009-11-20  Eric Blake  <ebb9@byu.net>
22404
22405         build: mention ftp redirector in release announcements
22406         * top/maint.mk (gnu_rel_host, url_dir_list): Provide defaults for
22407         values that used to come from cfg.mk; mention FTP redirect URL.
22408         * build-aux/announce-gen: Mention the mirror list.
22409         Suggested by Karl Berry.
22410
22411         nanosleep: improve port to mingw
22412         * lib/nanosleep.c (rpl_nanosleep): Reject invalid arguments.
22413         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP): Incorporate LIBSOCKET into
22414         LIB_NANOSLEEP, but only when needed.
22415         * modules/select (Link): Document LIBSOCKET.
22416         * m4/select.m4 (gl_FUNC_SELECT): Ensure LIBSOCKET is defined early
22417         enough.
22418
22419         nanosleep: work around cygwin bug
22420         * lib/nanosleep.c (rpl_nanosleep) [HAVE_BUG_BIG_NANOSLEEP]:
22421         Fix logic bug when nanosleep fails.  Work around cygwin 1.5.x
22422         bug.
22423         (getnow): Delete, not needed.
22424         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP): No longer require
22425         LIB_CLOCK_GETTIME.
22426         * modules/nanosleep (Depends-on): Add intprops and verify.  Drop
22427         clock-time, gettime.
22428         * doc/posix-functions/nanosleep.texi (nanosleep): Document the
22429         bug.
22430         * modules/nanosleep-tests: New test.
22431         * tests/test-nanosleep.c: New file.
22432
22433         sleep: work around cygwin bug
22434         * lib/sleep.c (rpl_sleep): Work around the bug.
22435         * m4/sleep.m4 (gl_FUNC_SLEEP): Detect the bug.
22436         (gl_PREREQ_SLEEP): Delete unused macro.
22437         * modules/sleep (Depends-on): Add verify.
22438         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Add default.
22439         * modules/unistd (Makefile.am): Substitute witness.
22440         * lib/unistd.in.h (sleep): Update prototype.
22441         * doc/posix-functions/sleep.texi (sleep): Document the bug.
22442         * tests/test-sleep.c (main) [HAVE_DECL_ALARM]: Test it.
22443         * modules/sleep-tests (Depends-on): Check for alarm.
22444
22445 2009-11-20  Jim Meyering  <meyering@redhat.com>
22446
22447         maint.mk: improve sc_prohibit_magic_number_exit
22448         * top/maint.mk (sc_prohibit_magic_number_exit): Tighten regexp
22449         so it does not match uses like System.exit(1).
22450         Add comments showing how to correct all offenders.
22451
22452 2009-11-19  Eric Blake  <ebb9@byu.net>
22453
22454         xalloc-die-tests: add missing library
22455         * modules/xalloc-die-tests (Makefile.am): Add LDADD line.
22456
22457         test-xvasprintf: silence compiler warnings
22458         * tests/test-xvasprintf.c (test_xvasprintf, test_xasprintf): Mask
22459         empty string from gcc.
22460
22461 2009-11-19  Jim Meyering  <meyering@redhat.com>
22462
22463         xfreopen: new module, from coreutils
22464         * modules/xfreopen: New module.
22465         * lib/xfreopen.c: New file.
22466         * lib/xfreopen.h: New file.
22467         * MODULES.html.sh (File stream based Input/Output"): Add it.
22468
22469 2009-11-19  Eric Blake  <ebb9@byu.net>
22470
22471         manywarnings: depend on warnings
22472         * modules/manywarnings (Depends-on): Add warnings.
22473
22474         build: avoid compiler warnings
22475         * lib/select.c (rpl_select): Delete unused variable.
22476         * lib/setsockopt.c (rpl_setsockopt): Avoid incompatible pointer.
22477
22478 2009-11-18  Eric Blake  <ebb9@byu.net>
22479
22480         tests: avoid false negative with --with-packager
22481         * tests/test-version-etc.sh: Discard packager information.
22482         * tests/test-argp-version-etc-1.sh: Likewise.
22483         Reported by Mike Frysinger.
22484
22485         utimens: fix regression on Solaris
22486         * m4/utimens.m4 (gl_UTIMENS): Check for BSD bug.
22487         * lib/utimens.c (fdutimens): Revert 2009-11-08 change; Solaris 10
22488         can only change fd timestamps via futimesat.  Instead, use an
22489         additional witness macro to avoid BSD bug.
22490         Reported by Jim Meyering.
22491
22492 2009-11-17  Eric Blake  <ebb9@byu.net>
22493
22494         usleep: use it to simplify tests
22495         * modules/stat-time-tests (Depends-on): Add usleep.
22496         (configure.ac): Drop usleep check.
22497         * modules/chown-tests (Depends-on, configure.ac): Likewise.
22498         * modules/lchown-tests (Depends-on, configure.ac): Likewise.
22499         * modules/fdutimensat-tests (Depends-on, configure.ac): Likewise.
22500         * modules/futimens-tests (Depends-on, configure.ac): Likewise.
22501         * modules/openat-tests (Depends-on, configure.ac): Likewise.
22502         * modules/utimens-tests (Depends-on, configure.ac): Likewise.
22503         * modules/utimensat-tests (Depends-on, configure.ac): Likewise.
22504         * modules/pipe-filter-gi-tests (Depends-on, configure.ac):
22505         Likewise.
22506         * tests/test-chown.h (nap): Rely on nicer usleep semantics.
22507         * tests/test-lchown.h (nap): Likewise.
22508         * tests/test-pipe-filter-gi2-main.c (small_nap): Likewise.
22509         * tests/test-stat-time.c (nap): Likewise.
22510         * tests/test-utimens-common.h (nap): Update comments.
22511
22512         usleep: new module
22513         * modules/usleep: New file.
22514         * m4/usleep.m4 (gl_FUNC_USLEEP): Likewise.
22515         * lib/usleep.c (usleep): Likewise.
22516         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Add defaults.
22517         * modules/unistd (Makefile.am): Substitute witnesses.
22518         * lib/unistd.in.h (usleep): Add declaration.
22519         * doc/pastposix-functions/usleep.texi (usleep): Document this.
22520         * MODULES.html.sh (Date and time): Likewise.
22521         * modules/usleep-tests (Depends-on): New test.
22522         * tests/test-usleep.c: New file.
22523
22524         chown: work around OpenBSD bug
22525         * lib/chown.c (rpl_chown): Work around the bug.
22526         * lib/lchown.c (rpl_lchown): Attempt to do likewise.
22527         * m4/chown.m4 (gl_FUNC_CHOWN): Test for ctime bug.
22528         * m4/lchown.m4 (gl_FUNC_LCHOWN): Check for lchmod.
22529         * modules/chown (Depends-on): Add stdbool.
22530         * modules/lchown (Depends-on): Likewise.
22531         * doc/posix-functions/chown.texi (chown): Document the bug.
22532         * doc/posix-functions/lchown.texi (lchown): Likewise.
22533         * tests/test-lchown.h (test_chown): Relax test.
22534
22535         mkstemp: avoid conflict with C++ keyword template
22536         * lib/mkdtemp.c (mkdtemp): Change spelling of template.
22537         * lib/mkostemp.c (mkostemp): Likewise.
22538         * lib/mkostemps.c (mkostemps): Likewise.
22539         * lib/mkstemp.c (mkstemp): Likewise.
22540         * lib/mkstemps.c (mkstemps): Likewise.
22541
22542         xalloc-die-tests: optimize
22543         * tests/test-xalloc-die.sh: Reduce number of processes.
22544
22545 2009-11-17  Simon Josefsson  <simon@josefsson.org>
22546
22547         * gnulib-tool: Support LGPLv3+ licenses in module files.  Tiny
22548         patch from ludo@gnu.org (Ludovic Courtès).
22549
22550 2009-11-17  Jim Meyering  <meyering@redhat.com>
22551
22552         version-etc: use proper license string
22553         * modules/version-etc (License): Use LGPL, not LGPLv3+.
22554         * modules/version-etc-fsf: Likewise.
22555
22556 2009-11-17  Simon Josefsson  <simon@josefsson.org>
22557
22558         * tests/test-xalloc-die.sh: Add license.  Check that nothing is
22559         printed to stdout.  Deal with EOL differences.
22560
22561 2009-11-17  Eric Blake  <ebb9@byu.net>
22562
22563         unsetenv: work around Solaris bug
22564         * m4/setenv.m4 (gl_FUNC_UNSETENV): Check for bug.
22565         * lib/unsetenv.c (rpl_unsetenv): Work around it.
22566         Reported by Jim Meyering.
22567
22568         vasnprintf: avoid compiler warnings
22569         * lib/vasnprintf.c (VASNPRINTF): Avoid shadowing our own local
22570         variables.
22571         * lib/printf-args.c (PRINTF_FETCHARGS): Avoid type mismatch.
22572
22573 2009-11-17  Simon Josefsson  <simon@josefsson.org>
22574
22575         * modules/xalloc-die-tests (Makefile.am): Drop XFAIL_TESTS
22576         settings since xalloc-die is no longer the self test,
22577         xalloc-die.sh is.
22578
22579 2009-11-17  Jim Meyering  <meyering@redhat.com>
22580
22581         test-xalloc-die.sh: make the code agree with the commit log
22582         * tests/test-xalloc-die.sh: Put "." at the front of $PATH, not
22583         at the end, just in case you happen to have a test-xalloc-die
22584         program in some other PATH directory.
22585
22586         test-xalloc-die.sh: fix a portability bug
22587         * tests/test-xalloc-die.sh: Do not invoke via ./test-xalloc-die.
22588         Instead, set PATH to start with "." and invoke via "test-xalloc-die".
22589         Otherwise, argv[0] (as often seen in diagnostics) would be too
22590         system-dependent, sometimes with, and sometimes without the leading "./".
22591
22592         version-etc-fsf: relax license to LGPLv3+
22593         * modules/version-etc-fsf (License): Relax license.
22594
22595 2009-11-16  Eric Blake  <ebb9@byu.net>
22596
22597         xalloc-die-tests: avoid printing null pointer
22598         * modules/xalloc-die-tests (Files, Makefile.am): Wrap execution in
22599         shell script.
22600         * tests/test-xalloc-die.c (program_name): Declare.
22601         * tests/test-xalloc-die.sh (tmpfiles): New file.
22602
22603         setenv, unsetenv: work around various bugs
22604         * lib/setenv.c (setenv) [!HAVE_SETENV]: Resync from glibc.
22605         (setenv) [HAVE_SETENV]: Work around bugs.
22606         * lib/unsetenv.c (unsetenv) [HAVE_UNSETENV]: Work around bugs.
22607         * m4/setenv.m4 (gl_FUNC_SETENV_SEPARATE, gl_FUNC_UNSETENV): Check
22608         for bugs.
22609         (gl_FUNC_SETENV): Write in terms of gl_FUNC_SETENV_SEPARATE.
22610         * m4/environ.m4 (gl_ENVIRON): Avoid expand-before-require.
22611         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Update defaults.
22612         * modules/stdlib (Makefile.am): Update substitutions.
22613         * lib/stdlib.in.h (setenv, unsetenv): Update prototypes.
22614         * doc/posix-functions/setenv.texi (setenv): Document the bugs.
22615         * doc/posix-functions/unsetenv.texi (unsetenv): Likewise.
22616         * modules/setenv-tests: New test.
22617         * modules/unsetenv-tests: Likewise.
22618         * tests/test-setenv.c: New file.
22619         * tests/test-unsetenv.c: Likewise.
22620
22621 2009-11-16  Jim Meyering  <meyering@redhat.com>
22622
22623         version-etc: relax license to LGPLv3+
22624         * modules/version-etc (License): Relax license.
22625
22626         better AC_REQUIRE expanded-before-required-warning avoidance
22627         * m4/chown.m4 (gl_FUNC_CHOWN, gl_FUNC_CHOWN_FOLLOWS_SYMLINK): Define
22628         with AC_DEFUN_ONCE, rather than AC_DEFUN, to avoid AC_REQUIRE warnings.
22629         Suggested by Eric Blake.  This change also reverts commit 1b712ba8,
22630         which is no longer needed.
22631
22632 2009-11-16  Eric Blake  <ebb9@byu.net>
22633
22634         test-freading: clean up temporary file
22635         * tests/test-freading.c (main): Remove file on success, and use
22636         ASSERT more liberally.
22637         Reported by Jim Meyering.
22638
22639 2009-11-16  Jim Meyering  <meyering@redhat.com>
22640
22641         avoid new AC_REQUIRE expanded-before-required warnings
22642         * modules/chown (configure.ac): Require gl_FUNC_CHOWN, rather than
22643         merely using it.
22644         * modules/euidaccess (configure.ac): Likewise for gl_FUNC_EUIDACCESS.
22645         * modules/faccessat (configure.ac): Likewise for gl_FUNC_FACCESSAT.
22646
22647 2009-11-15  Simon Josefsson  <simon@josefsson.org>
22648
22649         * tests/test-xalloc-die.c: New file.
22650         * modules/xalloc-die-tests: New file.
22651         * gnulib-tool (func_emit_tests_Makefile_am): Also initialize
22652         XFAIL_TESTS so it can be appended by modules.
22653
22654 2009-11-15  Simon Josefsson  <simon@josefsson.org>
22655
22656         * lib/gc-pbkdf2-sha1.c: Remove comments from RFC 2898.  Reported
22657         by Vladimir 'phcoder' Serbinenko <phcoder@gmail.com>.
22658
22659 2009-11-14  Eric Blake  <ebb9@byu.net>
22660
22661         fnmatch: avoid compiler warning
22662         * lib/fnmatch_loop.c (NEW_PATTERN): Coerce addition to unsigned,
22663         to silence compiler warning about mismatch signedness in ?:.
22664         Reported by Robert Millan.
22665
22666         intprops: add double-inclusion guard
22667         * lib/intprops.h: Allow idempotent includes.
22668         Suggested by Bruce Korb.
22669
22670         openat: detect Solaris fchownat bug
22671         * lib/fchownat.c (rpl_fchownat): Work around Solaris bug.  Avoid
22672         penalizing glibc chownat when only lchownat is broken.
22673         * m4/openat.m4 (gl_FUNC_FCHOWNAT): Replace fchownat if there are
22674         trailing slash bugs.
22675         * doc/posix-functions/fchownat.texi (fchownat): Document the bug.
22676         * modules/openat-tests (Files): Include more files.
22677         (Depends-on): Add mgetgroups, sleep, stat-time.
22678         (configure.ac): Add additional checks.
22679         (Makefile.am): Build new test.
22680         * tests/test-fchownat.c: New file.
22681
22682         lchown: detect Solaris and FreeBSD bug
22683         * lib/lchown.c (rpl_lchown): Work around bug.
22684         * m4/lchown.m4 (gl_FUNC_LCHOWN): Check for trailing slash bugs.
22685         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Add witness.
22686         * modules/unistd (Makefile.am): Populate it.
22687         * lib/unistd.in.h (lchown): Update declaration.
22688         * doc/posix-functions/lchown.texi (lchown): Document the bug.
22689         * modules/lchown-tests: New file.
22690         * tests/test-lchown.h (test_lchown): Likewise.
22691         * tests/test-lchown.c (main): Likewise.
22692
22693         chown: detect Solaris and FreeBSD bug
22694         * lib/chown.c (rpl_chown): Work around bug.
22695         * m4/chown.m4 (gl_FUNC_CHOWN): Check for trailing slash bugs.
22696         (gl_PREREQ_CHOWN): Delete.
22697         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Add witness.
22698         * modules/unistd (Makefile.am): Populate it.
22699         * lib/unistd.in.h (chown): Update declaration.
22700         * lib/lchown.c (chown): Update client.
22701         * modules/lchown (Depends-on): Add lstat.
22702         * doc/posix-functions/chown.texi (chown): Document the bug.
22703         * doc/posix-functions/getgroups.texi (getgroups): Document
22704         getgroups pitfall.
22705         * modules/chown-tests: New file.
22706         * tests/test-chown.h (test_chown): Likewise.
22707         * tests/test-chown.c (main): Likewise.
22708
22709 2009-11-14  Robert Millan  <rmh.grub@aybabtu.com>  (tiny change)
22710
22711         gnulib-tool: correctly detect absence of m4 directories
22712         * gnulib-tool: Avoid extra newline on data passed to wc -l.
22713
22714 2009-11-14  Jim Meyering  <meyering@redhat.com>
22715
22716         maint.mk: Prohibit inclusion of "xalloc.h" without use.
22717         * top/maint.mk (sc_prohibit_close_stream_without_use): New rule.
22718
22719 2009-11-14  John W. Eaton  <jwe@gnu.org>
22720
22721         strftime.h: wrap funtion declaration in extern "C" block
22722         * lib/strftime.h (nstrftime) [__cplusplus]: Wrap declaration.
22723
22724 2009-11-13  Eric Blake  <ebb9@byu.net>
22725
22726         getgroups: avoid compiler warning
22727         * lib/getgroups.c (rpl_getgroups): Delete shadowed variable.
22728
22729         getgroups: work around FreeBSD bug
22730         * lib/getgroups.c (rpl_getgroups): Work around the bug.
22731         * m4/getgroups.m4 (gl_FUNC_GETGROUPS): Detect the bug.
22732         * doc/posix-functions/getgroups.texi (getgroups): Document it.
22733         * tests/test-getgroups.c (main): Fix buffer overrun.
22734
22735         getgroups: avoid compilation failure
22736         * lib/getgroups.c (includes): Include <stdint.h> for SIZE_MAX.
22737         * modules/getgroups (Depends-on): Add stdint.
22738
22739 2009-11-13  Jim Meyering  <meyering@redhat.com>
22740
22741         test-getgroups: avoid compilation failure
22742         * tests/test-getgroups.c: Include <stdint.h> for use of SIZE_MAX.
22743
22744 2009-11-13  Eric Blake  <ebb9@byu.net>
22745
22746         mgetgroups: new module, taken from coreutils
22747         * modules/mgetgroups: New file.
22748         * lib/mgetgroups.h: Likewise.
22749         * lib/mgetgroups.c (mgetgroups): Likewise.
22750         * m4/mgetgroups.m4 (gl_MGETGROUPS): Likewise.
22751         * MODULES.html.sh (Users and groups): Mention it.
22752
22753         getgroups: don't expose GETGROUPS_T to user
22754         * lib/getgroups.c (rpl_getgroups): Change signature.  Copy array
22755         an element at a time if GETGROUPS_T is wrong size.
22756         * lib/getugroups.h (getugroups): Change signature.
22757         * lib/unistd.in.h (getgroups): Likewise.
22758         * m4/getgroups.m4 (gl_FUNC_GETGROUPS): Use replacement if
22759         signature needs fixing.
22760         * m4/getugroups.m4 (gl_GETUGROUPS): No longer need
22761         AC_TYPE_GETGROUPS.
22762         * modules/group-member (Depends-on): Add getgroups.
22763         * lib/group-member.c (group_info, get_group_info): Use gid_t.
22764         (group_member): Rely on getgroups replacement.
22765         * lib/getugroups.c (getugroups): Use gid_t.
22766         * tests/test-getgroups.c (main): Likewise.
22767         * NEWS: Mention the signature change.
22768         * doc/posix-functions/getgroups.texi (getgroups): Mention the
22769         problem with signature.
22770         * doc/glibc-functions/setgroups.texi (setgroups): Mention that
22771         GETGROUPS_T is still useful for setgroups.
22772
22773         getgroups, getugroups: provide stubs for mingw
22774         * lib/getgroups.c (getgroups): Provide ENOSYS stub for mingw.
22775         * lib/getugroups.c (getugroups): Likewise.
22776         * m4/getgroups.m4 (gl_FUNC_GETGROUPS): Check for missing
22777         function.  Modernize replacement scheme.
22778         (gl_PREREQ_GETGROUPS): Delete.
22779         * m4/getugroups.m4 (gl_GETUGROUPS): Check for <grp.h>.
22780         * modules/getgroups (configure.ac): Declare witness.
22781         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Add default.
22782         * modules/unistd (Depends-on): Substitute witness.
22783         * lib/unistd.in.h (getgroups): Declare replacement.
22784
22785         getgroups: avoid calling exit
22786         * modules/getgroups (Depends-on): Add malloc-posix and unistd,
22787         drop xalloc.
22788         * modules/getgroups-tests (Depends-on, Makefile.am): Drop unneeded
22789         dependencies.
22790         * lib/getgroups.c (rpl_getgroups): Fail with ENOMEM rather than
22791         exiting, in the rare case of malloc failure.
22792
22793         getgroups: fix logic error
22794         * lib/getgroups.c (rpl_getgroups): Don't fail if current process
22795         has more than 20 groups.
22796         * modules/getgroups-tests: New test.
22797         * tests/test-getgroups.c: New file.
22798
22799 2009-11-13  Simon Josefsson  <simon@josefsson.org>
22800
22801         * tests/test-base64.c: Improve.
22802
22803 2009-11-13  Simon Josefsson  <simon@josefsson.org>
22804
22805         * tests/test-xvasprintf.c: Fix memory leak, suggested by Eric
22806         Blake <ebb9@byu.net>.
22807
22808 2009-11-13  Simon Josefsson  <simon@josefsson.org>
22809
22810         * tests/test-xvasprintf.c: Add %s%s related checks.
22811
22812 2009-11-12  Eric Blake  <ebb9@byu.net>
22813
22814         version-etc: match standards.texi style
22815         * lib/version-etc.c (emit_bug_reporting_address): Drop periods,
22816         and use <> only for URLs.
22817
22818 2009-11-10  Kamil Dudka  <kdudka@redhat.com>
22819
22820         fts: do not fail on a submount during traversal
22821         * lib/fts.c (fts_build): Read the stat info again after opening
22822         a directory if the FTS_TIGHT_CYCLE_CHECK flag is set.
22823         Original report at http://bugzilla.redhat.com/501848.
22824
22825 2009-11-12  Jim Meyering  <meyering@redhat.com>
22826
22827         bootstrap: sync from coreutils
22828         * build-aux/bootstrap (bootstrap_epilogue): New function.
22829         Use git_modules_config in one more place.  This make bootstrap's
22830         --gnulib-srcdir option more useful for testing.
22831
22832         bootstrap: generalize autoheader check
22833         * build-aux/bootstrap: Look for AC_CONFIG_HEADER as well as
22834         AC_CONFIG_HEADERS.
22835
22836 2009-11-11  Eric Blake  <ebb9@byu.net>
22837
22838         mkfifoat: use new modules for Solaris and BSD bugs
22839         * m4/mkfifoat.m4 (gl_FUNC_MKFIFOAT): Simplify.
22840         * lib/mkfifoat.c (mknodat): Split...
22841         * lib/mknodat.c (mknodat): ...into new file.
22842         * modules/mkfifoat (Files): Ship new file.
22843         (Depends-on): Add mkfifo, mknod.
22844         * modules/mkfifoat-tests (Files): Reuse mkfifo tests.
22845         (Depends-on): Add symlink.
22846         * tests/test-mkfifoat.c (main): Enhance test.  Drop portions now
22847         redundant with test_mkfifo.h.
22848         (do_mkfifoat, do_mknodat): New helpers.
22849
22850         mknod: new module
22851         * modules/mknod: New file.
22852         * m4/mknod.m4 (gl_FUNC_MKNOD): Likewise.
22853         * lib/mknod.c (mknod): Likewise.
22854         * m4/sys_stat_h.m4 (gl_SYS_STAT_H_DEFAULTS): Set witness
22855         defaults.
22856         * modules/sys_stat (Makefile.am): Substitute them.
22857         * lib/sys_stat.in.h (mknod): Declare replacement.
22858         * MODULES.html.sh (Support for systems lacking POSIX:2008):
22859         Document it.
22860         * doc/posix-functions/mknod.texi (mknod): Likewise.
22861         * modules/mknod-tests: New test.
22862         * tests/test-mknod.c: Likewise.
22863
22864         mkfifo: new module
22865         * modules/mkfifo: New file.
22866         * m4/mkfifo.m4 (gl_FUNC_MKFIFO): Likewise.
22867         * lib/mkfifo.c (mkfifo): Likewise.
22868         * m4/sys_stat_h.m4 (gl_SYS_STAT_H_DEFAULTS): Set witness
22869         defaults.
22870         * modules/sys_stat (Makefile.am): Substitute them.
22871         * lib/sys_stat.in.h (mkfifo): Declare replacement.
22872         * MODULES.html.sh (Support for systems lacking POSIX:2008):
22873         Document it.
22874         * doc/posix-functions/mkfifo.texi (mkfifo): Likewise.
22875         * modules/mkfifo-tests: New test.
22876         * tests/test-mkfifo.h (test_mkfifo): New file, borrowed in part
22877         from test-mkfifoat.c.
22878         * tests/test-mkfifo.c: New file.
22879
22880         readlink: detect FreeBSD bug
22881         * m4/readlink.m4 (gl_FUNC_READLINK): Also detect FreeBSD bug with
22882         slash on symlink.
22883         * doc/posix-functions/readlink.texi (readlink): Document the bug.
22884         * tests/test-readlink.h (test_readlink): Enhance test.
22885
22886         symlink: detect FreeBSD bug
22887         * m4/symlink.m4 (gl_FUNC_SYMLINK): Also detect FreeBSD bug with
22888         slash on symlink.
22889         * doc/posix-functions/symlink.texi (symlink): Document the bug.
22890         * tests/test-symlink.h (test_symlink): Enhance test.
22891
22892 2009-11-10  Eric Blake  <ebb9@byu.net>
22893
22894         link: detect FreeBSD bug
22895         * m4/link.m4 (gl_FUNC_LINK): Also detect FreeBSD bug with slash on
22896         symlink.
22897         * doc/posix-functions/link.texi (link): Document the bug.
22898         * tests/test-link.h (test_link): Enhance test.
22899         * tests/test-linkat.c (main): Update caller.
22900
22901         unlink, remove: detect FreeBSD bug
22902         * m4/unlink.m4 (gl_FUNC_UNLINK): Also detect FreeBSD bug with
22903         slash on symlink.
22904         * doc/posix-functions/unlink.texi (unlink): Document the bug.
22905         * doc/posix-functions/remove.texi (remove): Likewise.
22906         * tests/test-unlink.h (test_unlink): Enhance test.
22907         * tests/test-remove.c (main): Likewise.
22908
22909 2009-11-09  Eric Blake  <ebb9@byu.net>
22910
22911         rename: detect FreeBSD bug
22912         * m4/rename.m4 (gl_FUNC_RENAME): Also detect FreeBSD bug with
22913         slash on symlink.
22914         * modules/renameat-tests (Depends-on): Add filenamecat.
22915         * tests/test-rename.h (test_rename): Allow one more errno.
22916         * tests/test-renameat.c (main): Likewise.
22917         * doc/posix-functions/rename.texi (rename): Document the bug.
22918
22919         open: detect FreeBSD bug
22920         * m4/open.m4 (gl_FUNC_OPEN): Also detect FreeBSD bug with slash on
22921         symlink.
22922         * doc/posix-functions/open.texi (open): Document the bug.
22923         * doc/posix-functions/utimes.texi (utimes): Likewise.
22924         * tests/test-open.h (test_open): Add parameters, and test symlink
22925         handling.
22926         * tests/test-open.c (main): Adjust caller.
22927         * tests/test-fcntl-safer.c (main): Likewise.
22928         * modules/open-tests (Depends-on): Add stdbool, symlink.
22929         * modules/fcntl-safer-tests (Depends-on): Likewise.
22930         * tests/test-openat.c (main): Add test-open tests.
22931
22932         stat: detect FreeBSD bug
22933         * m4/stat.m4 (gl_FUNC_STAT): Also detect FreeBSD bug with slash on
22934         symlink.
22935         * doc/posix-functions/stat.texi (stat): Document the bug.
22936         * tests/test-stat.h (test_stat_func): Add argument.
22937         * tests/test-stat.c (main): Adjust caller.
22938         * tests/test-fstatat.c (main): Likewise.
22939         * modules/stat-tests (Depends-on): Add stdbool, symlink.
22940         Reported by Jim Meyering.
22941
22942 2009-11-09  James Youngman  <jay@gnu.org>
22943
22944         strftime.c: include ignore-value.h only when FPRINTFTIME is defined
22945         * lib/strftime.c: Correct placement of #include "ignore-value.h".
22946
22947 2009-11-08  Jim Meyering  <meyering@redhat.com>
22948
22949         utimens: remove invalid futimesat call
22950         * lib/utimens.c (fdutimens): Remove invalid futimesat call.
22951         It used the file descriptor of the target file as the DIR_FD
22952         parameter and NULL as the file name.  That caused failure with
22953         errno == EFAULT on FreeBSD-8.0-rc2
22954
22955 2009-11-07  Eric Blake  <ebb9@byu.net>
22956
22957         fflush, freadseek: use fseeko, not fseek
22958         * lib/fflush.c (clear_ungetc_buffer_preserving_position)
22959         (clear_ungetc_buffer): Avoid potential problems on large files.
22960         * lib/freadseek.c (freadseek): Likewise.
22961         * modules/freadseek (Depends-on): Add fseeko.
22962         * modules/fseek (configure.ac): Set a witness.
22963         * tests/test-fflush.c (main): Use fseeko.
22964         * tests/test-fpurge.c (fseek): Disable link warning.
22965         * tests/test-freadable.c (fseek): Likewise.
22966         * tests/test-freading.c (fseek): Likewise.
22967         * tests/test-fseeko.c (fseek): Likewise.
22968         * tests/test-ftell.c (fseek): Likewise.
22969         * tests/test-ftello.c (fseek): Likewise.
22970         * tests/test-fwritable.c (fseek): Likewise.
22971         * tests/test-fwriting.c (fseek): Likewise.
22972
22973 2009-11-06  Simon Josefsson  <simon@josefsson.org>
22974
22975         * modules/memchr (Depends-on): Drop getpagesize dependency.
22976
22977 2009-11-06  Simon Josefsson  <simon@josefsson.org>
22978
22979         * build-aux/pmccabe2html: Disable execute bit.  Suggested by
22980         Reported by Ludovic Courtès.
22981         * build-aux/pmccabe2html: Improve example usage.
22982         * build-aux/pmccabe2html: Drop #! header.  Doc fix.
22983
22984 2009-11-06  Jim Meyering  <meyering@redhat.com>
22985
22986         do-release-commit-and-tag: New module.
22987         Automate the release-commit and tag process.
22988         * build-aux/do-release-commit-and-tag: New script, from coreutils.
22989         * modules/do-release-commit-and-tag: New file.
22990         * MODULES.html.sh (Support for maintaining and releasing): Add it.
22991
22992 2009-11-06  Simon Josefsson  <simon@josefsson.org>
22993
22994         * modules/select-tests (test_select_LDADD): Add $(INET_PTON_LIB)
22995         because test-select.c uses inet_pton.
22996
22997 2009-11-06  Simon Josefsson  <simon@josefsson.org>
22998
22999         * m4/getaddrinfo.m4: Add content of INET_NTOP_LIB to
23000         GETADDRINFO_LIB.  Bump serial number.
23001         * modules/getaddrinfo (Link): Only mention GETADDRINFO_LIB again.
23002         Suggested by Eric Blake <ebb9@byu.net>.
23003
23004 2009-11-05  Eric Blake  <ebb9@byu.net>
23005
23006         strtod: detect darwin bug
23007         * m4/strtod.m4 (gl_FUNC_STRTOD): Filter out darwin bug on "nan(".
23008         Reported by Leo Davis.
23009
23010         freopen-safer: new module
23011         * modules/freopen-safer: New module.
23012         * m4/stdio-safer.m4 (gl_FREOPEN_SAFER): New macro.
23013         * lib/freopen-safer.c (freopen_safer): New file.
23014         * lib/stdio-safer.h (freopen_safer): New declaration.
23015         * lib/stdio--.h (freopen): New override.
23016         * MODULES.html.sh (File stream based Input/Output): Mention it.
23017         * doc/posix-functions/freopen.texi (freopen): Mention pitfalls and
23018         freopen-safer module.
23019         * doc/posix-functions/stderr.texi (stderr): Likewise.
23020         * doc/posix-functions/stdin.texi (stdin): Likewise.
23021         * doc/posix-functions/stdout.texi (stdout): Likewise.
23022         * modules/freopen-safer-tests: New test.
23023         * tests/test-reopen-safer.c: New file.
23024
23025 2009-11-05  Jim Meyering  <meyering@redhat.com>
23026
23027         maint.mk: Prohibit inclusion of "close-stream.h" without use.
23028         * top/maint.mk (sc_prohibit_close_stream_without_use): New rule.
23029
23030 2009-11-05  Simon Josefsson  <simon@josefsson.org>
23031
23032         * modules/pmccabe2html (configure.ac): Check for pmccabe tool.
23033
23034 2009-11-05  Simon Josefsson  <simon@josefsson.org>
23035
23036         * modules/getaddrinfo (Link): Add $(INET_NTOP_LIB).
23037
23038 2009-11-05  Simon Josefsson  <simon@josefsson.org>
23039
23040         Fix link error.
23041         * m4/inet_ntop.m4 (gl_INET_NTOP): Fix test of AC_SEARCH_LIBS result.
23042         * m4/inet_pton.m4 (gl_INET_PTON): Likewise.
23043
23044 2009-11-05  Simon Josefsson  <simon@josefsson.org>
23045
23046         * tests/test-func.c: Also test value of __func__.
23047
23048 2009-11-05  Simon Josefsson  <simon@josefsson.org>
23049
23050         * tests/test-sys_socket.c: Use smaller constant value, sa_family_t
23051         may be an 8-bit type.  Reported by Bruno Haible <bruno@clisp.org>.
23052
23053 2009-11-05  Bruno Haible  <bruno@clisp.org>
23054
23055         Fix link error.
23056         * m4/inet_ntop.m4 (gl_INET_NTOP): Fix test of AC_SEARCH_LIBS result.
23057         * m4/inet_pton.m4 (gl_INET_PTON): Likewise.
23058         Reported by Brad Hards <bradh@frogmouth.net> via Simon Josefsson.
23059
23060 2009-11-05  Bruno Haible  <bruno@clisp.org>
23061
23062         Tests for module 'inet_pton'.
23063         * modules/inet_pton-tests: New file.
23064         * tests/test-inet_pton.c: New file.
23065
23066 2009-11-05  Bruno Haible  <bruno@clisp.org>
23067
23068         Tests for module 'inet_ntop'.
23069         * modules/inet_ntop-tests: New file.
23070         * tests/test-inet_ntop.c: New file.
23071
23072 2009-11-04  Eric Blake  <ebb9@byu.net>
23073
23074         stdlib-safer: wrap all mkstemp variants
23075         * modules/mkostemp (configure.ac): Set witness.
23076         * modules/mkostemps (configure.ac): Likewise.
23077         * modules/mkstemps (configure.ac): Likewise.
23078         * lib/stdlib-safer.h (mkostemp_safer, mkostemps_safer)
23079         (mkstemps_safer): Wrap more functions.
23080         * lib/stdlib--.h (mkostemp, mkostemps, mkstemps): Default the
23081         wrapping.
23082         * lib/mkstemp-safer.c (mkostemp_safer, mkostemps_safer)
23083         (mkstemps_safer): Implement the wrappers.
23084
23085         mkstemps, mkostemps: new modules
23086         * modules/mkostemps: New module.
23087         * modules/mkstemps: Likewise.
23088         * lib/mkostemps.c (mkostemps): New file.
23089         * lib/mkstemps.c (mkstemps): Likewise.
23090         * m4/mkostemps.m4 (gl_FUNC_MKOSTEMPS): Likewise.
23091         * m4/mkstemps.m4 (gl_FUNC_MKSTEMPS): Likewise.
23092         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Add witnesses.
23093         * modules/stdlib (Makefile.am): Substitute them.
23094         * lib/stdlib.in.h (mkostemps, mkstemps): Declare them.
23095         * doc/glibc-functions/mkstemps.texi (mkstemps): New file.
23096         * doc/glibc-functions/mkostemps.texi (mkostemps): Likewise.
23097         * doc/gnulib.texi (Glibc stdlib.h): Include them.
23098         * MODULES.html.sh (File system functions): Mention them.
23099
23100         tempname: resync from glibc
23101         * lib/tempname.c (__gen_tempname): Add suffixlen argument.  Use
23102         same values for __GT_FILE as glibc.  Abort even when assertions
23103         are disabled.
23104         * lib/tempname.h (GT_FILE): Use glibc __GT_FILE, if available, and
23105         match its value otherwise.  Allow idempotent inclusion.
23106         * lib/mkdtemp.c (mkdtemp): Adjust caller.
23107         * lib/mkostemp.c (mkostemp): Likewise.
23108         * lib/mkstemp.c (mkstemp): Likewise.
23109         * lib/tmpfile.c (tmpfile): Likewise.
23110         * NEWS: Document this.
23111
23112         utimens: fix use of futimens on older Linux
23113         * lib/utimens.c (fdutimens): Use updated, rather than original,
23114         timespec to avoid bug in older Linux kernel.
23115         Reported by Simon Josefsson.
23116
23117 2009-11-04  Bruno Haible  <bruno@clisp.org>
23118
23119         Make num_processors more flexible and consistent.
23120         * lib/nproc.h (enum nproc_query): New type.
23121         (num_processors): Add a 'query' argument.
23122         * lib/nproc.c: Include <stdlib.h>, <sched.h>, c-ctype.h.
23123         (num_processors): Add a 'query' argument. Test the value of the
23124         OMP_NUM_THREADS environment variable if requested. On Linux, NetBSD,
23125         mingw, count the number of CPUs available for the current process.
23126         * m4/nproc.m4 (gl_PREREQ_NPROC): Require AC_USE_SYSTEM_EXTENSIONS.
23127         Check for sched_getaffinity and sched_getaffinity_np.
23128         * modules/nproc (Depends-on): Add c-ctype, extensions.
23129         * NEWS: Mention the change.
23130
23131 2009-11-03  Bruno Haible  <bruno@clisp.org>
23132
23133         * NEWS: Document the new library dependencies of inet_ntop, inet_pton.
23134
23135 2009-11-03  Jim Meyering  <meyering@redhat.com>
23136
23137         test-getaddrinfo: avoid compilation failure on FreeBSD 7.2
23138         * tests/test-getaddrinfo.c (simple): Test for EAI_NODATA only
23139         if it is defined.
23140
23141 2009-11-02  Eric Blake  <ebb9@byu.net>
23142
23143         mktime, timegm: share common declaration
23144         * lib/mktime-internal.h: New file.
23145         * lib/mktime.c: Use it rather than open-coding a declaration.
23146         * lib/timegm.c: Likewise.
23147         * modules/mktime (Files): Ship it.
23148         * modules/timegm (Files): Likewise.
23149         Suggested by Bruno Haible.
23150
23151         test-update-copyright: update test to match script changes
23152         * tests/test-update-copyright.sh: Avoid hard-coding perl
23153         location.  Don't update *.bak created by earlier runs.
23154
23155 2009-11-02  Paul Eggert  <eggert@cs.ucla.edu>
23156             Simon Josefsson  <simon@josefsson.org>
23157             Bruno Haible  <bruno@clisp.org>
23158
23159         Fix link error on Solaris 8.
23160         * m4/inet_pton.m4 (gl_INET_PTON): Search for the function inet_pton
23161         also in libnsl. Define also INET_PTON_LIB.
23162         * modules/inet_pton (Link): New section.
23163
23164 2009-11-02  Simon Josefsson  <simon@josefsson.org>
23165             Bruno Haible  <bruno@clisp.org>
23166
23167         * m4/inet_ntop.m4 (gl_INET_NTOP): Define also INET_NTOP_LIB.
23168         * modules/inet_ntop (Link): New section.
23169         Reported by Boyan Kasarov <bkasarov@gmail.com>.
23170
23171 2009-11-02  Eric Blake  <ebb9@byu.net>
23172
23173         maint: avoid compiler warnings in m4 macros
23174         * m4/ungetc.m4 (gl_FUNC_UNGETC_WORKS): Avoid unused variable.
23175         * m4/rmdir.m4 (gl_FUNC_RMDIR): Include correct header.
23176
23177 2009-11-02  Simon Josefsson  <simon@josefsson.org>
23178
23179         * m4/pmccabe2html.m4: Remove file.
23180         * modules/pmccabe2html: Drop pmccabe2html.m4.  Don't call m4
23181         function.  Change maintainer.
23182         * build-aux/pmccabe2html: Use /bin/sh with magic instead of
23183         hard-coding path to awk.  Tiny patch from ludo@gnu.org (Ludovic
23184         Courtès).
23185
23186 2009-10-31  Eric Blake  <ebb9@byu.net>
23187
23188         fseeko: fix m4 regression
23189         * m4/fseeko.m4 (gl_FUNC_FSEEKO): Use modern macro.  Fixes
23190         regression from 2009-10-27.
23191         Reported by Ralf Wildenhues.
23192
23193 2009-10-31  Jim Meyering  <meyering@redhat.com>
23194
23195         inttostr: aesthetics and improved (compile-time) safety
23196         Define inttype_is_signed rather than inttype_is_unsigned,
23197         since the sole use is via "#if inttype_is_signed".
23198         * lib/imaxtostr.c (inttype_is_signed): Define this, rather than
23199         inttype_is_unsigned.
23200         * lib/offtostr.c (inttype_is_signed): Likewise.
23201         * lib/uinttostr.c (inttype_is_signed): Likewise.
23202         * lib/umaxtostr.c (inttype_is_signed): Likewise.
23203         * lib/inttostr.c (inttostr): Use verify to cross-check the
23204         inttype_is_signed value and the signedness of the actual type.
23205         * modules/inttostr (Depends-on): Add verify.
23206
23207 2009-10-30  Eric Blake  <ebb9@byu.net>
23208
23209         build: avoid compiler warnings
23210         * lib/fchmodat.c (lchmod): Mark unused variables.
23211         * lib/getopt.c (_getopt_initialize): Likewise.
23212         * lib/mktime.c (__mktime_internal): Provide prototype.
23213         * lib/inttostr.c (inttostr): Avoid compiler warning even with
23214         older gcc that do not understand #pragma GCC diagnostic.
23215         * lib/uinttostr.c (inttype_is_unsigned): Define.
23216         * lib/umaxtostr.c (inttype_is_unsigned): Likewise.
23217
23218 2009-10-30  Michael Haubenwallner  <michael.haubenwallner@salomon.at>
23219
23220         stat: fix compilation on AIX
23221         * lib/sys_stat.in.h (stat): Work with fact that large files on AIX
23222         only see struct stat64.
23223
23224 2009-10-30  Eric Blake  <ebb9@byu.net>
23225
23226         exclude: make more robust
23227         * lib/exclude.c (excluded_file_name): Abort on unexpected value,
23228         rather than masking a coding bug.
23229         Suggested by Bruno Haible.
23230
23231 2009-10-30  Jim Meyering  <meyering@redhat.com>
23232
23233         perl scripts: remove #!/usr/bin/perl in favor of more portable...
23234         Rather than putting #!/usr/bin/perl on the first line,
23235         start with a variant of what's recommended by "man perlrun" that
23236         invokes the first "perl" program from your shell's search path.
23237         * build-aux/gitlog-to-changelog: Replace #!... as above.
23238         Add a "Local Variables" perl mode setting.
23239         Prompted by a patch from Ludovic Courtès.
23240         Improved by Eric Blake.
23241         * build-aux/useless-if-before-free: Likewise.
23242         * build-aux/announce-gen: Likewise.
23243         * build-aux/update-copyright: Likewise.
23244
23245 2009-10-29  Eric Blake  <ebb9@byu.net>
23246
23247         filenamecat-lgpl: adjust clients
23248         * modules/linkat (Depends-on): Use filenamecat-lgpl, not
23249         filenamecat.
23250         * modules/renameat (Depends-on): Likewise.
23251
23252         filenamecat: split into filenamecat-lgpl
23253         * modules/filenamecat-lgpl: New module.
23254         * modules/filenamecat (Files): Move library-safe files into
23255         filenamecat-lgpl.
23256         (Depends-on): Add filenamecat-lgpl.
23257         (configure.ac): Declare witness.
23258         * lib/filenamecat.h (file_name_concat): Only declare when using
23259         GPL module.
23260         * lib/filenamecat.c (longest_relative_suffix, mfile_name_concat):
23261         Move...
23262         * lib/filenamecat-lgpl.c: ...into new file.
23263         * m4/filenamecat.m4 (gl_FILE_NAME_CONCAT_LGPL): New macro.
23264         (gl_FILE_NAME_CONCAT): Use it.
23265         * MODULES.html.sh (File system functions): Mention new module.
23266
23267         argp: avoid memory leak
23268         * modules/argp (Depends-on): Use dirname-lgpl, not dirname.
23269         * lib/argp-namefrob.h (__argp_base_name): Use last_component, not
23270         base_name, since the latter malloc()s and can call exit().
23271         Leak introduced 2006-07-03.
23272
23273         dirname-lgpl: adjust clients that don't need full dirname
23274         * modules/backupfile (Depends-on): Use dirname-lgpl, not dirname.
23275         * modules/filenamecat (Depends-on): Likewise.
23276         * modules/linkat (Depends-on): Likewise.
23277         * modules/mkancesdirs (Depends-on): Likewise.
23278         * modules/mkdir (Depends-on): Likewise.
23279         * modules/openat (Depends-on): Likewise.
23280         * modules/savewd (Depends-on): Likewise.
23281         * modules/rename (Depends-on): Likewise.
23282         (License): Relax license.
23283         * modules/mkdir-tests (Depends-on): Drop progname.
23284         (Makefile.am): Delete unneeded LDADD.
23285         * modules/rename-tests (Depends-on, Makefile.am): Likewise.
23286
23287         dirname: split into dirname-lgpl
23288         * modules/dirname-lgpl: New module.
23289         * modules/dirname (Files): Move library-safe files into
23290         dirname-lgpl.
23291         (Depends-on): Add dirname-lgpl.
23292         (configure.ac): Declare witness.
23293         * modules/double-slash-root (License): Relax license.
23294         * lib/dirname.h (base_name, dir_name): Only declare when using GPL
23295         module.
23296         * lib/dirname.c (dir_len, mdir_name): Move...
23297         * lib/dirname-lgpl.c: ...into new file.
23298         * lib/basename.c (last_component, base_len): Move...
23299         * lib/basename-lgpl.c: ...into new file.
23300         * m4/dirname.m4 (gl_DIRNAME_LGPL): New macro.
23301         (gl_DIRNAME): Use it.
23302         * MODULES.html.sh (Enhancements for POSIX:2008 functions):
23303         Mention new module.
23304         * modules/dirname-tests (Depends-on): Add progname.
23305         * tests/test-dirname.c (program_name): Delete.
23306
23307         mkdir: make safe for libraries
23308         * modules/mkdir (Depends-on): Drop xalloc.
23309         * lib/mkdir.c (rpl_mkdir): Fail with ENOMEM rather than calling
23310         exit.
23311
23312         tests: avoid some compiler warnings
23313         * tests/test-getaddrinfo.c (simple): Mark static, and allow string
23314         literals.
23315         * tests/test-memchr.c (main): Avoid type mismatch.
23316         * tests/test-arpa_inet.c (main): Avoid unused parameters.
23317         * tests/test-base64.c (main): Likewise.
23318         * tests/test-getdelim.c (main): Likewise.
23319         * tests/test-gethostname.c (main): Likewise.
23320         * tests/test-getline.c (main): Likewise.
23321         * tests/test-netinet_in.c (main): Likewise.
23322         * tests/test-select.c (open_server_socket, main): Likewise.
23323         * tests/test-select-stdin.c (main): Likewise.
23324         * tests/test-sockets.c (main): Likewise.
23325         * tests/test-strsignal.c (main): Likewise.
23326         * tests/test-sys_select.c (main): Likewise.
23327         * tests/test-sys_socket.c (main): Likewise.
23328         * tests/test-u64.c (main): Likewise.
23329         * tests/test-xfprintf-posix.c (main): Likewise.
23330         * tests/test-xvasprintf.c (test_xvasprintf, main): Likewise.
23331
23332         sockets: avoid compiler warning
23333         * lib/sockets.c (gl_sockets_startup): Mark unused parameter.
23334
23335         maint: detect usage(1) and other suspicious exits
23336         * top/maint.mk (sc_prohibit_magic_number_exit): New rule.
23337
23338 2009-10-29  Jim Meyering  <meyering@redhat.com>
23339
23340         timespec: long-to-int truncation could make timespec_cmp malfunction
23341         * lib/timespec.h (timespec_cmp): Do not interpret a difference of
23342         a multiple of 2^32 nanoseconds as no difference.
23343
23344 2009-10-28  Jim Meyering  <meyering@redhat.com>
23345
23346         fprintftime: wrap macro code argument in "do {...} while(0)"
23347         * lib/strftime.c (cpy) [FPRINTFTIME]: The second argument to the
23348         cpy macro must be a statement that can be followed by a semicolon.
23349         Now that the else clause contains a comment and is hence longer
23350         than one line, I require curly braces.  That in turn requires
23351         that we wrap this code block in the standard do...while(0).
23352
23353         fprintftime: remove stray semicolon from previous change
23354         * lib/strftime.c (cpy) [FPRINTFTIME]: Remove trailing semicolon.
23355
23356         fprintftime: avoid a warning about ignored fwrite return value
23357         * lib/strftime.c [FPRINTFTIME]: Include "ignore-value.h".
23358         (cpy) [FPRINTFTIME]: Ignore fwrite failure, even though technically,
23359         that is unsafe.
23360         * modules/fprintftime (Depends-on): Add ignore-value.
23361
23362         exclude: avoid an unwarranted warning
23363         * lib/exclude.c (excluded_file_name): Initialize "rc" before switch.
23364
23365 2009-10-27  Eric Blake  <ebb9@byu.net>
23366
23367         fseek: avoid compilation failure when fflush is replaced
23368         * m4/fseek.m4 (gl_REPLACE_FSEEK): New macro.
23369         * m4/fseeko.m4 (gl_REPLACE_FSEEKO): Also replace fseek, if fseek
23370         module is in use.
23371         * lib/stdio.in.h (GNULIB_FSEEKO): Only poison fseek if fseek
23372         module is not in use; since REPLACE_FSEEK worked otherwise.
23373         (GNULIB_FTELLO): Likewise for ftell.
23374         Reported by Ian Beckwith and others.
23375
23376 2009-10-27  Bruno Haible  <bruno@clisp.org>
23377
23378         * lib/isnan.c (rpl_isnan[fdl]): Repeat the specification declaration.
23379         Reported by Jim Meyering.
23380
23381 2009-10-27  Jim Meyering  <jim@meyering.net>
23382             Bruno Haible  <bruno@clisp.org>
23383
23384         Avoid warning despite dropping the return value of fwrite.
23385         * lib/unicodeio.c: Include ignore-value.h.
23386         (fwrite_success_callback): Explicitly ignore fwrite's return value.
23387         * modules/unicodeio (Depends-on): Add ignore-value.
23388
23389 2009-10-26  Eric Blake  <ebb9@byu.net>
23390
23391         areadlinkat: fix fallback path
23392         * lib/at-func.c (AT_FUNC_NAME): Avoid signed comparison between
23393         pointer and zero.
23394
23395 2009-10-22  Pádraig Brady  <P@draigBrady.com>
23396
23397         Use a better IO block size for modern systems
23398         * lib/copy-file.c (copy_file_preserving): Used a 32KiB malloced buffer.
23399         * lib/md2.c: Likewise.
23400         * lib/md4.c: Likewise.
23401         * lib/md5.c: Likewise.
23402         * lib/sha1.c: Likewise.
23403         * lib/sha256.c: Likewise.
23404         * lib/sha512.c: Likewise.
23405
23406 2009-10-22  Eric Blake  <ebb9@byu.net>
23407
23408         tests: avoid several compiler warnings
23409         * tests/test-getcwd.c (main): Avoid buffer underflow.
23410         * tests/test-getdate.c (main): String literals are not safe with
23411         putenv, so use setenv.  Declare unused argument.
23412         * modules/getdate-tests (Depends-on): Add setenv.
23413         * tests/test-argv-iter.c (main): Declare unused argument.  Avoid
23414         problems with string literals in char *.
23415         * tests/test-hash.c (main): Avoid shadowing declaration.
23416         (insert_new): Treat string literals as char const *.
23417         * tests/test-getopt.h (test_getopt): Likewise.
23418         (getopt_loop): Alter types to minimize casting elsewhere.
23419         * tests/test-getopt_long.h (test_getopt_long, getopt_long_loop)
23420         (test_getopt_long_posix): Likewise.
23421         (do_getopt_long): Add wrapper to minimize casting.
23422         * tests/test-atexit.c (clear_temp_file): Use void.
23423         * tests/test-areadlink-with-size.c (main): Declare unused
23424         arguments.
23425         * tests/test-areadlink.c (main): Likewise.
23426         * tests/test-areadlinkat-with-size.c (main): Likewise.
23427         * tests/test-areadlinkat.c (main): Likewise.
23428         * tests/test-canonicalize-lgpl.c (main): Likewise.
23429         * tests/test-canonicalize.c (main): Likewise.
23430         * tests/test-dirent-safer.c (main): Likewise.
23431         * tests/test-dirname.c (main): Likewise.
23432         * tests/test-dup2.c (main): Likewise.
23433         * tests/test-fchdir.c (main): Likewise.
23434         * tests/test-fcntl-h.c (main): Likewise.
23435         * tests/test-fcntl-safer.c (main): Likewise.
23436         * tests/test-fdopendir.c (main): Likewise.
23437         * tests/test-fdutimensat.c (main): Likewise.
23438         * tests/test-fflush.c (main): Likewise.
23439         * tests/test-filenamecat.c (main): Likewise.
23440         * tests/test-filevercmp.c (main): Likewise.
23441         * tests/test-fopen-safer.c (main): Likewise.
23442         * tests/test-fopen.c (main): Likewise.
23443         * tests/test-fpending.c (main): Likewise.
23444         * tests/test-fpurge.c (main): Likewise.
23445         * tests/test-freading.c (main): Likewise.
23446         * tests/test-fstatat.c (main): Likewise.
23447         * tests/test-fsync.c (main): Likewise.
23448         * tests/test-futimens.c (main): Likewise.
23449         * tests/test-getndelim2.c (main): Likewise.
23450         * tests/test-gettimeofday.c (main): Likewise.
23451         * tests/test-getopt.c (main): Likewise.
23452         * tests/test-i-ring.c (main): Likewise.
23453         * tests/test-inttypes.c (main): Likewise.
23454         * tests/test-link.c (main): Likewise.
23455         * tests/test-lstat.c (main): Likewise.
23456         * tests/test-math.c (main): Likewise.
23457         * tests/test-md5.c (main): Likewise.
23458         * tests/test-memchr2.c (main): Likewise.
23459         * tests/test-memrchr.c (main): Likewise.
23460         * tests/test-mkdir.c (main): Likewise.
23461         * tests/test-mkdirat.c (main): Likewise.
23462         * tests/test-mkfifoat.c (main): Likewise.
23463         * tests/test-open.c (main): Likewise.
23464         * tests/test-openat-safer.c (main): Likewise.
23465         * tests/test-openat.c (main): Likewise.
23466         * tests/test-quotearg.c (main): Likewise.
23467         * tests/test-rawmemchr.c (main): Likewise.
23468         * tests/test-readlink.c (main): Likewise.
23469         * tests/test-remove.c (main): Likewise.
23470         * tests/test-rename.c (main): Likewise.
23471         * tests/test-renameat.c (main): Likewise.
23472         * tests/test-rmdir.c (main): Likewise.
23473         * tests/test-sha1.c (main): Likewise.
23474         * tests/test-signal.c (main): Likewise.
23475         * tests/test-sigaction.c (main): Likewise.
23476         * tests/test-stat.c (main): Likewise.
23477         * tests/test-stat-time.c (main): Likewise.
23478         * tests/test-stddef.c (main): Likewise.
23479         * tests/test-stdint.c (main): Likewise.
23480         * tests/test-stdio.c (main): Likewise.
23481         * tests/test-stdlib.c (main): Likewise.
23482         * tests/test-strchrnul.c (main): Likewise.
23483         * tests/test-strerror.c (main): Likewise.
23484         * tests/test-string.c (main): Likewise.
23485         * tests/test-strtod.c (main): Likewise.
23486         * tests/test-strverscmp.c (main): Likewise.
23487         * tests/test-symlink.c (main): Likewise.
23488         * tests/test-symlinkat.c (main): Likewise.
23489         * tests/test-sys_stat.c (main): Likewise.
23490         * tests/test-sys_time.c (main): Likewise.
23491         * tests/test-time.c (main): Likewise.
23492         * tests/test-unistd.c (main): Likewise.
23493         * tests/test-unlink.c (main): Likewise.
23494         * tests/test-unlinkat.c (main): Likewise.
23495         * tests/test-utimens.c (main): Likewise.
23496         * tests/test-utimensat.c (main): Likewise.
23497         * tests/test-version-etc.c (main): Likewise.
23498         * tests/test-wchar.c (main): Likewise.
23499         * tests/test-wctype.c (main): Likewise.
23500         * tests/test-xprintf-posix.c (main): Likewise.
23501         * tests/test-posixtm.c (main): Likewise.
23502         (STREQ): Delete unused macro.
23503         * tests/test-linkat.c (main): Declare unused arguments.  Avoid
23504         shadowed variables.
23505         * tests/test-memchr.c (main): Likewise.
23506
23507 2009-10-21  Eric Blake  <ebb9@byu.net>
23508
23509         areadlinkat: avoid failure on older glibc
23510         * lib/at-func.c (AT_FUNC_NAME): Check for explicit FUNC_FAIL,
23511         rather than mis-comparing 0 against FUNC_RESULT of char*.
23512
23513 2009-10-21  Bruno Haible  <bruno@clisp.org>
23514
23515         * modules/stpncpy (License): Relicense under LGPLv2+.
23516         Reported by David Lutterkort <lutter@redhat.com>.
23517
23518 2009-10-20  Eric Blake  <ebb9@byu.net>
23519
23520         utimensat: work around Solaris 9 bug
23521         * lib/utimens.c (fdutimens, lutimens): Force a stat if platform
23522         has trailing slash bugs.
23523         * tests/test-lutimens.h (test_lutimens): Enhance test.
23524         * tests/test-utimens.h (test_utimens): Likewise.
23525         * doc/posix-functions/utime.texi (utime): Enhance documentation.
23526         * doc/posix-functions/utimes.texi (utimes): Likewise.
23527         * doc/posix-functions/utimensat.texi (utimensat): Likewise.
23528         * doc/glibc-functions/futimesat.texi (futimesat): Likewise.
23529         * doc/glibc-functions/lutimes.texi (lutimes): Likewise.
23530         * doc/posix-functions/futimens.texi (futimens): Likewise.
23531
23532         fdutimensat: new module
23533         * modules/fdutimensat: New file.
23534         * lib/fdutimensat.c (fdutimensat): Likewise.
23535         * lib/utimens.h (fdutimensat, lutimensat): Declare new functions.
23536         * MODULES.html.sh (File system functions): Mention module.
23537         * modules/fdutimensat-tests: New test.
23538         * tests/test-fdutimensat.c: Likewise.
23539
23540         doc: regenerate INSTALL
23541         * doc/INSTALL: Reflect recent autoconf update.
23542         * doc/INSTALL.ISO: Likewise.
23543         * doc/INSTALL.UTF-8: Likewise.
23544
23545 2009-10-20  Pádraig Brady  <P@draigBrady.com>
23546
23547         acl: warn if ACL support is not detected
23548         * m4/acl.m4 (gl_FUNC_ACL): Output a warning if ACL support is not found.
23549
23550 2009-10-19  Giuseppe Scrivano  <gscrivano@gnu.org>
23551
23552         * lib/nproc.h: Add extern "C" block for C++.
23553
23554 2009-10-18  Reuben Thomas  <rrt@sc3d.org>
23555             Bruno Haible  <bruno@clisp.org>
23556
23557         * doc/posix-functions/isascii.texi: Document the 2 alternative APIs.
23558         * doc/posix-functions/isalnum.texi: Document the 4 alternative APIs.
23559         * doc/posix-functions/isalpha.texi: Likewise.
23560         * doc/posix-functions/isblank.texi: Likewise.
23561         * doc/posix-functions/iscntrl.texi: Likewise.
23562         * doc/posix-functions/isdigit.texi: Likewise.
23563         * doc/posix-functions/isgraph.texi: Likewise.
23564         * doc/posix-functions/islower.texi: Likewise.
23565         * doc/posix-functions/isprint.texi: Likewise.
23566         * doc/posix-functions/ispunct.texi: Likewise.
23567         * doc/posix-functions/isspace.texi: Likewise.
23568         * doc/posix-functions/isupper.texi: Likewise.
23569         * doc/posix-functions/isxdigit.texi: Likewise.
23570
23571 2009-10-18  Bruno Haible  <bruno@clisp.org>
23572
23573         Tests for module 'isblank'.
23574         * modules/isblank-tests: New file.
23575         * tests/test-isblank.c: New file.
23576
23577         New module 'isblank'.
23578         * lib/isblank.c: New file.
23579         * m4/isblank.m4: New file.
23580         * modules/isblank: New file.
23581         * doc/posix-functions/isblank.texi: Mention the new module.
23582
23583 2009-10-18  Bruno Haible  <bruno@clisp.org>
23584
23585         New module 'ctype'.
23586         * lib/ctype.in.h: New file.
23587         * m4/ctype.m4: New file.
23588         * modules/ctype: New file.
23589         * doc/posix-headers/ctype.texi: Mention the new module.
23590
23591 2009-10-18  Jim Meyering  <meyering@redhat.com>
23592
23593         m4: stylistic-only: hoist AC_SUBST to be adjacent to initialization
23594         Declare a variable like LIB_CLOCK_GETTIME to be AC_SUBSTituted
23595         right after its initialization, rather than farther down.
23596         Keeping these in close proximity makes it easier to ensure
23597         that each such variable is initialized.  E.g.,
23598
23599             LIB_CLOCK_GETTIME=
23600             AC_SUBST([LIB_CLOCK_GETTIME])
23601
23602         This change also increments these serial numbers.
23603         * m4/clock_time.m4 (gl_CLOCK_TIME): Hoist AC_SUBST use.
23604         * m4/euidaccess.m4 (gl_PREREQ_EUIDACCESS): Likewise.
23605         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP): Likewise.
23606
23607 2009-10-18  Bruno Haible  <bruno@clisp.org>
23608
23609         Don't let environment variables perturb build.
23610         * m4/gethrxtime.m4 (gl_GETHRXTIME): Initialize LIB_GETHRXTIME here...
23611         (gl_PREREQ_GETHRXTIME): ... not here.
23612
23613 2009-10-18  Bruno Haible  <bruno@clisp.org>
23614
23615         Avoid symlink attack in localcharset module.
23616         * lib/localcharset.c: Include <fcntl.h>, <unistd.h>.
23617         (O_NOFOLLOW): Define fallback.
23618         (get_charset_aliases): Don't open the file if it is a symbolic link.
23619         * m4/fcntl_h.m4 (gl_FCNTL_O_FLAGS): New macro, extracted from
23620         gl_FCNTL_H.
23621         (gl_FCNTL_H): Require it.
23622         * m4/localcharset.m4 (gl_LOCALCHARSET): Likewise.
23623         * modules/localcharset (Files): Add m4/fcntl_h.m4.
23624         Reported by Fergal Glynn <fglynn@veracode.com>.
23625
23626 2009-10-18  Bruno Haible  <bruno@clisp.org>
23627
23628         Implement nproc for mingw.
23629         * lib/nproc.c: Include <windows.h>
23630         (num_processors): On native Windows platforms, try GetSystemInfo.
23631
23632 2009-10-18  Bruno Haible  <bruno@clisp.org>
23633
23634         Implement nproc for IRIX.
23635         * lib/nproc.c: Include <sys/sysmp.h>.
23636         (num_processors): On IRIX systems, try sysmp.
23637         * m4/nproc.m4 (gl_PREREQ_NPROC): Check for sys/sysmp.h and sysmp.
23638
23639 2009-10-18  Bruno Haible  <bruno@clisp.org>
23640
23641         Implement nproc for HP-UX.
23642         * lib/nproc.c: Include <sys/pstat.h>
23643         (num_processors): On HP-UX systems, try pstat_getdynamic.
23644         * m4/nproc.m4 (gl_PREREQ_NPROC): Check for sys/pstat.h and
23645         pstat_getdynamic.
23646
23647 2009-10-18  Giuseppe Scrivano  <gscrivano@gnu.org>
23648             Bruno Haible  <bruno@clisp.org>
23649
23650         Implement nproc for NetBSD, OpenBSD.
23651         * lib/nproc.c: Include <sys/types.h>, <sys/param.h>, <sys/sysctl.h>.
23652         (ARRAY_SIZE): New macro.
23653         (num_processors): On BSD systems, try sysctl of HW_NCPU.
23654         * m4/nproc.m4: New file.
23655         * modules/nproc (Files): Add m4/nproc.m4.
23656         (configure.ac): Invoke gl_NPROC. Remove AC_LIBOBJ invocation.
23657         (Makefile.am): Instead, augment lib_SOURCES.
23658
23659 2009-10-18  Bruno Haible  <bruno@clisp.org>
23660
23661         Fix recognition of sys/sysctl.h on OpenBSD 4.0.
23662         * m4/physmem.m4 (gl_PHYSMEM): Before including sys/sysctl.h, include
23663         sys/param.h.
23664
23665 2009-10-16  Eric Blake  <ebb9@byu.net>
23666
23667         utimensat: new module
23668         * modules/utimensat: New file.
23669         * lib/utimensat.c (utimensat): Likewise.
23670         * m4/utimensat.m4 (gl_FUNC_UTIMENSAT): Likewise.
23671         * lib/utimens.c (utimensat): Avoid recursion into rpl_utimensat,
23672         so we can work around Linux bugs.
23673         * m4/sys_stat_h.m4 (gl_SYS_STAT_H_DEFAULTS): Add witnesses.
23674         * modules/sys_stat (Makefile.am): Substitute them.
23675         * lib/sys_stat.in.h (utimensat): Declare it.
23676         * MODULES.html.sh (systems lacking POSIX:2008): Mention module.
23677         * doc/posix-functions/utimensat.texi (utimensat): Likewise.
23678         * modules/utimensat-tests: New test.
23679         * tests/test-utimensat.c: Likewise.
23680
23681         utimens: let lutimens work on non-symlinks
23682         * lib/utimens.c (lutimens): Fall back to utimens rather than
23683         failing with ENOSYS, when file is not a symlink.
23684         (utimens): Reduce redirection.
23685         * tests/test-lutimens.h (test_lutimens): Update test to cover
23686         non-symlinks.
23687         * tests/test-utimens.h (test_utimens): Update test to cover
23688         symlinks.
23689         * tests/test-utimens.c (main): Update caller.
23690
23691         utimens: cache whether utimensat syscall works
23692         * lib/utimens.c (utimensat_works_really): New cache variable.
23693         (fdutimens, lutimens): Use it to avoid failing syscall.
23694
23695         test-stat-time, test-utimens: improve portability
23696         * tests/test-stat-time.c (nap): Lengthen delay to 20ms, for
23697         ext4 on alpha, and for cygwin.
23698         * tests/test-utimens-common.h: New file.
23699         (nap): Factor delays into single function.
23700         * tests/test-lutimens.h (test_lutimens): Use new header.
23701         * tests/test-futimens.h (test_futimens): Likewise.
23702         * tests/test-utimens.h (test_utimens): Likewise.  Also, force NFS
23703         timestamps to occur from same machine, as was done previously for
23704         test_utimens.
23705         * modules/utimens-tests (Files): Ship new file.
23706         * modules/futimens-tests (Files): Likewise.
23707         Reported in part by Jim Meyering.
23708
23709         sys_stat: sort replacement declarations
23710         * lib/sys_stat.in.h: Sort declarations.
23711         * lib/futimens.c (futimens): Fix typo.
23712
23713 2009-10-15  Jim Meyering  <meyering@redhat.com>
23714
23715         don't let environment settings perturb build
23716         Setting the envvars, LIB_CLOCK_GETTIME, LIB_EACCESS or LIB_NANOSLEEP
23717         could cause a configure-time and/or build-time malfunction.
23718         Typically, a configure-time function-in-library test is performed
23719         via code like this:
23720
23721           LIB_VAR=
23722           AC_SUBST([LIB_VAR])
23723           prefix_saved_LIBS=$LIBS
23724             AC_SEARCH_LIBS([FUNC], [LIB_NAME],
23725                        [test "$ac_cv_search_FUNC" = "none required" ||
23726                         LIB_VAR=$ac_cv_search_FUNC])
23727           LIBS=$prefix_saved_LIBS
23728
23729         However, in each of the files affected by this change, the LIB_VAR=
23730         initialization was omitted.  Thus, when set in the environment, its
23731         value would propagate into generated Makefiles when FUNC is not found
23732         in LIB_NAME.
23733         * m4/clock_time.m4 (gl_CLOCK_TIME): Initialize AC_SUBST'd var.
23734         * m4/euidaccess.m4 (gl_PREREQ_EUIDACCESS): Likewise.
23735         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP): Likewise.
23736
23737 2009-10-14  Eric Blake  <ebb9@byu.net>
23738
23739         fchdir: avoid infinite recursion in mingw
23740         * lib/fchdir.c (rpl_fstat): Call system fstat, rather than
23741         recursing.
23742
23743         test-stat-time: port to mingw
23744         * tests/test-stat-time.c (force_unlink): Return a value.
23745         (test_ctime) [W32]: Fix compilation error.
23746         (nap): Don't call usleep with too large an argument.  Use
23747         force_unlink.
23748         * doc/pastposix-functions/usleep.texi (usleep): Document the
23749         portability issue.
23750
23751 2009-10-13  Jim Meyering  <meyering@redhat.com>
23752
23753         use AC_CHECK_FUNCS_ONCE, not AC_CHECK_FUNCS in modules/*
23754         * modules/pipe-filter-gi: Use AC_CHECK_FUNCS_ONCE, not AC_CHECK_FUNCS.
23755         * modules/pipe-filter-ii: Likewise.
23756         * modules/sys_socket-tests: Likewise.
23757         * modules/tsearch-tests: Likewise.
23758         * Makefile (sc_prefer_ac_check_funcs_once): New rule.
23759         (check): Depend on it.
23760
23761 2009-10-12  Eric Blake  <ebb9@byu.net>
23762
23763         utimens-tests: port to NFS file systems
23764         * tests/test-utimens.h (test_utimens): Refactor utimecmp
23765         comparisons to avoid spurious failures from timestamp drift
23766         between NFS machines.
23767
23768 2009-10-12  Eric Blake  <ebb9@byu.net>
23769
23770         stat-time-tests: minor cleanups
23771         * modules/stat-time-tests (configure.ac): Use AC_CHECK_FUNCS_ONCE.
23772         * tests/test-stat-time.c (nap): Separate assignment from call.
23773         Suggested by Paolo Bonzini and Bruno Haible.
23774
23775         sys_stat: guarantee struct timespec
23776         * lib/sys_stat.in.h (includes): Always include <time.h>
23777         * modules/sys_stat (Depends-on): Add time.
23778         * tests/test-sys_stat.c: Guarantee struct timespec, as well as
23779         mode_t permission values.
23780         * doc/posix-headers/sys_stat.texi (sys/stat.h): Document how to
23781         get at subsecond timestamps.
23782
23783 2009-10-10  Eric Blake  <ebb9@byu.net>
23784
23785         futimens: new module
23786         * modules/futimens: New file.
23787         * lib/futimens.c (futimens): Likewise.
23788         * m4/futimens.m4 (gl_FUNC_FUTIMENS): Likewise.
23789         * lib/utimens.c (futimens): Avoid recursion into rpl_futimens, so
23790         we can work around Linux bugs.
23791         * m4/sys_stat_h.m4 (gl_SYS_STAT_H_DEFAULTS): Add witnesses.
23792         * modules/sys_stat (Makefile.am): Substitute them.
23793         * lib/sys_stat.in.h (futimens): Declare it.
23794         * MODULES.html.sh (systems lacking POSIX:2008): Mention module.
23795         * doc/posix-functions/futimens.texi (futimens): Likewise.
23796         * modules/futimens-tests: New test.
23797         * tests/test-futimens.c: Likewise.
23798
23799         utimens: introduce fdutimens
23800         * lib/utimens.h (fdutimens): New prototype.
23801         * lib/utimens.c (gl_futimens): Move guts...
23802         (fdutimens): ...to new interface.
23803         * tests/test-utimens.c (do_fdutimens): Use it.
23804
23805         utimens: add UTIME_NOW and UTIME_OMIT support
23806         * lib/utimens.c (validate_timespec, update_timespec): New helper
23807         functions.
23808         (gl_futimens, lutimens): Use them.
23809         * modules/utimens (Depends-on): Add gettime, lstat, stat-time,
23810         stdbool, sys_stat.
23811         (Link): Mention resulting library dependency.
23812         * modules/utimecmp (Link): Likewise.
23813         * modules/utimens-tests (Depends-on): Drop stat-time, stdbool.
23814         (Makefile.am): Pick up library dependency.
23815         * lib/sys_stat.in.h (UTIME_NOW, UTIME_OMIT): Guarantee a
23816         definition.
23817         * tests/test-sys_stat.c: Test the definitions.
23818         * doc/posix-headers/sys_stat.texi (sys/stat.h): Document this.
23819         * NEWS: Document library dependency.
23820
23821         utimecmp: support symlink timestamps
23822         * lib/utimecmp.c (utimecmp): Use new interface.  Skip effort of
23823         hashing when possible.  Use pathconf when available.
23824         (SYSCALL_RESOLUTION): Recognize tighter resolution.
23825         * modules/utimecmp (Depends-on): Add lstat.
23826
23827         utimens: add lutimens interface
23828         * lib/utimens.c (lutimens): New function.
23829         * m4/utimens.m4 (gl_UTIMENS): Check for lutimes.
23830         * lib/utimens.h (lutimens): Declare new interface.
23831         * tests/test-utimens.c (main): Enhance test.
23832         * tests/test-lutimens.h (test_lutimens): New file.
23833         * modules/utimens-tests (Files): Distribute it.
23834         (Depends-on): Add symlink.
23835         (configure.ac): Check for usleep.
23836
23837         utimens: validate futimens usage
23838         * lib/utimens.c (gl_futimens): Require valid fd up front, using
23839         fewer syscalls on failure later on.  Avoid compiler warning on
23840         mingw.
23841         * modules/utimens (Depends-on): Add dup2.
23842
23843         utimens: add test
23844         * modules/utimens-tests: New test.
23845         * tests/test-utimens.h: New file.
23846         * tests/test-futimens.h: Likewise.
23847         * tests/test-utimens.c: Likewise.
23848
23849         doc: mention timestamp portability issues
23850         * doc/glibc-functions/lutimes.texi (lutimes): Refer to utimensat
23851         instead.
23852         * doc/posix-functions/utime.texi (utime): Likewise.
23853         * doc/posix-functions/utimes.texi (utimes): Likewise.
23854         * doc/glibc-functions/futimes.texi (futimes): Refer to futimens
23855         instead.
23856         * doc/posix-functions/futimens.texi (futimens): Mention utimens
23857         module.
23858         * doc/posix-functions/utimensat.texi (utimensat): Likewise.
23859         Mention weakness with symlink timestamps.
23860         * doc/glibc-functions/futimesat.texi (futimesat): New file; refer
23861         to utimensat/futimens instead.
23862         * doc/gnulib.texi (Glibc sys/time.h): Include new file.
23863
23864         test-dup2: enhance test
23865         * tests/test-dup2.c (main): Also check AT_FDCWD.
23866
23867         test-stat-time: avoid more spurious failures
23868         * tests/test-stat-time.c (nap): Wait for 15ms rather than 2ms, for
23869         xfs; and avoid race if the two timestamps cross quantization edge.
23870
23871         relocatable: prefer 'file system' over 'filesystem'
23872         * m4/relocatable-lib.m4 (gl_RELOCATABLE_NOP): Use AS_HELP_STRING.
23873         (gl_RELOCATABLE_LIBRARY_BODY): Fix spelling.
23874         * doc/relocatable-maint.texi (Supporting Relocation): Likewise.
23875         * doc/relocatable.texi (Enabling Relocatability): Likewise.
23876         * lib/relocatable.c (compute_curr_prefix): Likewise.
23877
23878 2009-10-10  Jim Meyering  <meyering@redhat.com>
23879
23880         stat-time-tests: check for the usleep function
23881         * modules/stat-time-tests (configure.ac): Now that we test HAVE_USLEEP.
23882
23883 2009-10-10  Bruno Haible  <bruno@clisp.org>
23884
23885         * modules/xnanosleep: Put the Link section after the Include section.
23886
23887 2009-10-09  Eric Blake  <ebb9@byu.net>
23888
23889         dup2: work around FreeBSD 6.1 bug
23890         * m4/dup2.m4 (gl_FUNC_DUP2): Detect bug.
23891         * doc/posix-functions/dup2.texi (dup2): Document it.
23892         Reported by Nelson H. F. Beebe and Jim Meyering.
23893
23894         test-stat-time: port to buggy NFS clients
23895         * tests/test-stat-time.c (main) [W32]: Reduce ifdefs.
23896         (test_ctime): Also skip test if mtime and ctime are skewed.
23897
23898         maint: prefer 'file system' over 'filesystem'
23899         * doc/posix-functions/fstatat.texi (fstatat): Likewise.
23900         * doc/posix-functions/lstat.texi (lstat): Likewise.
23901         * lib/file-has-acl.c (file_has_acl): Likewise.
23902         * lib/fwriteerror.c [TEST]: Likewise.
23903         * tests/test-areadlink.h (test_areadlink): Likewise.
23904         * tests/test-areadlinkat-with-size.c (main): Likewise.
23905         * tests/test-areadlinkat.c (main): Likewise.
23906         * tests/test-canonicalize-lgpl.c (main): Likewise.
23907         * tests/test-canonicalize.c (main): Likewise.
23908         * tests/test-fstatat.c (main): Likewise.
23909         * tests/test-linkat.c (main): Likewise.
23910         * tests/test-lstat.h (test_lstat_func): Likewise.
23911         * tests/test-mkdir.h (test_mkdir): Likewise.
23912         * tests/test-readlink.h (test_readlink): Likewise.
23913         * tests/test-remove.c (main): Likewise.
23914         * tests/test-rename.h (test_rename): Likewise.
23915         * tests/test-renameat.c (main): Likewise.
23916         * tests/test-rmdir.h (test_rmdir_func): Likewise.
23917         * tests/test-symlink.h (test_symlink): Likewise.
23918         * tests/test-symlinkat.c (main): Likewise.
23919         * tests/test-unlink.h (test_unlink_func): Likewise.
23920         * tests/test-unlinkat.c (main): Likewise.
23921
23922         maint: make realtime library usage explicit
23923         * modules/gethrxtime (Link): Mention LIB_GETHRXTIME.
23924         * modules/gettime (Link): Mention LIB_CLOCK_GETTIME.
23925         * modules/settime (Link): Likewise.
23926         * modules/xnanosleep (Link): Mention LIB_NANOSLEEP.
23927
23928         test-stat-time: speed up execution
23929         * tests/test-stat-time.c (test_ctime) [!W32]: Avoid compiler
23930         warning on mingw.
23931         (nap): New helper function.
23932         (prepare_test): Use it to reduce sleep time.
23933         (test_mtime, test_ctime, test_birthtime): Allow for subsecond
23934         execution.
23935         * modules/stat-time-tests (configure.ac): Check for usleep.
23936
23937 2009-10-09  Jim Meyering  <meyering@redhat.com>
23938
23939         selinux-h: always use getfilecon wrappers
23940         * lib/getfilecon.c: New file.
23941         * lib/se-selinux.in.h: Use a better inclusion guard symbol name.
23942         [HAVE_SELINUX_SELINUX_H]: Include-next <selinux/selinux.h>.
23943         [!HAVE_SELINUX_SELINUX_H]: Use better parameter names.
23944         (fgetfilecon): Provide a stub.
23945         * m4/selinux-selinux-h.m4 (gl_HEADERS_SELINUX_SELINUX_H): Don't
23946         AC_SUBST SELINUX_SELINUX_H, since now we're generating that
23947         file unconditionally.
23948         When <selinux/selinux.h> is found, arrange to use wrappers.
23949         * modules/selinux-h (Files): Add getfilecon.c.
23950         (Makefile.am): Substitute include-next-related bits
23951         into the now-always-generated selinux/selinux.h file.
23952         * doc/glibc-functions/lgetfilecon.texi: New file.
23953         * doc/glibc-functions/fgetfilecon.texi: New file.
23954         * doc/glibc-functions/getfilecon.texi: New file.
23955         * doc/glibc-functions/getfilecon-desc.texi: New file.
23956         * doc/gnulib.texi (Glibc selinux/selinux.h): New section, by
23957         which to pull in the new files.
23958         * MODULES.html.sh (Misc): Add selinux-h.
23959
23960 2009-10-08  Jim Meyering  <meyering@redhat.com>
23961
23962         unistd: fix comment typo
23963         * lib/unistd.in.h (euidaccess): Fix a comment typo.
23964
23965 2009-10-08  Eric Blake  <ebb9@byu.net>
23966
23967         areadlink: use SIZE_MAX consistently
23968         * modules/areadlink (Depends-on): Add stdint.
23969         * modules/areadlink-with-size (Depends-on): Likewise.
23970         * lib/areadlink-with-size.c (includes): Drop stdio, since stdlib
23971         gives NULL; drop sys/types, since unistd gives size_t; and add
23972         stdint for SIZE_MAX.
23973         (SIZE_MAX): Rely on headers.
23974         * lib/areadlinkat-with-size.c (includes): Drop stdio, sys/types,
23975         and add stdint.
23976         * lib/areadlink.c (includes): Drop sys/types, and add stdint.
23977         (SIZE_MAX): Likewise.
23978         (INITIAL_BUF_SIZE): Turn into enum.
23979         * lib/areadlinkat.c (INITIAL_BUF_SIZE): Likewise.
23980
23981 2009-10-08  Jim Meyering  <meyering@redhat.com>
23982
23983         areadlinkat: avoid compilation failure
23984         * lib/areadlinkat.c: Include <stdint.h> for use of SIZE_MAX.
23985         Fix typo in comment.
23986
23987 2009-10-07  Eric Blake  <ebb9@byu.net>
23988
23989         areadlinkat-with-size: new module
23990         * modules/areadlinkat-with-size: New module.
23991         * lib/areadlinkat-with-size.c (areadlinkat_with_size): New file.
23992         * lib/areadlink.h (areadlinkat): Declare it.
23993         * MODULES.html.sh (File system functions): Mention it.
23994         * modules/areadlinkat-with-size-tests: New test.
23995         * tests/test-areadlinkat-with-size.c: New file.
23996
23997         xreadlinkat: new module
23998         * modules/xreadlinkat: New module.
23999         * lib/xreadlinkat.c (xreadlinkat): New file.
24000         * lib/xreadlink.h (xreadlinkat): Declare it.
24001         * MODULES.html.sh (File system functions): Mention it.
24002
24003         areadlinkat: new module
24004         * lib/at-func.c (FUNC_FAIL): New define.
24005         (AT_FUNC_NAME, VALIDATE_FLAG): Use it rather than raw -1.
24006         * modules/areadlinkat: New module.
24007         * lib/linkat.c (areadlinkat): Move...
24008         * lib/areadlinkat.c (areadlinkat): ...to new file.
24009         * lib/areadlink.h (areadlinkat): Declare it.
24010         * modules/linkat (Depends-on): Add areadlinkat.
24011         * MODULES.html.sh (File system functions): Mention it.
24012         * modules/areadlinkat-tests: New test.
24013         * tests/test-areadlinkat.c: New file.
24014
24015         areadlink, areadlink-with-size: add tests
24016         * modules/areadlink-tests: New test.
24017         * modules/areadlink-with-size-tests: Likewise.
24018         * tests/test-areadlink.h: New file.
24019         * tests/test-areadlink.c: Likewise.
24020         * tests/test-areadlink-with-size.c: Likewise.
24021
24022         maint: minor cleanups
24023         * lib/fts.c (ATTRIBUTE_UNUSED): Delete; use gnulib-guaranteed
24024         _UNUSED_PARAMETER_ instead.
24025         * lib/getdate.y (ATTRIBUTE_UNUSED): Likewise.
24026         * lib/utimens.c (ATTRIBUTE_UNUSED): Likewise.
24027         * modules/linkat-tests (Files): Distribute test-link.h.
24028
24029         openat, utimens: whitespace cleanup
24030         * lib/openat.c: Prefer space throughout, rather than mix of 8
24031         spaces vs. tabs.
24032         * lib/at-func.c: Likewise.
24033         * lib/utimens.c: Likewise.
24034
24035         openat: avoid using wrong fd
24036         * lib/openat.c (openat_permissive): Reject user's fd if saving the
24037         working directory chooses same fd.
24038         * lib/at-func.c (AT_FUNC_NAME): Likewise.
24039
24040         mkdir, mkdirat: fix cygwin 1.5.x bug
24041         * lib/mkdir.c (rpl_mkdir) [FUNC_MKDIR_DOT_BUG]: Work around bug.
24042         * m4/mkdir-slash.m4 (gl_FUNC_MKDIR_TRAILING_SLASH): Move...
24043         * m4/mkdir.m4 (gl_FUNC_MKDIR): ...here, and add check for cygwin
24044         bug.
24045         (gl_PREREQ_MKDIR): Delete unused macro.
24046         * modules/mkdir (Files): Track file rename.
24047         (configure.ac): Update macro name.
24048         * modules/openat (Depends-on): Add mkdir.
24049         * doc/posix-functions/mkdir.texi (mkdir): Document the bug.
24050
24051         mkdir, mkdirat: add tests
24052         * modules/mkdir-tests: New test.
24053         * tests/test-mkdir.h: New file.
24054         * tests/test-mkdir.c: Likewise.
24055         * tests/test-mkdirat.c: Likewise.
24056         * modules/openat-tests (Files): Add new files.
24057         (Makefile.am): Run new test.
24058
24059 2009-10-06  Eric Blake  <ebb9@byu.net>
24060
24061         doc: tweak *at function documentation
24062         * doc/posix-functions/faccessat.texi (faccessat): Mention
24063         known issue with replacement.
24064         * doc/posix-functions/fchdir.texi (fchdir): Likewise.
24065         * doc/posix-functions/linkat.texi (linkat): Likewise.
24066         * doc/posix-functions/mkfifoat.texi (mkfifoat): Likewise.
24067         * doc/posix-functions/mknodat.texi (mknodat): Likewise.
24068         * doc/posix-functions/readlinkat.texi (readlinkat): Likewise.
24069         * doc/posix-functions/renameat.texi (renameat): Likewise.
24070         * doc/posix-functions/symlinkat.texi (symlinkat): Likewise.
24071
24072         openat: fix GNU/Hurd bug in unlinkat
24073         * m4/openat.m4 (gl_FUNC_OPENAT): Replace unlinkat if unlink is
24074         broken.
24075         * doc/posix-functions/unlink.texi (unlink): Document this.
24076         * doc/posix-functions/unlinkat.texi (unlinkat): Likewise.
24077
24078         fdopendir: fix GNU/Hurd bug
24079         * m4/fdopendir.m4 (gl_FUNC_FDOPENDIR): Check for Hurd bug in
24080         allowing non-directory fds.
24081         * lib/fdopendir.c (rpl_fdopendir): Work around it.
24082         * m4/dirent_h.m4 (gl_DIRENT_H_DEFAULTS): New witness.
24083         * modules/dirent (Makefile.am): Substitute it.
24084         * lib/dirent.in.h (fdopendir): Declare replacement.
24085         * doc/posix-functions/fdopendir.texi (fdopendir): Document this.
24086         * tests/test-fdopendir.c (main): Test something other than
24087         /dev/null, since on Hurd that behaves like a directory.
24088
24089         test-symlink: port to GNU/Hurd
24090         * tests/test-symlink.h (test_symlink): Relax expected errno.
24091
24092         doc: tweak more cygwin information
24093         * doc/glibc-headers/getopt.texi (getopt.h): Cygwin 1.7 getopt is
24094         now compatible with glibc.
24095         * doc/posix-functions/getopt.texi (getopt): Likewise.
24096
24097         getopt-gnu: add another test
24098         * tests/test-getopt_long.h (test_getopt_long_posix): New test, to
24099         guarantee behavior relied on by m4.
24100         * tests/test-getopt.c (main): Use it.
24101         * modules/getopt-posix-tests (Depends-on): Add setenv.
24102         See http://lists.gnu.org/archive/html/bug-m4/2006-09/msg00028.html.
24103
24104         getopt: fix compilation on darwin
24105         * lib/getopt.in.h (includes): Leave breadcrumbs during system
24106         include.
24107         * lib/unistd.in.h (getopt): Use them to avoid recursive include.
24108         Reported by Ludovic Courtès.
24109
24110 2009-10-06  Bruno Haible  <bruno@clisp.org>
24111
24112         * modules/size_max (Description): Discourage its use.
24113         Reported by Simon Josefsson.
24114
24115 2009-10-06  Jim Meyering  <meyering@redhat.com>
24116
24117         linkat: avoid compilation failure
24118         * lib/linkat.c: Include <stdint.h> for use of SIZE_MAX.
24119
24120 2009-10-05  Eric Blake  <ebb9@byu.net>
24121
24122         linkat: support Linux 2.6.17
24123         * m4/linkat.m4 (gl_FUNC_LINKAT): Default to always replacing
24124         linkat on Linux, but allow cache variable override.
24125         * lib/linkat.c (rpl_linkat): Define override.
24126         * modules/linkat (Depends-on): Add symlinkat.
24127         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Add new default.
24128         * modules/unistd (Makefile.am): Substitute it.
24129         * lib/unistd.in.h (linkat): Declare replacement.
24130         Reported by Pádraig Brady.
24131
24132         quotearg: port test to systems with C.UTF-8 locale
24133         * tests/test-quotearg.c (struct result_strings): Add another
24134         member, differentiating between C.ASCII and C.UTF-8 handling.
24135         (compare_strings): Add parameter.
24136         (main): Adjust all callers.
24137
24138         getopt: avoid clash with FreeBSD _getopt_internal
24139         * lib/getopt.in.h (_getopt_internal): Override the name.
24140         * lib/getopt_int.h (includes): Pick up any overrides.
24141         Reported by Reuben Thomas.
24142
24143         hash: allow C89 compilation
24144         * lib/hash.c (check_tuning): Move declaration before statement.
24145         Reported by Reuben Thomas.
24146
24147 2009-10-05  Karl Berry  <karl@gnu.org>
24148
24149         * doc/gnulib.texi: @include execvpe.texi, missing for several days.
24150
24151 2009-10-04  Paolo Bonzini  <bonzini@gnu.org>
24152             Bruno Haible  <bruno@clisp.org>
24153
24154         * lib/uname.c (uname): Use a table-driven algorithm to compute
24155         Windows NT versions.
24156
24157 2009-10-04  Bruno Haible  <bruno@clisp.org>
24158
24159         * lib/progname.c (set_program_name): Also remove the "lt-" prefix from
24160         program_invocation_short_name.
24161         * modules/progname (configure.ac): Test for presence of
24162         program_invocation_short_name.
24163         Reported by Sergey Poznyakoff <gray@gnu.org.ua>.
24164
24165 2009-10-04  Bruno Haible  <bruno@clisp.org>
24166
24167         * lib/progname.c (set_program_name): Fix comment.
24168         Reported by Jim Meyering.
24169
24170 2009-10-03  Paolo Bonzini  <bonzini@gnu.org>
24171             Bruno Haible  <bruno@clisp.org>
24172
24173         * lib/uname.c: Include <string.h>.
24174         (uname): Do only one call to GetVersionEx in the common case.
24175
24176 2009-10-03  Paolo Bonzini  <bonzini@gnu.org>
24177             Bruno Haible  <bruno@clisp.org>
24178
24179         * lib/uname.c (VER_PLATFORM_WIN32_CE, PROCESSOR_ARCHITECTURE_AMD64,
24180         PROCESSOR_ARCHITECTURE_IA32_ON_WIN64): Define fallbacks.
24181         (uname): Add support for Windows CE and various non-x86 CPU types.
24182
24183 2009-10-03  Bruno Haible  <bruno@clisp.org>
24184
24185         * gnulib-tool (func_create_testdir): Conditionally emit AM_PROG_CC_C_O
24186         invocation to tests/configure.ac.
24187         Reported by Ian Beckwith <ianb@erislabs.net>.
24188
24189 2009-10-02  Eric Blake  <ebb9@byu.net>
24190
24191         fchdir: avoid compiler warning
24192         * lib/fchdir.c (canonicalize_file_name)
24193         [!HAVE_CANONICALIZE_FILE_NAME]: Avoid compiler warning on mingw.
24194
24195         test-open: support mingw errno values
24196         * tests/test-open.h (test_open): Relax test.
24197         * tests/test-fopen.h (test_fopen): Likewise.
24198         * tests/test-openat-safer.c (main): Likewise.
24199
24200         open: fix opening directory on mingw
24201         * lib/open.c (open) [REPLACE_OPEN_DIRECTORY]: Correct typo.
24202
24203         test-open: on GNU/Hurd, /dev/null is a directory
24204         * tests/test-fopen.h (main): Rename...
24205         (test_fopen): ...to this.  Use a guaranteed non-directory when
24206         confirming open behavior on trailing slash.
24207         * tests/test-openat-safer.c (main): Likewise.
24208         * tests/test-open.h (main): Likewise....
24209         (test_open): ...to this.
24210         * tests/test-fopen.c (main): Adjust caller.
24211         * tests/test-fopen-safer.c (main): Likewise.
24212         * tests/test-open.c (main): Likewise.
24213         * tests/test-fcntl-safer.c (main): Likewise.
24214         Reported by Samuel Thibault.
24215
24216         rename, fchdir: don't ignore chdir failure
24217         * lib/fchdir.c (get_name): Abort on unexpected chdir failure.
24218         * lib/rename.c (rpl_rename) [W32]: Likewise.
24219         (rpl_rename) [RENAME_DEST_EXISTS_BUG]: Avoid one case of losing
24220         an empty destination directory if source cannot be renamed,
24221         although there is still possibility for failure.
24222         * doc/posix-functions/rename.texi (rename): Document the race.
24223         Reported by Jim Meyering.
24224
24225         maint: cleanup whitespace in recent commits
24226         * lib/rename.c (rpl_rename): Remove tabs.
24227         * tests/test-link.h (test_link): Likewise.
24228         * lib/fchdir.c (get_name): Likewise.
24229         Reported by Jim Meyering.
24230
24231 2009-10-02  Ben Pfaff  <blp@gnu.org>
24232
24233         relocatable-prog-wrapper: Add missing dependency on
24234         double-slash-root.
24235         * modules/relocatable-prog-wrapper: Add dependency.
24236         Reported by Ian Beckwith <ianb@erislabs.net>.
24237
24238 2009-10-02  Eric Blake  <ebb9@byu.net>
24239
24240         renameat: fix Solaris bugs
24241         * m4/renameat.m4 (gl_FUNC_RENAMEAT): Replace renameat if rename
24242         needed fixing.
24243         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): New witness.
24244         * modules/stdio (Makefile.am): Substitute it.
24245         * lib/stdio.in.h (renameat): Declare replacement.
24246         * lib/renameat.c (rpl_renameat): Implement fix.
24247
24248         renameat: new module
24249         * modules/renameat: New file.
24250         * lib/renameat.c (renameat): Likewise.
24251         * m4/renameat.m4 (gl_FUNC_RENAMEAT): Likewise.
24252         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Add witnesses.
24253         * modules/stdio (Makefile.am): Substitute them.
24254         * lib/stdio.in.h (renameat): Declare it.
24255         * MODULES.html.sh (systems lacking POSIX:2008): Mention module.
24256         * doc/posix-functions/renameat.texi (renameat): Likewise.
24257         * modules/renameat-tests: New test.
24258         * tests/test-renameat.c: Likewise.
24259
24260         rename: fix mingw bugs
24261         * lib/rename.c (rpl_rename) [W32]: Fix trailing slash and
24262         directory overwrite bugs.
24263
24264         rename: fix another cygwin 1.5 bug
24265         * m4/rename.m4 (gl_FUNC_RENAME): Split cygwin bugs into two
24266         checks.
24267         * lib/rename.c (rpl_rename): Don't penalize NetBSD with
24268         unnecessary cygwin workarounds.  Also work around bug with moving
24269         full directory onto an empty one.
24270         * modules/rename (Depends-on): Add canonicalize-lgpl, rmdir.
24271
24272         rename-dest-slash: merge into rename module
24273         * modules/rename-dest-slash (Status): Mark obsolete.
24274         (Depends-on): Add rename.
24275         (Files): Let rename do it all.
24276         * m4/rename.m4 (gl_FUNC_RENAME): Also test for NetBSD bugs,
24277         subsuming the test from gl_FUNC_RENAME_TRAILING_DEST_SLASH...
24278         * m4/rename-dest-slash.m4: ...so this file can be deleted.
24279         * lib/rename-dest-slash.c (rpl_rename_dest_slash): Delete.
24280         * lib/rename.c (rpl_rename): Update comments.
24281
24282         rename: fix cygwin 1.5.x bugs
24283         * m4/rename.m4 (gl_FUNC_RENAME): Detect cygwin bugs.
24284         * lib/rename.c (rpl_rename): Work around them.
24285         * modules/rename (Depends-on): Add same-inode.
24286
24287         rename: fix Solaris 10 bug
24288         * m4/rename.m4 (gl_FUNC_RENAME): Detect Solaris bug.
24289         * lib/rename.c (rpl_rename): Don't cripple POSIX behavior if this
24290         was the only bug.
24291
24292         rename: fix Solaris 9 bug
24293         * lib/rename.c (rpl_rename): Rewrite to recognize trailing slash
24294         on non-directory.  Avoid calling exit.
24295         * modules/rename (Depends-on): Drop xalloc; add lstat, stdbool,
24296         strdup.
24297         * modules/rename-tests (Depends-on): Drop lstat.
24298         * m4/rename.m4 (gl_FUNC_RENAME): Detect Solaris bug.
24299         (gl_PREREQ_RENAME): Delete unused macro.
24300
24301         rename-dest-slash: fix NetBSD bug
24302         * lib/rename-dest-slash.c (rpl_rename_dest_slash): Detect hard
24303         links.
24304         * modules/rename-dest-slash (Depends-on): Add same-inode.
24305
24306         rename-tests: new test, exposes several platform bugs
24307         * modules/rename-tests: New file.
24308         * tests/test-rename.h: Likewise.
24309         * tests/test-rename.c: Likewise.
24310         * doc/posix-functions/rename.texi (rename): Improve documentation,
24311         including bugs that will eventually be fixed in gnulib.
24312
24313 2009-10-02  Paolo Bonzini  <bonzini@gnu.org>
24314
24315         * lib/uname.c: Include <stdlib.h>
24316         (uname): Assume version info is available.
24317
24318 2009-10-02  Jim Meyering  <meyering@redhat.com>
24319
24320         gnu-web-doc-update: correct --help output
24321         * build-aux/gnu-web-doc-update: Make --help output relevant.
24322
24323         gnu-web-doc-update: add standard options
24324         * build-aux/gnu-web-doc-update: Add --help, --version, etc.
24325
24326         gnu-web-doc-update: New module.
24327         Use this script to automatically update the on-line web documentation
24328         for your GNU project at http://www.gnu.org/software/$pkg/manual/
24329         * modules/gnu-web-doc-update: New file, from coreutils.
24330         * build-aux/gnu-web-doc-update: New script.
24331
24332 2009-10-01  Paolo Bonzini  <bonzini@gnu.org>
24333
24334         link: LoadLibrary is not needed.
24335         * lib/link.c: Use GetModuleHandle.
24336
24337 2009-10-01  Eric Blake  <ebb9@byu.net>
24338
24339         getopt: bump serial number
24340         * m4/getopt.m4: Increment serial number, to account for 2009-09-24
24341         change.
24342
24343         tests: tighten link, rmdir, and remove tests
24344         * tests/test-link.h (includes): No need to use <config.h> here.
24345         Clean up if directory hard link was created, otherwise test for
24346         trailing '.'.
24347         * tests/test-linkat.c (main): Simplify.
24348         * tests/test-remove.c (main): Enhance test for trailing '.'.
24349         * tests/test-rmdir.h (test_rmdir_func): Likewise.
24350
24351 2009-10-01  Jim Meyering  <meyering@redhat.com>
24352
24353         maint.mk: requiring "make major" was annoying, for a "minor" release.
24354         What is intended is "stable", to contrast with alpha and beta,
24355         so require "make stable", not "make major".
24356         * build-aux/announce-gen (%valid_release_types): s/major/stable/.
24357         (get_tool_versions): Likewise.
24358         * top/maint.mk (ALL_RECURSIVE_TARGETS): s/major/stable/
24359
24360 2009-09-30  Ben Pfaff  <blp@gnu.org>
24361
24362         Fix broken build of replacement for Windows tmpfile().
24363         * lib/tmpfile.c (tmpfile): Fix call to gen_tempname() to provide
24364         flags argument added along with the 'mkostemp' module.
24365
24366 2009-09-28  Bruno Haible  <bruno@clisp.org>
24367
24368         Avoid identifier clash with POSIX function 'remove' defined as a macro.
24369         * lib/gl_list.h (struct gl_list_implementation): Rename field 'remove'
24370         to 'remove_elt'.
24371         (gl_list_remove): Update.
24372         * lib/gl_list.c (gl_list_remove): Update.
24373         * lib/gl_oset.h (struct gl_oset_implementation): Rename field 'remove'
24374         to 'remove_elt'.
24375         (gl_oset_remove): Update.
24376         * lib/gl_list.c (gl_oset_remove): Update.
24377         Reported by Eric Blake.
24378
24379 2009-09-28  Eric Blake  <ebb9@byu.net>
24380
24381         doc: mention yet more cygwin 1.7 status
24382         * doc/posix-functions/fexecve.texi (fexecve): Now implemented in
24383         cygwin.
24384         * doc/glibc-functions/execvpe.texi (execvpe): New file.
24385         * doc/gnulib.texi (Glibc unistd.h): Mention it.
24386
24387         argp: fix test failure
24388         * lib/argp-help.c (hol_entry_cmp): Don't use _tolower on values
24389         that are not upper-case.  Pass correct range to tolower.
24390
24391 2009-09-27  Jim Meyering  <meyering@redhat.com>
24392
24393         test-yesno: work around sparc-dash here-document infelicity
24394         Without this change, the literal \177 byte in a here document
24395         would make dash 0.5.5.1-3 access uninitialized memory.
24396         * tests/test-yesno.sh: Don't put the \177 byte in the here document.
24397         Instead, use a marker, "@", and filter through tr to create the desired
24398         contents.  Reported as <http://bugs.debian.org/548493> by Kurt Roeckx.
24399
24400 2009-09-27  Bruno Haible  <bruno@clisp.org>
24401
24402         Disable untested support for new flavours of ACLs on AIX.
24403         * lib/file-has-acl.c (file_has_acl): Mark newer AIX code as work in
24404         progress.
24405         * lib/set-mode-acl.c (qset_acl): Likewise.
24406
24407 2008-12-07  Bruno Haible  <bruno@clisp.org>
24408
24409         Add support for new flavours of ACLs on AIX. (Untested.)
24410         * lib/file-has-acl.c [AIX] (acl_nfs4_nontrivial): New function.
24411         (file_has_acl): Add support for newer AIX.
24412         * lib/set-mode-acl.c (qset_acl): Likewise.
24413         * tests/test-sameacls.c (main): Fix use of aclx_get function. Hint by
24414         Rainer Tammer <tammer@tammer.net>.
24415
24416 2009-09-26  Eric Blake  <ebb9@byu.net>
24417
24418         argp: fix compilation of getopt
24419         * lib/getopt.in.h (includes): Use different guard than glibc.
24420         Reported by Sergey Poznyakoff.
24421
24422         doc: mention more cygwin 1.7 status
24423         * doc/posix-functions/access.texi (access): Mention cygwin 1.5
24424         bug.
24425         * doc/posix-functions/execl.texi (execl): Likewise.
24426         * doc/posix-functions/execle.texi (execle): Likewise.
24427         * doc/posix-functions/execlp.texi (execlp): Likewise.
24428         * doc/posix-functions/execv.texi (execv): Likewise.
24429         * doc/posix-functions/execve.texi (execve): Likewise.
24430         * doc/posix-functions/execvp.texi (execvp): Likewise.
24431         * doc/glibc-functions/canonicalize_file_name.texi
24432         (canonicalize_file_name): Cygwin 1.7 now provides this.
24433         * doc/glibc-functions/euidaccess.texi (euidaccess): Likewise.
24434         * doc/posix-functions/fchmodat.texi (fchmodat): Mention limitation
24435         on AT_SYMLINK_NOFOLLOW.
24436
24437 2009-09-24  Eric Blake  <ebb9@byu.net>
24438
24439         test-linkat: make test more robust
24440         * tests/test-linkat.c (main): Avoid collision with EEXIST.
24441
24442         getopt: fix inclusion guards for cygwin
24443         * modules/getopt-posix (Depends-on): Add include-next.
24444         (Makefile.am): Substitute more items in replacement header.
24445         * m4/getopt.m4 (gl_GETOPT_CHECK_HEADERS): Also check for native
24446         <getopt.h>.
24447         * lib/getopt.in.h (includes): Use split inclusion guard, and
24448         prefer <getopt.h> over include <unistd.h> when one is present.
24449         (option): Also override name of 'struct option'.
24450
24451         same-inode: revert prior change; it is not yet ready
24452         * NEWS: Undo mention of this change.
24453         * lib/same-inode.h (same-inode.h): Undo tri-state change.
24454         * lib/cycle-check.h (CYCLE_CHECK_REFLECT_CHDIR_UP): Update caller.
24455         * lib/cycle-check.c (cycle_check): Likewise.
24456         * lib/same.c (same_name): Likewise.
24457         * lib/at-func2.c (at_func2): Likewise.
24458
24459 2009-09-23  Eric Blake  <ebb9@byu.net>
24460
24461         linkat: new module
24462         * modules/linkat: New file.
24463         * lib/at-func2.c (at_func2): Likewise.
24464         * lib/linkat.c (linkat): Likewise.
24465         * m4/linkat.m4 (gl_FUNC_LINKAT): Likewise.
24466         * lib/openat-priv.h (at_func2): Add declaration.
24467         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Add witnesses.
24468         * modules/unistd (Makefile.am): Substitute them.
24469         * lib/unistd.in.h (linkat): Declare it.
24470         * MODULES.html.sh (systems lacking POSIX:2008): Mention module.
24471         * doc/posix-functions/linkat.texi (linkat): Likewise.
24472         * doc/posix-functions/link.texi (link): Tweak wording.
24473         * tests/test-link.c (main): Move guts...
24474         * tests/test-link.h (test_link): ...into new file.
24475         * modules/linkat-tests: New test.
24476         * tests/test-linkat.c: Likewise.
24477         * modules/link-tests (Files): Ship new file.
24478         (Depends-on): Add stdbool.
24479
24480         dirname: add library-safe mdir_name
24481         * lib/dirname.h (mdir_name): New prototype.
24482         * lib/dirname.c (dir_name): Move guts...
24483         (mdir_name): ...to new function that avoids xalloc_die.
24484
24485         fchdir: another mingw fix
24486         * modules/fchdir (Depends-on): Drop canonicalize-lgpl.
24487         * lib/fchdir.c (get_name): New helper method; skips canonicalize
24488         on mingw (where it has not yet been ported), and make it optional
24489         elsewhere.
24490         (_gl_register_fd): Use it.
24491
24492         same-inode: make SAME_INODE tri-state, to port to mingw
24493         * NEWS: Mention this change.
24494         * lib/same-inode.h (same-inode.h): Recognize mingw limitation of
24495         st_ino always being 0.
24496         * lib/cycle-check.h (CYCLE_CHECK_REFLECT_CHDIR_UP): Update caller.
24497         * lib/cycle-check.c (cycle_check): Likewise.
24498         * lib/same.c (same_name): Likewise.
24499
24500         lstat: avoid mingw compilation error
24501         * m4/lstat.m4 (gl_FUNC_LSTAT): Avoid duplicate calls to
24502         AC_FUNC_LSTAT_FOLLOWS_SLASHED_SYMLINK, and deal with missing
24503         lstat ourselves.
24504         * lib/lstat.c [!HAVE_LSTAT]: Do nothing if <sys/stat.h> override
24505         was adequate.
24506         * m4/sys_stat_h.m4 (gl_HEADER_SYS_STAT_H): Let lstat module handle
24507         the checks for lstat.
24508         (gl_SYS_STAT_H_DEFAULTS): Set default for HAVE_LSTAT.
24509
24510         link: fix test failure on Solaris 9
24511         * lib/link.c (rpl_link): Don't assume link will catch bogus
24512         trailing slash on source.
24513
24514         test-symlinkat: enhance test
24515         * tests/test-readlink.c (main): Move guts...
24516         * tests/test-readlink.h (test_readlink): ...into new file.
24517         * tests/test-symlink.c (main): Move guts...
24518         * tests/test-symlink.h (test_symlink): ...into new file.
24519         * tests/test-symlinkat.c (main): Use new files for further
24520         coverage.
24521         (do_symlink, do_readlink): New helper functions.
24522         * modules/symlink-tests (Files): Ship new file.
24523         (Depends-on): Add stdbool.
24524         * modules/readlink-tests (Files): Ship new file.
24525         (Depends-on): Add stdbool.
24526         * modules/symlinkat-tests (Files): Use new files.
24527
24528 2009-09-23  Eric Blake  <ebb9@byu.net>
24529
24530         readlink: document portability issue with symlink length
24531         * doc/posix-functions/lstat.texi (lstat): Mention that some file
24532         systems have bogus st_size on symlinks, and mention the
24533         areadlink-with-size module.
24534         * doc/posix-functions/fstatat.texi (fstatat): Likewise.
24535         * doc/posix-functions/readlink.texi (readlink): Mention the
24536         areadlink module, and ERANGE failure.
24537         * doc/posix-functions/readlinkat.texi (readlinkat): Likewise.
24538         * tests/test-readlink.c (main): Relax test for AIX, HP-UX.
24539
24540         readlink: fix Solaris 9 bug with trailing slash
24541         * lib/readlink.c (rpl_readlink): Work around trailing slash bug.
24542         * m4/readlink.m4 (gl_FUNC_READLINK): Detect the bug.
24543         * doc/posix-functions/readlink.texi (readlink): Document this.
24544         * modules/readlink-tests: New test.
24545         * tests/test-readlink.c: Likewise.
24546
24547         readlink: fix cygwin 1.5.x bug with return type
24548         * m4/readlink.m4 (gl_FUNC_READLINK): Require correct signature.
24549         * lib/unistd.in.h (readlink): Use ssize_t.
24550         * lib/readlink.c (readlink): Likewise.
24551         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Add witness.
24552         * modules/unistd (Makefile.am): Substitute it.
24553         * lib/unistd.in.h (readlink): Declare replacement.
24554         * doc/posix-functions/readlink.texi (readlink): Document this.
24555
24556         symlink: use throughout gnulib
24557         * m4/symlinkat.m4 (gl_FUNC_SYMLINKAT): Omit symlink check.
24558         * lib/symlinkat.c (symlinkat) [!HAVE_SYMLINK]: Document why
24559         symlink is not used.
24560         * modules/symlinkat (Depends-on): Add symlink.
24561         * modules/canonicalize-lgpl-tests (Depends-on): Likewise.
24562         * modules/canonicalize-tests (Depends-on): Likewise.
24563         * modules/lstat-tests (Depends-on): Likewise.
24564         * modules/openat-tests (Depends-on): Likewise.
24565         * modules/remove-tests (Depends-on): Likewise.
24566         * modules/rmdir-tests (Depends-on): Likewise.
24567         * modules/unlink-tests (Depends-on): Likewise.
24568         * tests/test-canonicalize-lgpl.c (symlink): Delete stub.
24569         * tests/test-canonicalize.c (symlink): Likewise.
24570         * tests/test-fstatat.c (symlink): Likewise.
24571         * tests/test-lstat.c (symlink): Likewise.
24572         * tests/test-remove.c (symlink): Likewise.
24573         * tests/test-rmdir.c (symlink): Likewise.
24574         * tests/test-unlink.c (symlink): Likewise.
24575         * tests/test-unlinkat.c (symlink): Likewise.
24576
24577         symlink: new module, for Solaris 9 bug
24578         * modules/symlink: New file.
24579         * m4/symlink.m4 (gl_FUNC_SYMLINK): Likewise.
24580         * lib/symlink.c: Likewise.
24581         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Add defaults.
24582         * modules/unistd (Makefile.am): Substitute them.
24583         * lib/unistd.in.h (symlink): Declare replacement.
24584         * MODULES.html.sh (File system functions): Mention it.
24585         * doc/posix-functions/symlink.texi (symlink): Likewise.
24586         * modules/symlink-tests: New test.
24587         * tests/test-symlink.c: Likewise.
24588
24589 2009-09-23  Bruno Haible  <bruno@clisp.org>
24590
24591         * gnulib-tool (func_import): Add 'link-warning' to testsrelated_modules
24592         when needed.
24593         Test case: gnulib-tool --import --with-tests atexit inttypes.
24594         Reported by Pauli Miettinen <pauli.miettinen@cs.helsinki.fi>.
24595
24596 2009-09-23  Bruno Haible  <bruno@clisp.org>
24597
24598         * gnulib-tool (func_emit_tests_Makefile_am): Set uses_subdirs in a
24599         subcommand, not in a subshell.
24600
24601 2009-09-22  Eric Blake  <ebb9@byu.net>
24602
24603         unistd: sort replacement declarations
24604         * lib/unistd.in.h: Sort declarations.
24605
24606         open, openat: minor optimization
24607         * lib/open.c (open): If open succeeded, len is non-zero.
24608         * lib/openat.c (rpl_openat): Likewise.
24609
24610         link-follow: ensure correct result
24611         * m4/fcntl_h.m4 (gl_FCNTL_H): Clean up temporary file.
24612         * m4/link-follow.m4 (gl_FUNC_LINK_FOLLOWS_SYMLINK): Likewise, and
24613         distinguish between possible failures.
24614
24615 2009-09-21  Eric Blake  <ebb9@byu.net>
24616
24617         fts: avoid compiler warning
24618         * lib/fts.c (dirent_inode_sort_may_be_useful)
24619         (leaf_optimization_applies) [!__linux__]: Mark unused parameters.
24620
24621 2009-09-19  Bruno Haible  <bruno@clisp.org>
24622
24623         * lib/progreloc.c (canonicalize_file_name): New declaration.
24624
24625 2009-09-19  Eric Blake  <ebb9@byu.net>
24626
24627         link: fix quoting
24628         * m4/link.m4 (gl_FUNC_LINK): Fix shell quoting.
24629
24630         openat: fix openat bugs on Solaris 9
24631         * lib/openat.c (rpl_openat): Work around Solaris 9 bug.
24632         * m4/openat.m4 (gl_FUNC_OPENAT): Also replace openat on Solaris.
24633         * modules/openat (Depends-on): Add open.
24634         * m4/fcntl_h.m4 (gl_FCNTL_H_DEFAULTS): Provide new default.
24635         * modules/fcntl-h (Makefile.am): Substitute it.
24636         * lib/fcntl.in.h (openat): Declare replacement.
24637         * doc/posix-functions/openat.texi (openat): Document this.
24638
24639         openat: move fstatat and unlinkat into correct files
24640         * m4/openat.m4 (gl_FUNC_OPENAT): Adjust which files will be
24641         compiled.
24642         * lib/openat.c (fstatat, unlinkat): Move...
24643         * lib/fstatat.c (fstatat): ...into correct files.
24644         * lib/unlinkat.c (unlinkat): Likewise.
24645
24646         openat: fix unlinkat bugs on Solaris 9
24647         * lib/unlinkat.c (unlinkat): New file.
24648         * modules/openat (Depends-on): Add unlink.
24649         (Files): Distribute it.
24650         * m4/openat.m4 (gl_FUNC_OPENAT): Mark unlinkat for replacement if
24651         trailing slash behavior is broken.
24652         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Add witness.
24653         * modules/unistd (Makefile.am): Substitute it.
24654         * lib/unistd.in.h (unlinkat): Declare replacement.
24655         * doc/posix-functions/unlinkat.texi (unlinkat): Document this.
24656
24657         openat: fix fstatat bugs on Solaris 9
24658         * lib/fstatat.c (rpl_fstatat): Copy recent fixes from lstat and
24659         stat.
24660         * doc/posix-functions/fstatat.texi (fstatat): Document this.
24661
24662         test-unlinkat: enhance test, to expose Solaris 9 bug
24663         * tests/test-unlink.c (main): Factor guts...
24664         * tests/test-unlink.h (test_rmdir_func): ...into new file.
24665         * tests/test-rmdir.h (test_rmdir_func): Add parameter.
24666         * tests/test-rmdir.c (main): Adjust caller.
24667         * tests/test-unlinkat.c (main): Likewise.  Add unlink tests.
24668         (unlinker): New helper function.
24669         (rmdirat): Enhance check.
24670         * modules/rmdir-tests (Depends-on): Add stdbool.
24671         * modules/unlink-tests (Depends-on): Likewise.
24672         (Files): Add test-unlink.h.
24673         * modules/openat-tests (Files): Likewise.
24674         (Depends-on): Add unlinkdir.
24675
24676         test-fstatat: new test, to expose Solaris 9 bugs
24677         * tests/test-stat.c (main): Factor guts...
24678         * tests/test-stat.h (test_stat_func): ...into new file.
24679         * tests/test-lstat.c (main): Factor guts...
24680         * tests/test-lstat.h (test_lstat_func): ...into new file.
24681         * tests/test-fstatat.c: New file.
24682         * modules/stat-tests (Files): Add test-stat.h.
24683         * modules/lstat-tests (Files): Add test-lstat.h.
24684         (Depends-on): Add stdbool.
24685         * modules/openat-tests (Depends-on): Add pathmax.
24686         (Files): Add test-lstat.h, test-stat.h, test-fstatat.c.
24687         (Makefile.am): Run new test.
24688
24689         remove: new module, for mingw and Solaris 9 bugs
24690         * modules/remove: New file.
24691         * lib/remove.c: Likewise.
24692         * m4/remove.m4 (gl_FUNC_REMOVE): Likewise.
24693         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Add witnesses.
24694         * modules/stdio (Makefile.am): Use them.
24695         * lib/stdio.in.h (remove): Declare replacement.
24696         * MODULES.html.sh (systems lacking POSIX:2008): Mention module.
24697         * doc/posix-functions/remove.texi (remove): Likewise.
24698         * modules/remove-tests: New test.
24699         * tests/test-remove.c: Likewise.
24700
24701         unlink: new module, for Solaris 9 bug
24702         * modules/unlink: New file.
24703         * lib/unlink.c: Likewise.
24704         * m4/unlink.m4 (gl_FUNC_UNLINK): Likewise.
24705         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Add witnesses.
24706         * modules/unistd (Makefile.am): Use them.
24707         * lib/unistd.in.h (stat): Declare replacement.
24708         * MODULES.html.sh (systems lacking POSIX:2008): Mention module.
24709         * doc/posix-functions/unlink.texi (unlink): Likewise.
24710         * modules/unlink-tests: New test.
24711         * tests/test-unlink.c: Likewise.
24712
24713         lstat: fix Solaris 9 bug
24714         * lib/lstat.c (lstat): Also check for trailing slash on
24715         non-symlink, non-directories.  Use stat module to simplify logic.
24716         * doc/posix-functions/lstat.texi (lstat): Document it.
24717         * modules/lstat-tests (Depends-on): Add errno, same-inode.
24718         (configure.ac): Check for symlink.
24719         * tests/test-lstat.c (main): Add more tests.
24720
24721         stat: add as dependency to other modules
24722         * modules/chown (Depends-on): Add stat.
24723         * modules/euidaccess (Depends-on): Likewise.
24724         * modules/fchdir (Depends-on): Likewise.
24725         * modules/isdir (Depends-on): Likewise.
24726         * modules/link (Depends-on): Likewise.
24727         * modules/lstat (Depends-on): Likewise.
24728         * modules/mkdir-p (Depends-on): Likewise.
24729         * modules/modechange (Depends-on): Likewise.
24730         * modules/open (Depends-on): Likewise.
24731         * modules/readlink (Depends-on): Likewise.
24732         * modules/same (Depends-on): Likewise.
24733
24734         stat: fix Solaris 9 bug
24735         * m4/stat.m4 (gl_FUNC_STAT): Detect Solaris 9 bug with trailing
24736         slash.
24737         * lib/stat.c (rpl_stat): Work around it.
24738         * doc/posix-functions/stat.texi (stat): Update documentation.
24739
24740         stat: new module, for mingw bug
24741         * modules/stat: New file.
24742         * lib/stat.c: Likewise.
24743         * m4/stat.m4 (gl_FUNC_STAT): Likewise.
24744         * m4/sys_stat_h.m4 (gl_SYS_STAT_H_DEFAULTS): Add witnesses.
24745         * modules/sys_stat (Makefile.am): Use them.
24746         * lib/sys_stat.in.h (stat): Declare replacement.
24747         * lib/openat.c (fstatat): Deal with lstat and stat being function
24748         macros.
24749         * modules/openat (Depends-on): Add inline.
24750         * MODULES.html.sh (systems lacking POSIX:2008): Mention module.
24751         * doc/posix-functions/stat.texi (stat): Likewise.
24752         * modules/stat-tests: New test.
24753         * tests/test-stat.c: Likewise.
24754
24755 2009-09-19  Jim Meyering  <meyering@redhat.com>
24756
24757         syntax-check: detect unnecessary inclusion of canonicalize.h
24758         * top/maint.mk (sc_prohibit_canonicalize_without_use): New rule.
24759
24760 2009-09-19  Eric Blake  <ebb9@byu.net>
24761
24762         canonicalize-lgpl: adjust clients to use correct header
24763         * m4/canonicalize.m4 (gl_FUNC_CANONICALIZE_FILENAME_MODE)
24764         (gl_CANONICALIZE_LGPL): Use correct shell quoting.
24765         * modules/relocatable-prog-wrapper (Files): Drop canonicalize.h.
24766         * lib/fchdir.c (includes): Use <stdlib.h>, not "canonicalize.h".
24767         * lib/progreloc.c (includes): Likewise.
24768
24769 2009-09-19  Jim Meyering  <meyering@redhat.com>
24770
24771         test-posixtm.c: correct a comment
24772         * tests/test-posixtm.c: Correct first-line comment.
24773         Spotted by Eric Blake.
24774
24775 2009-09-16  Jim Meyering  <meyering@redhat.com>
24776
24777         posixtm-tests: make T const-correct; add a test case
24778         * tests/test-posixtm.c (T): Declare const.
24779         Add a test for -(2^31+1).
24780         Remove useless can-succeed-only-in-2002 test.
24781
24782         posixtm-tests: adjust the sole failing test
24783         * tests/test-posixtm.c: Correct 0000-01-01 00:00:00 test so that
24784         expected output matches what mktime now produces.  Cross-checked via
24785         erlang's calendar:datetime_to_gregorian_seconds({{1970,1,1},{0,0,0}})
24786
24787         posixtm: move #ifdef'd tests into a new module
24788         * lib/posixtm.c (posixtime): Remove #ifdef'd tests.  Move to...
24789         * tests/test-posixtm.c: ... this new file.
24790         * modules/posixtm-tests: New module.
24791
24792 2009-09-19  Eric Blake  <ebb9@byu.net>
24793
24794         openat: simplify use of at-func.c
24795         * lib/at-func.c (includes): Include prerequisites here, to
24796         simplify requirements on client files.
24797         * lib/openat-priv.h: Add double-inclusion guard.
24798         * lib/faccessat.c (includes): Simplify.
24799         * lib/fchmodat.c (includes): Likewise.
24800         * lib/fchownat.c (includes): Likewise.
24801         * lib/mkdirat.c (includes): Likewise.
24802         * lib/mkfifoat.c (includes): Likewise.
24803         * lib/symlinkat.c (includes): Likewise.
24804
24805         openat: allow return of fd 0
24806         * modules/chdir-long (Depends-on): Relax openat-safer to openat.
24807         * modules/save-cwd (Depends-on): Replace fcntl-safer with
24808         unistd-safer.
24809         * lib/chdir-long.c (includes): Replace "fcntl--.h" with
24810         <fcntl.h>; this module does not leak fds.
24811         * lib/openat.c (includes): Do not use "fcntl_safer"; plain openat
24812         must be allowed to return 0, leaving openat_safer to add the
24813         safety.
24814         (openat_permissive): Avoid writing to just-opened fd 2 if
24815         restoring the current directory fails.
24816         * lib/openat-die.c (openat_restore_fail): Add comment.
24817         * lib/save-cwd.c (includes): Make "fcntl--.h" conditional.
24818         (save_cwd): Guarantee safe fd, but without use of open_safer.
24819         * tests/test-openat.c: New test.
24820         * modules/openat-tests (Files, Makefile.am): Distribute and build
24821         new file.
24822
24823         relocatable-prog-wrapper: fix build
24824         * modules/relocatable-prog-wrapper (Files): Update name of
24825         canonicalize m4 file, broken on 2009-09-17.
24826         Reported by emad hajjar <aleppos@hotmail.com>.
24827
24828 2009-09-19  Bruno Haible  <bruno@clisp.org>
24829
24830         * lib/safe-alloc.h: Use the standard header with GPL copyright.
24831         * lib/safe-alloc.c: Likewise.
24832         Reported by Ian Beckwith <ianb@erislabs.net>.
24833
24834 2009-09-18  Bruno Haible  <bruno@clisp.org>
24835
24836         * gnulib-tool: Add advice to "cannot find configure.ac" error message.
24837         Reported by <erobles@sensacd.com.mx>.
24838
24839 2009-09-17  Eric Blake  <ebb9@byu.net>
24840
24841         canonicalize: in CAN_ALL_BUT_LAST, allow trailing slash
24842         * lib/canonicalize.c (canonicalize_filename_mode): Skip trailing
24843         slashes when checking if last component is missing.
24844         * tests/test-canonicalize.c (main): Test this.
24845
24846         canonicalize, canonicalize-lgpl: honor // if distinct from /
24847         * modules/canonicalize (Files): Add double-slash-root.m4.
24848         * modules/canonicalize-lgpl (Files): Likewise.
24849         * m4/canonicalize.m4 (gl_FUNC_CANONICALIZE_FILENAME_MODE)
24850         (gl_CANONICALIZE_LGPL_SEPARATE): Add dependency.
24851         * lib/canonicalize.c (DOUBLE_SLASH_IS_DISTINCT_ROOT): Provide
24852         fallback definition.
24853         (canonicalize_filename_mode): Use it to protect //.
24854         * lib/canonicalize-lgpl.c (DOUBLE_SLASH_IS_DISTINCT_ROOT)
24855         (__realpath): Likewise.
24856         * tests/test-canonicalize.c (main): Test this.
24857         * tests/test-canonicalize-lgpl.c (main): Likewise.
24858         * modules/canonicalize-tests (Depends-on): Add same-inode.
24859         * modules/canonicalize-lgpl-tests (Depends-on): Likewise.
24860
24861         canonicalize-lgpl: fix glibc bug with trailing slash
24862         * m4/canonicalize-lgpl.m4: Move contents...
24863         * m4/canonicalize.m4: ...here.
24864         (gl_CANONICALIZE_LGPL): Factor realpath check...
24865         (gl_FUNC_REALPATH_WORKS): ...into new macro.  Enhance to catch
24866         glibc 2.3.5 bug, fixed 2005-04-27.
24867         (gl_FUNC_CANONICALIZE_FILENAME_MODE): Use it.
24868         (gl_PREREQ_CANONICALIZE_LGPL): Inline...
24869         (gl_CANONICALIZE_LGPL_SEPARATE): ...into this macro.
24870         * modules/canonicalize-lgpl (Files): Manage file rename.
24871         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Provide default.
24872         * modules/stdlib (Makefile.am): Substitute witness.
24873         * lib/stdlib.in.h (canonicalize_file_name): Declare if replacement
24874         is needed.
24875         * lib/canonicalize-lgpl.c: Also compile if canonicalize_file_name
24876         replacement is required.
24877         * lib/canonicalize.c (canonicalize_file_name): Likewise.
24878         * doc/glibc-functions/canonicalize_file_name.texi
24879         (canonicalize_file_name): Document this.
24880         * doc/posix-functions/realpath.texi (realpath): Likewise.
24881
24882         canonicalize-lgpl: reject non-directory with trailing slash
24883         * lib/canonicalize-lgpl.c (__realpath): Synchronize with glibc.
24884         * tests/test-canonicalize-lgpl.c (main): Enhance test.  This
24885         catches failures in glibc 2.3.5.
24886         * tests/test-canonicalize.c (main): Likewise.
24887
24888         canonicalize-lgpl: use native realpath if it works
24889         * lib/canonicalize-lgpl.c (realpath): Guard with
24890         FUNC_REALPATH_WORKS.
24891         * lib/stdlib.in.h (realpath): Make declaration optional based on
24892         HAVE_REALPATH.
24893         * m4/canonicalize-lgpl.m4 (gl_CANONICALIZE_LGPL): Check whether
24894         native realpath works.
24895         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Provide default.
24896         * modules/stdlib (Makefile.am): Substitute witness.
24897
24898         canonicalize, canonicalize-lgpl: use <stdlib.h>
24899         * modules/canonicalize-lgpl (Files): Drop canonicalize.h.
24900         (Include): Mention <stdlib.h>.
24901         (configure.ac): Mention functions we provide.
24902         * modules/canonicalize (configure.ac): Likewise.
24903         * m4/canonicalize-lgpl.m4 (gl_CANONICALIZE_LGPL): Always replace
24904         realpath if canonicalize_file_name is missing.
24905         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Provide defaults.
24906         * modules/stdlib (Makefile.am): Substitute witnesses.
24907         * lib/stdlib.in.h (canonicalize_file_name, realpath): Declare.
24908         * lib/canonicalize-lgpl.c (includes): Adjust accordingly.
24909         * lib/canonicalize.h (canonicalize_file_name): Drop declaration.
24910         * NEWS: Document this.
24911         * doc/glibc-functions/canonicalize_file_name.texi
24912         (canonicalize_file_name): Likewise.
24913         * doc/posix-functions/realpath.texi (realpath): Likewise.
24914         * tests/test-canonicalize-lgpl.c (includes): Use <stdlib.h>.
24915
24916         test-canonicalize: consolidate into single C program
24917         * tests/test-canonicalize.sh: Delete; move setup into...
24918         * tests/test-canonicalize.c (main): ...the program, making it
24919         easier to run in debugger.  Add some tests.
24920         * modules/canonicalize-tests (Files): Remove unused file.
24921         (Depends-on): Add progname.
24922         (configure.ac, Makefile.am): Simplify.
24923
24924         test-canonicalize-lgpl: consolidate into single C program
24925         * tests/test-canonicalize-lgpl.sh: Delete; move setup into...
24926         * tests/test-canonicalize-lgpl.c (main): ...the program, making it
24927         easier to run in debugger.  Add some tests.
24928         * modules/canonicalize-lgpl-tests (Files): Remove unused file.
24929         (configure.ac, Makefile.am): Simplify.
24930
24931         canonicalize: avoid resolvepath
24932         * m4/canonicalize.m4 (gl_FUNC_CANONICALIZE_FILENAME_MODE): Delete
24933         unnecessary checks.
24934         * lib/canonicalize.c (includes): Simplify.
24935         (canonicalize_file_name): Drop resolvepath implementation.
24936         * modules/canonicalize (Depends-on): Drop filenamecat.
24937
24938         canonicalize: don't lose errno
24939         * lib/canonicalize.c (canonicalize_filename_mode): Protect errno
24940         over calls to free.
24941
24942         canonicalize: simplify errno handling
24943         * lib/canonicalize.c (__set_errno): Delete macro, and use direct
24944         assignment.
24945
24946         canonicalize, canonicalize-lgpl: update module dependencies
24947         * modules/canonicalize (Depends-on): Add extensions, lstat,
24948         pathmax, stdlib.
24949         (Files): Drop pathmax.h.
24950         (configure.ac): Adjust macro name.
24951         * modules/canonicalize-lgpl (Depends-on): Add errno, extensions,
24952         lstat, stdlib, sys_stat.
24953         * m4/canonicalize.m4 (AC_FUNC_CANONICALIZE_FILE_NAME): Rename...
24954         (gl_FUNC_CANONICALIZE_FILENAME_MODE): ...to this, and require
24955         extensions.
24956         * m4/canonicalize-lgpl.m4 (gl_CANONICALIZE_LGPL)
24957         (gl_CANONICALIZE_LGPL_SEPARATE): Require extensions.
24958         (gl_PREREQ_CANONICALIZE_LGPL): Assume unistd.h.
24959         * lib/canonicalize.h (canonicalize_file_name): Use <stdlib.h>
24960         declaration, if available.
24961         * lib/canonicalize-lgpl.c [HAVE_READLINK]: Delete this condition;
24962         we can rely on the readlink module.
24963         (MAXSYMLINKS): Also consult SYMLOOP_MAX.
24964         (includes): Use <unistd.h> unconditionally.
24965
24966 2009-09-17  Eric Blake  <ebb9@byu.net>
24967
24968         maint: make Include sections of modules consistent
24969         * modules/alloca: Use only header name; no need to list #include.
24970         * modules/alloca-opt: Likewise.
24971         * modules/arpa_inet: Likewise.
24972         * modules/canon-host: Likewise.
24973         * modules/configmake: Likewise.
24974         * modules/dirent: Likewise.
24975         * modules/eealloc: Likewise.
24976         * modules/environ: Likewise.
24977         * modules/fchdir: Likewise.
24978         * modules/fcntl: Likewise.
24979         * modules/fcntl-h: Likewise.
24980         * modules/gethrxtime: Likewise.
24981         * modules/gettime: Likewise.
24982         * modules/ignore-value: Likewise.
24983         * modules/inet_ntop: Likewise.
24984         * modules/inet_pton: Likewise.
24985         * modules/inttypes: Likewise.
24986         * modules/isnand-nolibm: Likewise.
24987         * modules/isnanf-nolibm: Likewise.
24988         * modules/mbchar: Likewise.
24989         * modules/mbfile: Likewise.
24990         * modules/mbiter: Likewise.
24991         * modules/mbuiter: Likewise.
24992         * modules/netdb: Likewise.
24993         * modules/netinet_in: Likewise.
24994         * modules/nproc: Likewise.
24995         * modules/pagealign_alloc: Likewise.
24996         * modules/poll: Likewise.
24997         * modules/printf-frexp: Likewise.
24998         * modules/pthread: Likewise.
24999         * modules/putenv: Likewise.
25000         * modules/random_r: Likewise.
25001         * modules/relocatable-prog: Likewise.
25002         * modules/search: Likewise.
25003         * modules/select: Likewise.
25004         * modules/selinux-h: Likewise.
25005         * modules/settime: Likewise.
25006         * modules/signal: Likewise.
25007         * modules/size_max: Likewise.
25008         * modules/socklen: Likewise.
25009         * modules/ssize_t: Likewise.
25010         * modules/stdarg: Likewise.
25011         * modules/stdbool: Likewise.
25012         * modules/stddef: Likewise.
25013         * modules/stdint: Likewise.
25014         * modules/stdio: Likewise.
25015         * modules/stdlib: Likewise.
25016         * modules/string: Likewise.
25017         * modules/strings: Likewise.
25018         * modules/sys_file: Likewise.
25019         * modules/sys_ioctl: Likewise.
25020         * modules/sys_select: Likewise.
25021         * modules/sys_socket: Likewise.
25022         * modules/sys_stat: Likewise.
25023         * modules/sys_time: Likewise.
25024         * modules/sys_times: Likewise.
25025         * modules/sys_utsname: Likewise.
25026         * modules/sys_wait: Likewise.
25027         * modules/sysexits: Likewise.
25028         * modules/time: Likewise.
25029         * modules/times: Likewise.
25030         * modules/tmpfile: Likewise.
25031         * modules/trim: Likewise.
25032         * modules/unistd: Likewise.
25033         * modules/wchar: Likewise.
25034         * modules/wctype: Likewise.
25035
25036 2009-09-17  Bruno Haible  <bruno@clisp.org>
25037
25038         Make getdate.y compile on QNX and NetBSD 5 / i386.
25039         * m4/getdate.m4 (gl_GETDATE): Conditionally define
25040         TIME_T_FITS_IN_LONG_INT.
25041         * lib/getdate.y (long_time_t): New type.
25042         (relative_time): Change type of 'seconds' field to long_time_t.
25043         (get_date): Update types of local variables. Check against overflow
25044         during conversion from long_time_t to time_t.
25045         Reported by Matt Kraai <kraai@ftbfs.org>
25046         and Hasso Tepper <hasso@netbsd.org>.
25047
25048 2009-09-17  Bruno Haible  <bruno@clisp.org>
25049
25050         * modules/COPYING: Update copyright years.
25051         * modules/README: Likeiwse.
25052         * doc/gnulib-intro.texi (Copyright): Use a wildcard year.
25053         Reported by Ian Beckwith <ianb@erislabs.net>.
25054
25055 2009-09-17  Ian Beckwith  <ianb@erislabs.net>  (tiny change)
25056
25057         * users.txt: Update references for gnuit package.
25058
25059 2009-09-17  Ian Beckwith  <ianb@erislabs.net>  (tiny change)
25060
25061         * m4/getdelim.m4: Fix typo in copyright line.
25062
25063 2009-09-17  Bruno Haible  <bruno@clisp.org>
25064
25065         * lib/atoll.c: Use the standard header with GPL copyright.
25066         * lib/argz.in.h: Likewise.
25067         * lib/glob.c: Likewise.
25068         * lib/glob-libc.h: Likewise.
25069         * lib/random_r.c: Likewise.
25070         * lib/siglist.h: Likewise.
25071         * lib/strsignal.c: Likewise.
25072         Reported by Ian Beckwith <ianb@erislabs.net>.
25073
25074 2009-09-17  Eric Blake  <ebb9@byu.net>
25075
25076         rmdir: ensure correct dependency order
25077         * m4/rmdir.m4 (gl_FUNC_RMDIR): Require unistd defaults.
25078
25079 2009-09-17  Bruno Haible  <bruno@clisp.org>
25080
25081         Disable assertion that fails on NetBSD 5 / i386.
25082         * lib/mktime.c (ydhms_diff): Disable assertion about time_t size.
25083         Reported by Sam Steingold <sds@gnu.org>
25084         and Hasso Tepper <hasso@netbsd.org>.
25085
25086 2009-09-16  Eric Blake  <ebb9@byu.net>
25087
25088         unlinkdir: port to mingw
25089         * m4/unlinkdir.m4 (gl_UNLINKDIR): Add mingw to list of platforms
25090         on which no one can unlink a directory.
25091
25092         stdlib: sort witness names
25093         * modules/stdlib (Makefile.am): Sort replacements.
25094         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Likewise.
25095         * lib/stdlib.in.h: Likewise.
25096
25097         parse-duration-tests: avoid link failure
25098         * modules/parse-duration-tests (test_parse_duration_LDADD): Add
25099         LIBINTL.
25100         Reported by Tom G. Christensen.
25101
25102         openat-tests: ensure unlinkat behaves like rmdir
25103         * tests/test-rmdir.c (main): Factor guts...
25104         * tests/test-rmdir.h (test_rmdir_func): ...into new file.
25105         * modules/rmdir-tests (Files): Ship new file.
25106         * modules/openat-tests: New test.
25107         * tests/test-unlinkat.c: Likewise.
25108
25109         rmdir-errno: mark obsolete, it is unsafe for cross-compilation
25110         * modules/rmdir-errno (Status, Notice): Now obsolete.
25111
25112         rmdir: work around cygwin 1.5.x and mingw bugs
25113         * m4/rmdir.m4 (gl_FUNC_RMDIR): Detect the bugs.
25114         * lib/rmdir.c (rmdir): Work around it.
25115         * modules/rmdir (Status, Notice): No longer obsolete.
25116         (Files): Add dos.m4.
25117         (Depends-on): Add unistd.
25118         (configure.ac): Set witnesses.
25119         (License): Relax to LGPLv2+.
25120         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Set defaults.
25121         * modules/unistd (Makefile.am): Substitute witnesses.
25122         * lib/unistd.in.h (rmdir): Declare replacement.
25123         * doc/posix-functions/rmdir.texi (rmdir): Document this.
25124         * modules/rmdir-tests: New tests.
25125         * tests/test-rmdir.c: Likewise.
25126
25127 2009-09-15  Eric Blake  <ebb9@byu.net>
25128
25129         fchdir: improve use of replacement functions
25130         * m4/fchdir.m4 (gl_FUNC_FCHDIR): Set appropriate witnesses.
25131         * m4/sys_stat_h.m4 (gl_SYS_STAT_H_DEFAULTS): Add REPLACE_FSTAT.
25132         * m4/dirent_h.m4 (gl_DIRENT_H_DEFAULTS): Add REPLACE_OPENDIR,
25133         REPLACE_CLOSEDIR.
25134         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Add REPLACE_DUP.
25135         * modules/sys_stat (Makefile.am): Substitute correct witness.
25136         * modules/dirent (Makefile.am): Likewise.
25137         * modules/unistd (Makefile.am): Likewise.
25138         * lib/dirent.in.h (opendir, closedir): Use better witnesses.
25139         * lib/unistd.in.h (dup): Likewise.
25140         * lib/sys_stat.in.h (fstat): Likewise.
25141
25142         maint: ignore gnulib-tool temp files
25143         * .gitignore: Ignore files created during gnulib-tool --test.
25144
25145 2009-09-13  Jim Meyering  <meyering@redhat.com>
25146
25147         posixtm: don't reject a time that specify "60" as the number of seconds
25148         * lib/posixtm.c (posixtime): The code to reject invalid dates
25149         would also reject a time specified with the .60 suffix.
25150         But POSIX allows that, in order to accommodate leap seconds.
25151         So don't reject it.
25152         (main): Adjust tests accordingly.
25153         * modules/posixtm (Depends-on): Add stpcpy.
25154
25155 2009-09-11  Jim Meyering  <meyering@redhat.com>
25156
25157         announce-gen: include [$release_type] in emitted Subject:
25158         * build-aux/announce-gen (get_tool_versions): Include [$release_type],
25159         e.g., [stable] in the emitted Subject: line.
25160
25161 2009-09-10  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
25162
25163         Remove obsolete macros from several modules.
25164         * m4/c-stack.m4 (AC_SYS_XSI_STACK_OVERFLOW_HEURISTIC): Replace
25165         obsolete Autoconf macros with their modern counterparts.
25166         * m4/check-math-lib.m4 (gl_CHECK_MATH_LIB): Likewise.
25167         * m4/gc-camellia.m4 (gl_GC_CAMELLIA): Likewise.
25168         * m4/getaddrinfo.m4 (gl_GETADDRINFO): Likewise.
25169         * m4/getdate.m4 (gl_C_COMPOUND_LITERALS): Likewise.
25170         * m4/gethostname.m4 (gl_FUNC_GETHOSTNAME): Likewise.
25171         * m4/getline.m4 (gl_FUNC_GETLINE): Likewise.
25172         * m4/getopt.m4 (gl_GETOPT_CHECK_HEADERS): Likewise.
25173         * m4/isfinite.m4 (gl_ISFINITEL_WORKS): Likewise.
25174         * m4/poll.m4 (gl_FUNC_POLL): Likewise.
25175         * m4/readline.m4 (gl_FUNC_READLINE): Likewise.
25176         * m4/round.m4 (gl_FUNC_ROUND): Likewise.
25177         * m4/roundf.m4 (gl_FUNC_ROUNDF): Likewise.
25178         * m4/select.m4 (gl_FUNC_SELECT): Likewise.
25179         * m4/sockets.m4 (gl_SOCKETS): Likewise.
25180         * m4/socklen.m4 (gl_TYPE_SOCKLEN_T): Likewise.
25181         * m4/sockpfaf.m4 (gl_SOCKET_FAMILIES): Likewise.
25182         * m4/sysexits.m4 (gl_SYSEXITS): Likewise.
25183         * m4/time_r.m4 (gl_TIME_R): Likewise.
25184         * m4/tsearch.m4 (gl_FUNC_TSEARCH): Likewise.
25185         * m4/vararrays.m4 (AC_C_VARARRAYS): Likewise.
25186         * m4/wctype.m4 (gl_WCTYPE_H): Likewise.
25187
25188         Fix copyright header in build-aux scripts.
25189         * build-aux/git-version-gen: Fix copyright header to match GPLv3
25190         recommendation.
25191         * build-aux/ncftpput-ftp: Likewise.
25192         * build-aux/update-copyright: Likewise.
25193
25194 2009-09-09  Eric Blake  <ebb9@byu.net>
25195
25196         test-link: allow Linux choice of errno
25197         * tests/test-link.c (main): Relax test for alternate error.
25198
25199         strndup: fix improper m4 caching
25200         * m4/strndup.m4 (gl_FUNC_STRNDUP): Rework to avoid side effects
25201         inside AC_CACHE_CHECK.  Use REPLACE_STRNDUP, not HAVE_STRNDUP.
25202         (gl_PREREQ_STRNDUP): Delete.
25203         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Update default.
25204         * modules/string (Makefile.am): Substitute it.
25205         * lib/string.in.h (strndup): Modernize prototype.
25206
25207         getcwd: port to mingw
25208         * m4/getcwd.m4 (gl_FUNC_GETCWD): Mingw directories are very
25209         different from the POSIX assumptions made throughout the getcwd
25210         module; fortunately, the mingw getcwd does not need replacement.
25211         (gl_FUNC_GETCWD_NULL): Skip test on mingw.
25212         * modules/getcwd-tests: New test.
25213         * tests/test-getcwd.c: Likewise.
25214
25215         link: fix platform bugs
25216         * m4/link.m4 (gl_FUNC_LINK): Detect Solaris and Cygwin bugs.
25217         * lib/link.c (link): Work around them.  Fix related mingw bug.
25218         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Add REPLACE_LINK.
25219         * modules/unistd (Makefile.am): Substitute it.
25220         * lib/unistd.in.h (link): Declare replacement.
25221         * doc/posix-functions/link.texi (link): Document this.
25222         * modules/link (Depends-on): Add strdup-posix, sys_stat.
25223
25224         test-link: consolidate into single C program, test more cases
25225         * tests/test-link.sh: Delete.
25226         * tests/test-link.c: Test more error conditions.  Exposes bugs on
25227         at least Cygwin and Solaris.
25228         * modules/link-tests (Files): Remove unused file.
25229         (Depends-on): Add errno, sys_stat.
25230         (Makefile.am): Simplify.
25231
25232 2009-09-08  Bruno Haible  <bruno@clisp.org>
25233
25234         Work around towlower, towupper bug on mingw.
25235         * lib/wctype.in.h (towlower, towupper) [__MINGW32__]: New replacements.
25236         * m4/wctype.m4 (gl_WCTYPE_H): Replace <wctype.h> also on mingw.
25237         * doc/posix-functions/towlower.texi: Mention the mingw bug.
25238         * doc/posix-functions/towupper.texi: Likewise.
25239         Reported by Eric Blake.
25240
25241 2009-09-08  Jim Meyering  <meyering@redhat.com>
25242
25243         build: don't try to run autoheader if we don't use it
25244         * build-aux/bootstrap: Define AUTOHEADER=true when AC_CONFIG_HEADERS
25245         is not used in configure.ac.
25246
25247 2009-09-08  Eric Blake  <ebb9@byu.net>
25248
25249         euidaccess: fix compilation error
25250         * lib/euidaccess.c (includes): Add <fcntl.h>, for AT_EACCESS.
25251
25252         rawmemchr: relax license
25253         * modules/rawmemchr (License): Derived from glibc, so LGPLv2+ is
25254         okay.
25255         Reported by Jim Meyering.
25256
25257         mkfifoat: new module
25258         * modules/mkfifoat: New file.
25259         * lib/mkfifoat.c: Likewise.
25260         * m4/mkfifoat.m4 (gl_FUNC_MKFIFOAT): Likewise.
25261         * m4/sys_stat_h.m4 (gl_SYS_STAT_H_DEFAULTS): Add witnesses.
25262         * modules/sys_stat (Makefile.am): Use them.
25263         * lib/sys_stat.in.h (mkfifoat, mknodat): Declare them.
25264         * MODULES.html.sh (File system functions): Mention module.
25265         * doc/posix-functions/mkfifoat.texi (mkfifoat): Likewise.
25266         * doc/posix-functions/mknodat.texi (mknodat): Likewise.
25267         * modules/mkfifoat-tests: New test.
25268         * tests/test-mkfifoat.c: Likewise.
25269
25270         strchrnul: relax license
25271         * modules/strchrnul (License): Derived from glibc, so LGPLv2+ is
25272         okay.
25273         Reported by Jim Meyering.
25274
25275 2009-09-08  Eric Blake  <ebb9@byu.net>
25276
25277         fstatat: fix compilation on Solaris
25278         * lib/fstatat.c (includes): Add fcntl.h.
25279         Reported by Pádraig Brady.
25280
25281 2009-09-07  Eric Blake  <ebb9@byu.net>
25282
25283         rename: modernize replacement
25284         * modules/rename (Depends-on): Add stdio.
25285         (configure.ac): Declare witness.
25286         * m4/rename.m4 (gl_FUNC_RENAME): Ensure dependency order, and let
25287         stdio take care of replacement.
25288         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Add new defaults.
25289         * modules/stdio (Makefile.am): Substitute them.
25290         * lib/stdio.in.h (rename): Declare replacement.
25291         * lib/rename.c (includes): Allow cross-compilation to non-windows
25292         machines.
25293         * doc/posix-functions/rename.texi (rename): Improve
25294         documentation.
25295
25296         stdio: sort witness names
25297         * modules/stdio (Makefile.am): Sort replacements.
25298         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Likewise.
25299         * lib/stdio.in.h: Likewise.
25300
25301         getcwd: minor cleanups
25302         * lib/getcwd.c (AT_FDCWD): Delete; rely on <fcntl.h> instead.
25303         (is_ENAMETOOLONG): Delete; ENAMETOOLONG is portable.
25304
25305         openat: provide more convenience names
25306         * modules/faccessat (configure.ac): Add C witness.
25307         * lib/unistd.in.h (readlinkat): Fix typo.
25308         * lib/openat.h (statat, lstatat, accessat, euidaccessat): New
25309         convenience wrappers.
25310         * top/maint.mk (sc_prohibit_openat_without_use): Allow these
25311         wrappers in syntax checks.
25312
25313 2009-09-06  Eric Blake  <ebb9@byu.net>
25314
25315         doc: fix comments in recent patches
25316         * lib/faccessat.c: Mention correct function.
25317         * lib/fchmodat.c: Likewise.
25318         * lib/fchownat.c: Likewise.
25319         * lib/symlinkat.c: Likewise.
25320         * doc/posix-headers/fcntl.texi (fcntl.h): Cygwin 1.7 has AT_*
25321         constants.
25322
25323         faccessat, symlinkat: continue cleanup of previous patch
25324         * m4/symlinkat.m4 (gl_FUNC_SYMLINKAT): Ensure dependency order.
25325         * m4/faccessat.m4 (gl_FUNC_FACCESSAT): Likewise.
25326         * modules/unistd (Makefile.am): Substitute GNULIB_READLINKAT.
25327         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Offer GNULIB_READLINKAT.
25328         * modules/symlinkat (configure.ac): Set GNULIB_READLINKAT.
25329         * lib/unistd.in.h (readlinkat): Declare if GNULIB_READLINKAT is
25330         set.
25331
25332 2009-09-06  Bruno Haible  <bruno@clisp.org>
25333
25334         * lib/sys_stat.in.h (fchmodat): Declare if GNULIB_FCHMODAT is set.
25335         (fstatat): Declare if GNULIB_FSTATAT is set.
25336         (mkdirat): Declare if GNULIB_MKDIRAT is set.
25337         * lib/unistd.in.h (fchownat): Declare if GNULIB_FCHOWNAT is set.
25338         (unlinkat): Declare if GNULIB_UNLINKAT is set.
25339         * modules/fcntl-h (Files): Remove m4/openat.m4.
25340         * modules/sys_stat (Files): Remove m4/openat.m4.
25341         (Makefile.am): Substitute GNULIB_FCHMODAT, GNULIB_FSTATAT,
25342         GNULIB_MKDIRAT instead of GNULIB_OPENAT.
25343         * modules/unistd (Files): Remove m4/openat.m4.
25344         (Makefile.am): Substitute GNULIB_FCHOWNAT, GNULIB_UNLINKAT instead of
25345         GNULIB_OPENAT.
25346         * m4/fcntl_h.m4 (gl_FCNTL_H_DEFAULTS): Initialize GNULIB_OPENAT,
25347         HAVE_OPENAT here. Don't require gl_OPENAT_DEFAULTS.
25348         * m4/sys_stat_h.m4 (gl_SYS_STAT_H_DEFAULTS): Initialize
25349         GNULIB_FCHMODAT, GNULIB_FSTATAT, GNULIB_MKDIRAT, HAVE_FCHMODAT,
25350         HAVE_FSTATAT, HAVE_MKDIRAT, REPLACE_FSTATAT here. Don't require
25351         gl_OPENAT_DEFAULTS.
25352         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize GNULIB_FCHOWNAT,
25353         GNULIB_UNLINKAT, HAVE_FCHOWNAT, HAVE_UNLINKAT, REPLACE_FCHOWNAT here.
25354         Don't require gl_OPENAT_DEFAULTS.
25355         * m4/openat.m4 (gl_FUNC_OPENAT): Require gl_FCNTL_H_DEFAULTS,
25356         gl_SYS_STAT_H_DEFAULTS, gl_UNISTD_H_DEFAULTS. Set GNULIB_FCHMODAT,
25357         GNULIB_FSTATAT, GNULIB_MKDIRAT, GNULIB_FCHOWNAT, GNULIB_UNLINKAT.
25358         (gl_OPENAT_DEFAULTS): Remove macro.
25359
25360 2009-09-06  Bruno Haible  <bruno@clisp.org>
25361
25362         * modules/openat (configure.ac): Remove unneeded witness.
25363
25364 2009-09-06  Bruno Haible  <bruno@clisp.org>
25365
25366         Set errno to ENOSYS when a function is entirely unsupported.
25367         * lib/chown.c (rpl_chown) [!HAVE_CHOWN]: Set errno to ENOSYS instead of
25368         EOPNOTSUPP.
25369         * lib/lchown.c (lchown) [!HAVE_CHOWN]: Likewise.
25370         * modules/chown (Depends-on): Remove errno.
25371
25372 2009-09-06  Bruno Haible  <bruno@clisp.org>
25373
25374         * doc/posix-headers/fcntl.texi (AT_*): Mention affected platforms.
25375
25376 2009-09-06  Bruno Haible  <bruno@clisp.org>
25377
25378         * lib/sys_stat.in.h: Fix preprocessor command indentation.
25379
25380 2009-09-06  Ben Pfaff  <blp@gnu.org>
25381             Bruno Haible  <bruno@clisp.org>
25382
25383         Work around a glibc bug in strtok_r.
25384         * lib/string.in.h (strtok_r): Replace if REPLACE_STRTOK_R is set.
25385         Undefine if UNDEFINE_STRTOK_R is set.
25386         * lib/strtok_r.c (strtok_r, __strtok_r) [!_LIBC]: Don't undefine.
25387         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Initialize
25388         REPLACE_STRTOK_R and UNDEFINE_STRTOK_R.
25389         * m4/strtok_r.m4 (gl_FUNC_STRTOK_R): Check against the glibc bug.
25390         * modules/string (Makefile.am): Substitute REPLACE_STRTOK_R,
25391         UNDEFINE_STRTOK_R.
25392         * doc/posix-functions/strtok_r.texi: Mention the glibc 2.7 bug.
25393
25394 2009-09-06  Sergey Poznyakoff  <gray@gnu.org.ua>
25395
25396         exclude: minor fix
25397         * lib/exclude.c: Include wctype.h
25398
25399 2009-09-06  Akim Demaille  <demaille@gostai.com>
25400
25401         bootstrap: improve error message
25402         * build-aux/bootstrap (find_tool): Upon failure, report the list
25403         of candidates.
25404         Honor the initial value of the envvar.
25405
25406 2009-09-05  Eric Blake  <ebb9@byu.net>
25407
25408         symlinkat: new module
25409         * modules/symlinkat: New file.
25410         * lib/symlinkat.c: Likewise.
25411         * m4/symlinkat.m4 (gl_FUNC_SYMLINKAT): Likewise.
25412         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Add witnesses.
25413         * modules/unistd (Makefile.am): Use them.
25414         * lib/unistd.in.h (symlinkat, readlinkat): Declare them.
25415         (faccessat) [GNULIB_POSIXCHECK]: Fix typo.
25416         * lib/at-func.c (FUNC_RESULT): New macro, defaulting to int.
25417         * MODULES.html.sh (File system functions): Mention module.
25418         * doc/posix-functions/symlinkat.texi (symlinkat): Likewise.
25419         * doc/posix-functions/readlinkat.texi (readlinkat): Likewise.
25420         * modules/symlinkat-tests: New test.
25421         * tests/test-symlinkat.c: Likewise.
25422
25423         test-openat-safer: add more checks
25424         * tests/test-openat-safer.c (main): Check more code paths.
25425
25426 2009-09-05  Jim Meyering  <meyering@redhat.com>
25427
25428         syntax-check: detect unnecessary inclusion of openat.h
25429         * top/maint.mk (sc_prohibit_openat_without_use): New rule.
25430
25431 2009-09-05  Bruno Haible  <bruno@clisp.org>
25432
25433         Support towlower, towupper.
25434         * doc/posix-functions/towlower.texi: Mention module wctype.
25435         * doc/posix-functions/towupper.texi: Likewise.
25436         * lib/wctype.in.h (towlower, towupper): New functions.
25437         * tests/test-wctype.c: Include stdio.h, stdlib.h.
25438         (ASSERT): New macro.
25439         (e): New variable.
25440         (main): Test also towlower, towupper. Test WEOF argument.
25441         Reported by Alan Hourihane <alanh@fairlite.co.uk>.
25442
25443 2009-09-05  Bruno Haible  <bruno@clisp.org>
25444
25445         Fix conversion behaviour when the input is invalid.
25446         * lib/striconveh.c (mem_cd_iconveh_internal): Fix storing of question
25447         mark occurring in first pass of indirect conversion.
25448         * tests/test-striconveh.c (main): Test conversion of invalid ASCII
25449         input.
25450         Found by clang's static analyzer.
25451
25452 2009-09-05  Bruno Haible  <bruno@clisp.org>
25453
25454         * tests/test-striconveh.c (main): Test indirect conversion on platforms
25455         where direct conversion is possible.
25456
25457 2009-09-04  Eric Blake  <ebb9@byu.net>
25458
25459         openat: fail with ENOENT on empty name
25460         * lib/openat-proc.c (openat_proc_name): Special-case the empty
25461         buffer.
25462
25463         link-follow: fix logic bug in prior patch
25464         * m4/link-follow.m4 (gl_FUNC_LINK_FOLLOWS_SYMLINK): Fix bug that
25465         reversed sense of yes and no in prior patch.  Avoid confusing
25466         compilation failure with desired semantics.
25467
25468         link-follow: accomodate mingw and cross-compilation
25469         * m4/link-follow.m4 (gl_AC_FUNC_LINK_FOLLOWS_SYMLINK): Rename...
25470         (gl_FUNC_LINK_FOLLOWS_SYMLINK): ...to this.  Change
25471         cross-compilation results to -1, to make linkat easier to
25472         implement when cross-compiling.  Trivially support mingw.
25473         * modules/link-follow (configure.ac): Call new name.
25474         * NEWS: Mention this.
25475
25476 2009-09-03  Eric Blake  <ebb9@byu.net>
25477
25478         faccessat: compile replacement
25479         * m4/faccessat.m4 (gl_FUNC_FACCESSAT): Build replacement when
25480         needed.
25481
25482         fts: fix compilation error
25483         * lib/fts.c (includes): Re-add "openat.h", for
25484         openat_needs_fchdir.
25485
25486         faccessat: new module
25487         * modules/faccessat: New file.
25488         * lib/faccessat.c: Likewise.
25489         * m4/faccessat.m4 (gl_FUNC_FACCESSAT): Likewise.
25490         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Add witness.
25491         * modules/unistd (Makefile.am): Use it.
25492         * lib/unistd.in.h (faccessat): Declare it.
25493         (F_OK, X_OK, W_OK, R_OK): Provide definitions.
25494         * lib/fcntl.in.h (AT_SYMLINK_FOLLOW, AT_EACCESS): Likewise.
25495         * MODULES.html.sh (File system functions): Mention it.
25496         * doc/posix-functions/faccessat.texi (faccessat): Likewise.
25497         * doc/posix-headers/fcntl.texi (fcntl.h): Likewise.
25498
25499         euidaccess: prefer POSIX over non-standard implementation
25500         * m4/euidaccess.m4 (gl_PREREQ_EUIDACCESS): Check for faccessat.
25501         * lib/euidaccess.c (euidaccess): Use it if available.
25502
25503         openat: make template easier to use
25504         * lib/at-func.c (CALL_FUNC): Allow AT_FUNC_USE_F1_COND and
25505         AT_FUNC_F2 to be undefined.
25506         (VALIDATE_FLAG): New macro; use it to reject bad flags.
25507         (AT_FUNC_USE_F1_COND): Change sense to just flag bit.
25508         * lib/fchmodat.c (AT_FUNC_USE_F1_COND): Adjust.
25509         * lib/fchownat.c (AT_FUNC_USE_F1_COND): Likewise.
25510         * lib/openat.c (AT_FUNC_USE_F1_COND) [fstatat, unlinkat]:
25511         Likewise.
25512         * lib/mkdirat.c (AT_FUNC_F2, AT_FUNC_USE_F1_COND): Delete.
25513         * lib/selinux-at.c (AT_FUNC_F2, AT_FUNC_USE_F1_COND)
25514         [getfileconat, lgetfileconat, setfileconat, lsetfileconat]:
25515         Likewise.
25516
25517         openat: declare in POSIX headers
25518         * NEWS: Mention this.
25519         * modules/openat (configure.ac): Declare witnesses.
25520         (Depends-on): Add fcntl-h, sys_stat, unistd.
25521         (Include): Mention correct headers.
25522         * modules/fcntl-h (Depends-on): Add link-warning.
25523         (Files): Add openat.m4.
25524         (Makefile.am): Substitute witnesses.
25525         * modules/sys_stat (Files, Makefile.am): Likewise.
25526         * modules/unistd (Files, Makefile.am): Likewise.
25527         * m4/openat.m4 (gl_FUNC_OPENAT, gl_FUNC_FCHOWNAT): Set witnesses.
25528         (gl_OPENAT_DEFAULTS): New macro.
25529         * m4/fcntl_h.m4 (gl_FCNTL_H_DEFAULTS): Use it.
25530         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Likewise.
25531         * m4/sys_stat_h.m4 (gl_SYS_STAT_H_DEFAULTS): Likewise.
25532         (SYS_STAT_H): Remove unused variable.
25533         * doc/posix-headers/fcntl.texi (fcntl.h): Update content.
25534         * lib/fcntl--.h (includes): Remove unneeded header.
25535         * lib/openat-safer.c (includes): Likewise.
25536         * lib/openat.h (AT_FDCWD, AT_SYMLINK_NOFOLLOW, AT_REMOVEDIR)
25537         (openat, fstatat, unlinkat, mkdirat, fchmodat, fchownat): Move to
25538         appropriate headers.
25539         (__OPENAT_PREFIX): Delete.
25540         * lib/fcntl.in.h (openat): Provide declaration.
25541         (AT_FDCWD): Fix Solaris bug.
25542         (AT_SYMLINK_NOFOLLOW, AT_REMOVEDIR): Provide macros.
25543         * lib/sys_stat.in.h (fstatat, mkdirat): Provide declaration.
25544         * lib/fchmodat.c (includes):  Adjust to find declaration.
25545         * lib/fchownat.c (includes): Likewise.
25546         * lib/mkdirat.c (includes): Likewise.
25547         * lib/fstatat.c (includes): Likewise.  Ensure original fstatat is
25548         still visible.
25549
25550 2009-09-02  Eric Blake  <ebb9@byu.net>
25551
25552         errno: use consistently
25553         * lib/c-stack.c (ENOTSUP): <errno.h> guarantees a definition.
25554         * lib/canonicalize-lgpl.c (ENAMETOOLONG): Likewise.
25555         * lib/canonicalize.c (ELOOP): Likewise.
25556         * lib/inet_ntop.c (EAFNOSUPPORT): Likewise.
25557         * lib/inet_pton.c (EAFNOSUPPORT): Likewise.
25558         * lib/lchown.c (EOPNOTSUPP): Likewise.
25559         * lib/openat-priv.h (ENOSYS, EOPNOTSUPP): Likewise.
25560         * lib/savewd.c (ESTALE): Likewise.
25561         * lib/settime.c (ENOSYS): Likewise.
25562         * lib/utimens.c (ENOSYS): Likewise.
25563         * lib/xgethostname.c (ENAMETOOLONG): Likewise.
25564         * lib/chdir-safer.c (ELOOP): Likewise.
25565         (chdir_no_follow): Use HAVE_READLINK, not ELOOP, as witness.
25566         * modules/c-stack (Depends-on): Add errno.
25567         * modules/canonicalize (Depends-on): Likewise.
25568         * modules/chdir-safer (Depends-on): Likewise.
25569         * modules/fdopendir (Depends-on): Likewise.
25570         * modules/inet_ntop (Depends-on): Likewise.
25571         * modules/inet_pton (Depends-on): Likewise.
25572         * modules/lchown (Depends-on): Likewise.
25573         * modules/openat (Depends-on): Likewise.
25574         * modules/savewd (Depends-on): Likewise.
25575         * modules/settime (Depends-on): Likewise.
25576         * m4/chdir-safer.m4 (gl_CHDIR_SAFER): Check for readlink.
25577
25578         fts: avoid leaking fds
25579         * modules/fts (Depends-on): Add cloexec.
25580         * lib/fts.c (opendirat, diropen, fts_build): Set close-on-exec
25581         flag.
25582
25583         fts: make directory fds more robust
25584         * lib/fts.c (O_DIRECTORY): Let <fcntl.h> take care of this.
25585         (opendirat): Specify O_DIRECTORY, and add fallbacks for safety.
25586
25587         backupfile, chdir-long, fts, savedir: make safer
25588         * lib/backupfile.c (includes): Use "dirent--.h", since
25589         numbered_backup can write to stderr during readdir.
25590         * lib/savedir.c (includes): Likewise.
25591         * lib/chdir-long.c (includes): Use "fcntl--.h", since openat
25592         emulation can write to stderr on failure.
25593         * lib/fts.c (includes) [!_LIBC]: Likewise for opendir and openat.
25594         * lib/getcwd.c: Document why opendir_safer is unused.
25595         * lib/glob.c: Likewise.
25596         * lib/scandir.c: Likewise.
25597         * lib/openat-proc.c: Likewise, for open_safer.
25598         * modules/backupfile (Depends-on): Add dirent-safer.
25599         * modules/savedir (Depends-on): Likewise.
25600         * modules/fts (Depends-on): Add dirent-safer and openat-safer.
25601         * modules/chdir-long (Depends-on): Add openat-safer.
25602
25603         openat-safer: new module
25604         * modules/openat-safer: New file.
25605         * lib/openat-safer.c: Likewise.
25606         * m4/fcntl-safer.m4 (gl_OPENAT_SAFER): New macro.
25607         * lib/fcntl-safer.h (openat_safer): Declare.
25608         * lib/fcntl--.h (openat): Override.
25609         * MODULES.html.sh (File descriptor based I/O): Mention it.
25610         * lib/openat.h: Add double-inclusion guards.
25611         * lib/openat.c (includes): Only include "fcntl-safer.h", not
25612         "fcntl--.h", so we can implement openat.
25613         * modules/openat-safer-tests: New test.
25614         * tests/test-openat-safer.c: New file.
25615
25616         dirent-safer: new module
25617         * modules/dirent-safer: New file.
25618         * lib/dirent--.h: Likewise.
25619         * lib/dirent-safer.h: Likewise.
25620         * lib/opendir-safer.c: Likewise.
25621         * m4/dirent-safer.m4: Likewise.
25622         * MODULES.html.sh (Enhancements for POSIX:2008): Mention it.
25623         * modules/dirent-safer-tests: New test.
25624         * tests/test-dirent-safer.c: New file.
25625         * lib/fdopendir.c (includes): Ensure fdopendir is also safe.
25626
25627         fdopendir: optimize on mingw
25628         * lib/unistd.in.h (_gl_directory_name): New prototype.
25629         * lib/fchdir.c (_gl_directory_name): Implement it.
25630         (fchdir): Use it to simplify implementation.
25631         * lib/fdopendir.c (fdopendir) [REPLACE_FCHDIR]: Use metadata from
25632         fchdir, when available, to avoid calling [f]chdir().
25633
25634         fdopendir: split into its own module
25635         * lib/openat.c (fdopendir): Move...
25636         * lib/fdopendir.c: ...into new file.
25637         * modules/fdopendir: New module.
25638         * m4/fdopendir.m4 (gl_FUNC_FDOPENDIR): New file.
25639         * modules/openat (Depends-on): Add fdopendir.
25640         * m4/openat.m4 (gl_FUNC_OPENAT): No longer need to check for
25641         fdopendir here.
25642         * modules/savedir (Depends-on): Only need fdopendir, not full
25643         openat.
25644         * lib/savedir.c (include): Use <dirent.h>, not "openat.h".
25645         * lib/openat.h (fdopendir): Drop prototype.
25646         * lib/dirent.in.h (fdopendir): Provide prototype.
25647         * m4/dirent_h.m4 (gl_DIRENT_H_DEFAULTS): Add replacements.
25648         * modules/dirent (Makefile.am): Substitute them.
25649         * MODULES.html.sh (File system functions): Mention it.
25650         * doc/posix-functions/fdopendir.texi (fdopendir): Likewise.
25651         * modules/fdopendir-tests: New file.
25652         * tests/test-fdopendir.c: Likewise.
25653
25654         fchdir: use more consistent macro convention
25655         * lib/fcntl.in.h (_gl_register_fd): Move declaration to unistd.
25656         * lib/sys_stat.in.h (rpl_fstat): Declare via make-time
25657         REPLACE_FCHDIR, rather than relying on config.h macros.
25658         * lib/unistd.in.h (fchdir): Move all fchdir internal declarations
25659         inside a single make-time REPLACE_FCHDIR block, rather than using
25660         the config.h FCHDIR_REPLACEMENT.
25661         * m4/fchdir.m4 (gl_FUNC_FCHDIR): REPLACE_FCHDIR was already
25662         AC_SUBST'd, also AC_DEFINE it.  Don't define FCHDIR_REPLACEMENT.
25663         Manage fstat replacement.
25664         * m4/sys_stat_h.m4 (gl_SYS_STAT_H_DEFAULTS): Pick up
25665         REPLACE_FCHDIR.
25666         * modules/sys_stat (Files): Add m4/unistd_h.m4.
25667         (Makefile.am): Substitute REPLACE_FCHDIR.
25668         * lib/close.c (rpl_close): Use REPLACE_FCHDIR, not
25669         FCHDIR_REPLACEMENT.
25670         * lib/dup-safer.c (dup_safer): Likewise.
25671         * lib/dup2.c (rpl_dup2): Likewise.
25672         * lib/dup3.c (rpl_dup3): Likewise.
25673         * lib/open.c (rpl_open): Likewise.
25674
25675         fchdir: simplify error handling, and support dup3
25676         * modules/fchdir (Depends-on): Use strdup-posix, not strdup.  Add
25677         stdbool, malloc-posix, realloc-posix.
25678         * lib/fchdir.c (struct dir_info_t): Delete saved_errno.
25679         (ensure_dirs_slot): Return false on allocation failure.
25680         (rpl_dup2): Delete.
25681         (_gl_register_dup): New function.
25682         (_gl_unregister_fd, rpl_opendir, rpl_dup): Update callers.
25683         (_gl_register_fd): Close fd on allocation failure.
25684         * lib/fcntl.in.h (_gl_register_fd): Update signature.
25685         * lib/unistd.in.h (_gl_register_dup) [FCHDIR_REPLACEMENT]: New
25686         prototype.
25687         (rpl_dup2_fchdir): Delete prototype.
25688         * lib/open.c (open): Update caller.
25689         * lib/dup2.c (dup2): Track fchdir metadata.
25690         * lib/dup3.c (dup3): Likewise.
25691         * m4/dup2.m4 (gl_REPLACE_DUP2): New macro.
25692         * m4/fchdir.m4 (gl_FUNC_FCHDIR): Use it.
25693
25694 2009-09-02  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
25695
25696         * gnulib-tool (func_create_testdir, func_create_megatestdir): Use
25697         AC_CONFIG_HEADERS instead of AM_CONFIG_HEADER. Use AC_CONFIG_FILES and
25698         don't pass arguments to AC_OUTPUT.
25699
25700 2009-09-02  Bruno Haible  <bruno@clisp.org>
25701
25702         * modules/mkdtemp (License): Relicense under LGPLv2+.
25703         Reported by Paolo Bonzini.
25704
25705 2009-09-02  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
25706
25707         Replace uses of obsolete autoconf macros in Jim's modules.
25708         The Autoconf macros AC_TRY_CPP, AC_TRY_COMPILE, AC_TRY_LINK and
25709         AC_TRY_RUN have been obsolete since Autoconf 2.55, and each use
25710         can evoke a warning from autoconf when run with -Wobsolete
25711         enabled.  They were declared obsolete for good reasons (see
25712         the `AC_FOO_IFELSE vs AC_TRY_FOO' node in the Autoconf manual,
25713         recently renamed to `AC_ACT_IFELSE vs AC_TRY_ACT'), and we
25714         should not continue using the deprecated macros.
25715         * m4/d-type.m4 (gl_CHECK_TYPE_STRUCT_DIRENT_D_TYPE): Replace
25716         obsolete Autoconf macros with modern counterparts.
25717         * m4/dirfd.m4 (gl_FUNC_DIRFD): Likewise.
25718         * m4/dos.m4 (gl_AC_DOS): Likewise.
25719         * m4/fpending.m4 (gl_FUNC_FPENDING): Likewise.
25720         * m4/fsusage.m4 (gl_FILE_SYSTEM_USAGE): Likewise.
25721         * m4/getloadavg.m4 (gl_PREREQ_GETLOADAVG): Likewise.
25722         * m4/jm-winsz1.m4 (gl_WINSIZE_IN_PTEM): Likewise.
25723         * m4/link-follow.m4 (gl_AC_FUNC_LINK_FOLLOWS_SYMLINK): Likewise.
25724         * m4/ls-mntd-fs.m4 (gl_LIST_MOUNTED_FILE_SYSTEMS): Likewise.
25725         * m4/mkdir-slash.m4 (gl_FUNC_MKDIR_TRAILING_SLASH): Likewise.
25726         * m4/mode_t.m4 (gl_PROMOTED_TYPE_MODE_T): Likewise.
25727         * m4/rename-dest-slash.m4 (gl_FUNC_RENAME_TRAILING_DEST_SLASH):
25728         Likewise.
25729         * m4/rename.m4 (gl_FUNC_RENAME): Likewise.
25730         * m4/rmdir-errno.m4 (gl_FUNC_RMDIR_NOTEMPTY): Likewise.
25731         * m4/rpmatch.m4 (gl_PREREQ_RPMATCH): Likewise.
25732         * m4/st_dm_mode.m4 (AC_STRUCT_ST_DM_MODE): Likewise.
25733         * m4/stat-time.m4 (gl_STAT_TIME): Likewise.
25734         * m4/utimes-null.m4 (gl_FUNC_UTIMES_NULL): Likewise.
25735
25736 2009-09-01  Eric Blake  <ebb9@byu.net>
25737
25738         fchdir: fix off-by-one bug in previous patch
25739         * lib/fchdir.c (rpl_fstat): Use correct bounds.
25740         (_gl_unregister_fd): Delete useless if.
25741
25742 2009-09-01  Daniel P. Berrange  <berrange@redhat.com>
25743
25744         maint.mk: sort the list of syntax-check rules
25745         * top/maint.mk (syntax-check-rules): Sort syntax-check rules, so it's
25746         easier to get a sense of progress when the rules are run sequentially
25747         and take a long time.
25748
25749 2009-09-01  Simon Josefsson  <simon@josefsson.org>
25750
25751         * modules/arpa_inet: Use $(MKDIR_P) instead of @MKDIR_P@.
25752         * modules/netinet_in: Likewise.
25753         * modules/sys_file: Likewise.
25754         * modules/sys_ioctl: Likewise.
25755         * modules/sys_select: Likewise.
25756         * modules/sys_socket: Likewise.
25757         * modules/sys_stat: Likewise.
25758         * modules/sys_time: Likewise.
25759         * modules/sys_times: Likewise.
25760         * modules/sys_utsname: Likewise.
25761         * modules/sys_wait: Likewise.
25762
25763 2009-09-01  Jim Meyering  <meyering@redhat.com>
25764
25765         fts: help ensure that return values are not ignored
25766         * lib/fts_.h (__GNUC_PREREQ): Define.
25767         (__attribute_warn_unused_result__): Define.
25768         (fts_children, fts_close, fts_open, fts_read): Declare with
25769         __attribute_warn_unused_result__.
25770
25771         fts: fts_close now fails also when closing a dir file descriptor fails
25772         * lib/fts.c (fts_close): Detect close failure, not just fchdir failure,
25773         and propagate to caller, along with errno.
25774
25775         announce-gen: correct formatting in --help output
25776         * build-aux/announce-gen (usage): Move the one-line description in
25777         --help output "up", to where it belongs, just after Usage:.
25778
25779 2009-08-31  Eric Blake  <ebb9@byu.net>
25780
25781         fchdir: port to mingw
25782         * m4/fchdir.m4 (gl_FUNC_FCHDIR): Check for mingw bug.
25783         * lib/open.c (open) [FCHDIR_REPLACEMENT]: If directories can't be
25784         opened, then use a substitute.
25785         * lib/sys_stat.in.h (fstat) [REPLACE_OPEN_DIRECTORY]: Declare
25786         replacement.
25787         * lib/fchdir.c (fstat) [REPLACE_OPEN_DIRECTORY]: Implement it.
25788         (_gl_register_fd): No need to check stat if open already filters
25789         all directories.
25790         (fchdir): Fix error condition to match POSIX.
25791         * modules/fchdir (Depends-on): Add sys_stat.
25792         * doc/posix-functions/open.texi (open): Document the limitation.
25793         * modules/fchdir-tests: New file.
25794         * tests/test-fchdir.c: Likewise.
25795
25796         canonicalize: allow cross-testing from cygwin to mingw
25797         * modules/canonicalize-tests (configure.ac): Define HAVE_SYMLINK.
25798         (Makefile.am): Pass it through TESTS_ENVIRONMENT.
25799         * modules/canonicalize-lgpl-tests (configure.ac, Makefile.am):
25800         Likewise.
25801         * tests/test-canonicalize.sh: Also skip test if 'ln -s' works, but
25802         target does not support symlinks.
25803         * tests/test-canonicalize-lgpl.sh: Likewise.
25804
25805         chown: avoid compilation warning on mingw
25806         * m4/chown.m4 (gl_FUNC_CHOWN): Recognize missing chown.
25807         * lib/chown.c (rpl_chown) [!HAVE_CHOWN]: Always return failure on
25808         mingw.
25809         * lib/lchown.c (lchown) [!HAVE_CHOWN]: Likewise.
25810         * modules/chown (Depends-on): Add errno.
25811
25812 2009-08-31  Stefano Lattarini  <stefano.lattarini@gmail.com>  (tiny change)
25813
25814         * gnulib-tool: Fix test whether $CONFIG_SHELL has a working 'echo'
25815         command.
25816
25817 2009-08-31  Jim Meyering  <meyering@redhat.com>
25818
25819         canonicalize: remove useless initialization
25820         * lib/canonicalize.c (canonicalize_filename_mode): Remove useless
25821         initialization of local, "end".
25822
25823 2009-08-30  Bruno Haible  <bruno@clisp.org>
25824
25825         Fix an unnecessary error on Solaris 10 on NFSv3 file systems.
25826         * lib/set-mode-acl.c (qset_acl) [Solaris 10 new]: Treat EOPNOTSUPP like
25827         ENOSYS.
25828
25829 2009-08-30  Bruno Haible  <bruno@clisp.org>
25830
25831         * tests/test-pipe-filter-ii1.sh: Prefer /usr/xpg6/bin/tr over
25832         /usr/xpg4/bin/tr when it exists.
25833         * tests/test-pipe-filter-gi1.sh: Likewise.
25834
25835 2009-08-30  Bruno Haible  <bruno@clisp.org>
25836
25837         Work around deficient /usr/bin/id program on Solaris.
25838         * tests/test-file-has-acl.sh (ID): New variable.
25839         * tests/test-set-mode-acl.sh (ID): Likewise.
25840         * tests/test-copy-acl.sh (ID): Likewise.
25841         * tests/test-copy-file.sh (ID): Likewise.
25842
25843 2009-08-30  Bruno Haible  <bruno@clisp.org>
25844
25845         New module 'xstriconveh'.
25846         * lib/xstriconveh.h: New file.
25847         * lib/xstriconveh.c: New file.
25848         * modules/xstriconveh: New file.
25849
25850 2009-08-30  Bruno Haible  <bruno@clisp.org>
25851
25852         Make it easier to use mem_cd_iconveh.
25853         * lib/striconveh.h (iconveh_t): New type.
25854         (iconveh_open, iconveh_close): New declarations.
25855         (mem_cd_iconveh, str_cd_iconveh): Replace the three iconv_t arguments
25856         with a single 'const iconveh_t *' argument.
25857         * lib/striconveh.c (iconveh_open, iconveh_close): New functions.
25858         (mem_cd_iconveh, str_cd_iconveh): Replace the three iconv_t arguments
25859         with a single 'const iconveh_t *' argument.
25860         (mem_iconveh, str_iconveh): Use iconveh_open, iconveh_close.
25861         * tests/test-striconveh.c (main): Update.
25862         * NEWS: Mention the change.
25863
25864 2009-08-30  Bruno Haible  <bruno@clisp.org>
25865
25866         * doc/posix-functions/iconv_open.texi: Mention indirect conversion
25867         problem.
25868
25869 2009-08-30  Bruno Haible  <bruno@clisp.org>
25870
25871         Work around iconv_open problem on Solaris.
25872         * lib/iconv_open-solaris.gperf: New file.
25873         * lib/iconv_open.c (ICONV_FLAVOR_SOLARIS): New macro.
25874         * m4/iconv_open.m4 (gl_FUNC_ICONV_OPEN): Also handle Solaris.
25875         * modules/iconv_open (Files): Add lib/iconv_open-solaris.gperf.
25876         (Makefile.am): Add rule for iconv_open-solaris.h. Augment
25877         BUILT_SOURCES, MOSTLYCLEANFILES, MAINTAINERCLEANFILES, EXTRA_DIST.
25878         * doc/posix-functions/iconv_open.texi: Mention the Solaris problem.
25879
25880 2009-08-29  Jim Meyering  <meyering@redhat.com>
25881
25882         maint.mk: remove more coreutils-specific targets; XZ_OPT=-9ev
25883         * top/maint.mk (cvs-check): Remove target; it was just an alias
25884         to the better-named vc-diff-check.
25885         (maintainer-distcheck): Remove rule.  It was used only from
25886         the (alpha/beta/major) target, and all of its commands but one
25887         were coreutils-specific.
25888         (vc-dist): Remove rule.
25889         (alpha beta major): Run "$(MAKE) distcheck" explicitly.
25890         Run vc-diff-check, not vc-dist.
25891         Run $(MAKE) dist with XZ_OPT=-9ev.  Note spelling, with "-".
25892
25893 2009-08-27  Bruno Haible  <bruno@clisp.org>
25894
25895         * tests/test-bitrotate.c (main): Remove test that uses a shift count
25896         of 0.
25897
25898 2009-08-27  Bruno Haible  <bruno@clisp.org>
25899
25900         * tests/test-func.c (main): Don't verify sizeof __func__ on SunPRO C
25901         compilers.
25902         * doc/func.texi: Document the SunPRO C bug.
25903
25904 2009-08-27  Bruno Haible  <bruno@clisp.org>
25905
25906         Fix link error on Solaris.
25907         * tests/test-parse-duration.c (xstrdup): Remove function.
25908
25909 2009-08-26  Pádraig Brady  <P@draigbrady.com>
25910
25911         ignore-value: handle pointer types, too
25912         * lib/ignore-value.h (__attribute__): Remove definition.
25913         (ignore_value): Remove use of "__attribute__ ((unused))" in favor
25914         of a more concise and more-often effective "(void) i" statement.
25915         (ignore_ptr): New function to suppress warnings from functions that
25916         return pointers, and to make it explicit that one function doesn't
25917         handle all cases.
25918
25919 2009-08-25  Bruno Haible  <bruno@clisp.org>
25920
25921         dup2: work around a Linux bug.
25922         * m4/dup2.m4 (gl_FUNC_DUP2): Test for the Linux bug.
25923         * lib/dup2.c (rpl_dup2): Correct the return value if it is -EBADF.
25924         * doc/posix-functions/dup2.texi: Mention the Linux bug.
25925         Reported by Simon Josefsson.
25926
25927 2009-08-25  Jim Meyering  <meyering@redhat.com>
25928
25929         libguestfs uses gnulib
25930         * users.txt: Add libguestfs.
25931
25932 2009-08-24  Eric Blake  <ebb9@byu.net>
25933
25934         dup2, pipe2: fix some recent test failures on cygwin 1.5.x
25935         * lib/pipe2.c (includes): Add binary-io.h.
25936         * lib/dup2.c (rpl_dup2): Correct buggy errno value.
25937
25938 2009-08-24  Bruno Haible  <bruno@clisp.org>
25939
25940         Tolerate declared but missing accept4 syscall.
25941         * lib/accept4.c (accept4): Invoke original accept4 function first, if
25942         available.
25943         * lib/sys_socket.in.h (accept4): If the function is already present,
25944         override it.
25945         * m4/accept4.m4 (gl_FUNC_ACCEPT4): Remove AC_LIBOBJ invocation.
25946         * modules/accept4 (Makefile.am): Compile accept4.c always.
25947         Reported by Paolo Bonzini and Eric Blake.
25948
25949 2009-08-23  Bruno Haible  <bruno@clisp.org>
25950
25951         New module 'accept4'.
25952         * lib/sys_socket.in.h (accept4): New declaration.
25953         * lib/accept4.c: New file.
25954         * m4/accept4.m4: New file.
25955         * m4/sys_socket_h.m4 (gl_SYS_SOCKET_H_DEFAULTS): Initialize
25956         GNULIB_ACCEPT4, HAVE_ACCEPT4.
25957         * modules/sys_socket (Makefile.am): Substitute GNULIB_ACCEPT4,
25958         HAVE_ACCEPT4.
25959         * modules/accept4: New file.
25960         * doc/glibc-functions/accept4.texi: Mention the new module.
25961
25962 2009-08-24  Jim Meyering  <meyering@redhat.com>
25963
25964         progname: also set global program_invocation_name, when possible
25965         Before this change, a libtool-enabled program that calls glibc's
25966         error function would report the program name as
25967         "/abs/dir/.libs/lt-program_name" rather than the desired program_name.
25968         * modules/progname (configure.ac): Check for a declaration of
25969         program_invocation_name.
25970         * lib/progname.c:  Include <errno.h>.
25971         (set_program_name) [HAVE_DECL_PROGRAM_INVOCATION_NAME]:
25972         Set program_invocation_name.
25973
25974 2009-08-23  Bruno Haible  <bruno@clisp.org>
25975
25976         * lib/dup3.c: Include <string.h>.
25977
25978 2009-08-23  Bruno Haible  <bruno@clisp.org>
25979
25980         * lib/dup3.c (dup3): Test only once whether the system actually exists.
25981         * lib/pipe2.c (pipe2): Likewise.
25982         Suggested by Eric Blake.
25983
25984 2009-08-23  Bruno Haible  <bruno@clisp.org>
25985
25986         Tolerate declared but missing dup3 syscall.
25987         * lib/dup3.c (dup3): Invoke original dup3 function first, if available.
25988         * lib/unistd.in.h (dup3): If the function is already present,
25989         override it.
25990         * m4/dup3.m4 (gl_FUNC_DUP3): Remove AC_LIBOBJ invocation.
25991         * modules/dup3 (Makefile.am): Compile dup3.c always.
25992         Reported by Paolo Bonzini.
25993
25994 2009-08-23  Bruno Haible  <bruno@clisp.org>
25995
25996         Tolerate declared but missing pipe2 syscall.
25997         * lib/pipe2.c (pipe2): Invoke original pipe2 function first, if
25998         available.
25999         * lib/unistd.in.h (pipe2): If the function is already present,
26000         override it.
26001         * m4/pipe2.m4 (gl_FUNC_PIPE2): Remove AC_LIBOBJ invocation.
26002         * modules/pipe2 (Makefile.am): Compile pipe2.c always.
26003         Reported by Paolo Bonzini.
26004
26005 2009-08-23  Bruno Haible  <bruno@clisp.org>
26006
26007         * lib/pipe2.c (pipe2): Move #ifs inside function.
26008
26009 2009-08-22  Joel E. Denny  <jdenny@clemson.edu>
26010
26011         quotearg: document limitations of quote_these_too
26012         * lib/quotearg.c (quotearg_buffer_restyled): Add comments where
26013         those limitations are created.
26014         * lib/quotearg.h (set_char_quoting): Document that digits and
26015         letters that are special after backslash are not permitted.
26016         (quotearg_char): Cross-reference set_char_quoting documentation.
26017
26018 2009-08-23  Joel E. Denny  <jdenny@clemson.edu>
26019
26020         quotearg: implement custom_quoting_style
26021         * lib/quotearg.c: (struct quoting_options): Add left_quote and
26022         right_quote fields.
26023         (set_custom_quoting): New public function.
26024         (quotearg_buffer_restyled): Add left_quote and right_quote
26025         arguments, handle them very much like locale quoting, and update
26026         all uses.
26027         (quotearg_n_custom): New public function.
26028         (quotearg_n_custom_mem): New public function.
26029         (quotearg_custom): New public function.
26030         (quotearg_custom_mem): New public function.
26031         * lib/quotearg.h: Prototype and document new public functions.
26032         (enum quoting_style): For escape_quoting_style and
26033         clocale_quoting_style, comment that QA_SPLIT_TRIGRAPHS is
26034         ignored even though they're otherwise like c_quoting_style.
26035         Add custom_quoting_style member and document with comparison to
26036         clocale_quoting_style.
26037         * tests/test-quotearg.c (custom_quotes): New array.
26038         (custom_results): New array.
26039         (main): Extend to test custom quoting.
26040
26041 2009-08-22  Joel E. Denny  <jdenny@clemson.edu>
26042
26043         quotearg: fix right quote escaping when it's in quote_these_too
26044         * lib/quotearg.c (quotearg_buffer_restyled): Upon seeing a right
26045         quote, be sure to prepend only one backslash.
26046         * tests/test-quotearg.c (use_quote_double_quotes): New function.
26047         (main): Test it.
26048
26049 2009-08-22  Joel E. Denny  <jdenny@clemson.edu>
26050
26051         quotearg-tests: test escaping of embedded locale quotes
26052         * tests/test-quotearg.c (struct result_strings): Add member for
26053         new input.
26054         (LQ_ENC, RQ_ENC, RQ_ESC): New macros.
26055         (inputs): Add new input.
26056         (results_g): Add expected results.
26057         (flag_results): Likewise.
26058         (locale_results): Likewise.
26059         (compare_strings): Check those.
26060
26061 2009-08-23  Bruno Haible  <bruno@clisp.org>
26062
26063         Tests for module 'dup3'.
26064         * modules/dup3-tests: New file.
26065         * tests/test-dup3.c: New file.
26066
26067         New module 'dup3'.
26068         * lib/unistd.in.h (dup3): New declaration.
26069         * lib/dup3.c: New file.
26070         * m4/dup3.m4: New file.
26071         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize GNULIB_DUP3 and
26072         HAVE_DUP3.
26073         * modules/unistd (Makefile.am): Substitute GNULIB_DUP3 and HAVE_DUP3.
26074         * modules/dup3: New file.
26075         * doc/glibc-functions/dup3.texi: Mention the new module.
26076
26077 2009-08-23  Bruno Haible  <bruno@clisp.org>
26078
26079         Tweak the dup2 test.
26080         * tests/test-dup2.c (main): Create the test file empty. Verify that an
26081         out-of-range fd yields EBADF. Verify that after writing to /dev/null,
26082         the test file is still empty. Fix argument order of lseek.
26083
26084 2009-08-23  Bruno Haible  <bruno@clisp.org>
26085
26086         Avoid test link errors when the modules getopt-gnu, gettext are used.
26087         * modules/getopt-posix-tests (Makefile.am): Define test_getopt_LDADD.
26088         Reported by Tom G. Christensen <tgc@jupiterrise.com>.
26089
26090 2009-08-23  Bruno Haible  <bruno@clisp.org>
26091
26092         Fix getdtablesize() on mingw.
26093         * lib/getdtablesize.c (getdtablesize): Implement differently.
26094         * lib/unistd.in.h (getdtablesize): Improve comment.
26095
26096 2009-08-23  Bruno Haible  <bruno@clisp.org>
26097
26098         New module 'mkostemp'.
26099         Based on Ulrich Drepper's 2007-08-10 change in glibc.
26100         * lib/stdlib.in.h (mksotemp): New declaration.
26101         * lib/mkostemp.c: New file, from glibc with modifications.
26102         * lib/tempname.h (GT_FILE): Remove outdated comment.
26103         (gen_tempname): Add flags argument.
26104         * lib/tempname.c (__GT_BIGFILE): Remove macro.
26105         (__GT_FILE): Map to 1.
26106         (small_open, large_open): Remove macros.
26107         (__gen_tempname): Add flags argument. Remove code for __GT_BIGFILE.
26108         * lib/mkstemp.c (mkstemp): Update.
26109         * lib/mkdtemp.c (mkdtemp): Likewise.
26110         * m4/mkostemp.m4: New file.
26111         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize GNULIB_MKOSTEMP,
26112         HAVE_MKOSTEMP.
26113         * modules/stdlib (Makefile.am): Substitute GNULIB_MKOSTEMP,
26114         HAVE_MKOSTEMP.
26115         * modules/mkostemp: New file, based on modules/mkstemp.
26116         * doc/glibc-functions/mkostemp.texi: Mention the new module.
26117         * NEWS: Mention the change.
26118
26119 2009-08-23  Bruno Haible  <bruno@clisp.org>
26120
26121         * lib/pipe2.c (pipe2): Support O_TEXT, O_BINARY on all platforms.
26122         Reported by Eric Blake.
26123
26124 2009-08-23  Bruno Haible  <bruno@clisp.org>
26125
26126         * lib/pipe2.c (pipe2): Fix test of fcntl's return value.
26127         Reported by Eric Blake.
26128
26129 2009-08-23  Bruno Haible  <bruno@clisp.org>
26130
26131         * modules/fchdir (Depends-on): Use fcntl-h instead of fcntl.
26132         * modules/pipe2 (Depends-on): Likewise.
26133
26134 2009-08-23  Eric Blake  <ebb9@byu.net>
26135
26136         fcntl-h: add O_TTY_INIT support
26137         * lib/fcntl.in.h (O_TTY_INIT): Support another POSIX macro.
26138         * tests/test-fcntl-h.c (o): Test it.
26139         * doc/posix-headers/fcntl.texi (fcntl.h): Update documentation.
26140
26141         fcntl-h: rename from fcntl, in preparation for fcntl(2)
26142         * modules/fcntl: Move <fcntl.h> header replacement...
26143         * modules/fcntl-h: ...to new name, so as not to collide with
26144         like-named function.
26145         * tests/test-fcntl.c: Rename...
26146         * tests/test-fcntl-h.c: ...to this.  Test FD_CLOEXEC.
26147         * modules/fcntl-tests: Rename...
26148         * modules/fcntl-h-tests: ...to this.  Update test file name.
26149         * modules/chdir-long (Depends-on): Update clients.
26150         * modules/chdir-safer (Depends-on): Likewise.
26151         * modules/fcntl-safer (Depends-on): Likewise.
26152         * modules/fts (Depends-on): Likewise.
26153         * modules/mkancesdirs (Depends-on): Likewise.
26154         * modules/mkdir-p (Depends-on): Likewise.
26155         * modules/open (Depends-on): Likewise.
26156         * modules/savewd (Depends-on): Likewise.
26157         * MODULES.html.sh (systems lacking POSIX:2008): Update name.
26158         * doc/posix-headers/fcntl.texi (fcntl.h): Update documentation.
26159
26160 2009-08-22  Bruno Haible  <bruno@clisp.org>
26161
26162         * modules/binary-io (License): Relicense under LGPL.
26163         * modules/pipe2 (License): Likewise.
26164
26165 2009-08-22  Bruno Haible  <bruno@clisp.org>
26166
26167         * lib/pipe-filter-ii.c (pipe_filter_ii_execute): Fix test of fcntl's
26168         return value.
26169         * lib/pipe-filter-gi.c (filter_init): Likewise.
26170         Reported by Eric Blake.
26171
26172 2009-08-22  Bruno Haible  <bruno@clisp.org>
26173
26174         * lib/pipe.c (create_pipe): Use pipe2 instead of _pipe.
26175         * modules/pipe (Depends-on): Add pipe2.
26176
26177 2009-08-22  Bruno Haible  <bruno@clisp.org>
26178
26179         Tests for module 'pipe2'.
26180         * modules/pipe2-tests: New file.
26181         * tests/test-pipe2.c: New file.
26182
26183         New module 'pipe2'.
26184         * lib/unistd.in.h (pipe2): New declaration.
26185         * lib/pipe2.c: New file.
26186         * m4/pipe2.m4: New file.
26187         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize GNULIB_PIPE2 and
26188         HAVE_PIPE2.
26189         * modules/unistd (Makefile.am): Substitute GNULIB_PIPE2 and HAVE_PIPE2.
26190         * modules/pipe2: New file.
26191         * doc/glibc-functions/pipe2.texi: Mention the new module.
26192
26193 2009-08-22  Bruno Haible  <bruno@clisp.org>
26194
26195         Reference some new glibc functions.
26196         * doc/glibc-functions/accept4.texi: New file.
26197         * doc/glibc-functions/dup3.texi: New file.
26198         * doc/glibc-functions/mkostemp.texi: New file.
26199         * doc/glibc-functions/pipe2.texi: New file.
26200         * doc/gnulib.texi (Glibc stdlib.h): Refer to mkostemp.
26201         (Glibc sys/socket.h): Refer to accept4.
26202         (Glibc unistd.h): Refer to dup3, pipe2.
26203         Reported by Eric Blake.
26204
26205 2009-08-22  Jim Meyering  <meyering@redhat.com>
26206             Bruno Haible  <bruno@clisp.org>
26207
26208         annotate automake snippets with $(AM_V_GEN) and $(AM_V_at)
26209         This makes it so packages using automake-1.11's silent-rules option
26210         can print e.g., a single "GEN    configmake.h" line, rather than
26211         the 30+ statements that perform the job.  If you want to see the
26212         actual commands, you can still run "make V=1".
26213         * modules/alloca-opt: Add $(AM_V_GEN) and $(AM_V_at) prefixes
26214         so that make output is abbreviated when those variables are defined
26215         appropriately.
26216         * modules/argz: Likewise.
26217         * modules/arpa_inet: Likewise.
26218         * modules/byteswap: Likewise.
26219         * modules/configmake: Likewise.
26220         * modules/dirent: Likewise.
26221         * modules/errno: Likewise.
26222         * modules/fcntl: Likewise.
26223         * modules/float: Likewise.
26224         * modules/fnmatch: Likewise.
26225         * modules/getopt-posix: Likewise.
26226         * modules/glob: Likewise.
26227         * modules/iconv_open: Likewise.
26228         * modules/inttypes: Likewise.
26229         * modules/localcharset: Likewise.
26230         * modules/locale: Likewise.
26231         * modules/math: Likewise.
26232         * modules/netdb: Likewise.
26233         * modules/netinet_in: Likewise.
26234         * modules/poll: Likewise.
26235         * modules/posix_spawnp-tests: Likewise.
26236         * modules/sched: Likewise.
26237         * modules/search: Likewise.
26238         * modules/selinux-h: Likewise.
26239         * modules/signal: Likewise.
26240         * modules/spawn: Likewise.
26241         * modules/stdarg: Likewise.
26242         * modules/stdbool: Likewise.
26243         * modules/stddef: Likewise.
26244         * modules/stdint: Likewise.
26245         * modules/stdio: Likewise.
26246         * modules/stdlib: Likewise.
26247         * modules/string: Likewise.
26248         * modules/strings: Likewise.
26249         * modules/sys_file: Likewise.
26250         * modules/sys_ioctl: Likewise.
26251         * modules/sys_select: Likewise.
26252         * modules/sys_socket: Likewise.
26253         * modules/sys_stat: Likewise.
26254         * modules/sys_time: Likewise.
26255         * modules/sys_times: Likewise.
26256         * modules/sys_utsname: Likewise.
26257         * modules/sys_wait: Likewise.
26258         * modules/sysexits: Likewise.
26259         * modules/time: Likewise.
26260         * modules/unistd: Likewise.
26261         * modules/wchar: Likewise.
26262         * modules/wctype: Likewise.
26263
26264 2009-08-22  Jim Meyering  <meyering@redhat.com>
26265
26266         announce-gen: detect write failure
26267         * build-aux/announce-gen: Add Coda at end.
26268         Remove equivalent-but-more-verbose block at top.
26269
26270 2009-08-19  Akim Demaille  <demaille@gostai.com>
26271
26272         bootstrap: --help to stdout.
26273         * bootstrap (usage): Don't send --help to stderr.
26274         Use a here doc instead of a long string.
26275
26276 2009-08-21  Eric Blake  <ebb9@byu.net>
26277
26278         test-popen-safer: split from test-popen
26279         * tests/test-popen.c (main): Move...
26280         * tests/test-popen.h: ...into new file.
26281         * tests/test-popen-safer2.c: New file.
26282         * modules/popen-tests (Files): Add test-popen.h.
26283         * modules/popen-safer-tests (Files): Add test-popen-safer2.c.
26284         Suggested by Bruno Haible.
26285
26286         test-fcntl-safer: split from test-open
26287         * tests/test-open.c (main): Move...
26288         * tests/test-open.h: ...into new file.
26289         * tests/test-fcntl-safer.c: New file.
26290         * modules/open-tests (Files): Add test-open.h.
26291         * modules/fcntl-safer-tests: New file.
26292         Suggested by Bruno Haible.
26293
26294         test-fopen-safer: split from test-fopen
26295         * tests/test-fopen.c (main): Move...
26296         * tests/test-fopen.h: ...into new file.
26297         * tests/test-fopen-safer.c: New file.
26298         * modules/fopen-tests (Files): Add test-fopen.h.
26299         * modules/fopen-safer-tests: New file.
26300         Suggested by Bruno Haible.
26301
26302 2009-08-21  Paolo Bonzini  <bonzini@gnu.org>
26303
26304         popen-safer: test O_CLOEXEC at run-time.
26305         * lib/popen-safer.c: Test O_CLOEXEC at run-time.
26306
26307 2009-08-21  Paolo Bonzini  <bonzini@gnu.org>
26308
26309         fcntl: move more flags to the header
26310         * lib/cloexec.c: Do not define FD_CLOEXEC here.
26311         * lib/popen-safer.c: Do not alias O_NOINHERIT to O_CLOEXEC here.
26312         * lib/fcntl.in.h: Do both things here.
26313
26314 2009-08-21  Jim Meyering  <meyering@redhat.com>
26315
26316         consistently remove $@-t before redirecting to it
26317         * modules/argz: Remove $@-t and $@ before redirecting to the former.
26318         * modules/alloca-opt: Likewise.
26319         * modules/byteswap: Likewise.
26320         * modules/fnmatch: Likewise.
26321         * modules/getopt-posix: Likewise.
26322         * modules/glob: Likewise.
26323         * modules/poll: Likewise.
26324         * modules/posix_spawnp-tests: Likewise.
26325         * modules/sys_socket: Likewise.
26326         * modules/sysexits: Likewise.
26327
26328 2009-08-21  Eric Blake  <ebb9@byu.net>
26329
26330         popen: simplify access to original popen
26331         * lib/popen.c (rpl_popen): No need to worry about popen being a
26332         macro.
26333         Reported by Bruno Haible.
26334
26335 2009-08-20  Eric Blake  <ebb9@byu.net>
26336
26337         build: avoid some compiler warnings
26338         * lib/selinux-at.h: Use dir_fd, not dirfd, to avoid shadowing.
26339         * lib/exclude.c (fnmatch_pattern_has_wildcards): Use correct
26340         type.
26341         (new_exclude_segment, excluded_file_pattern_p)
26342         (excluded_file_name_p): Reduce scope.
26343         * lib/vasnprintf.c (decimal_point_char): Avoid warning on
26344         old-style declaration.
26345
26346 2009-08-20  Simon Josefsson  <simon@josefsson.org>
26347
26348         * tests/test-exclude1.sh: Handle Windows EOL.
26349         * tests/test-exclude2.sh: Likewise.
26350         * tests/test-exclude3.sh: Likewise.
26351         * tests/test-exclude4.sh: Likewise.
26352         * tests/test-exclude5.sh: Likewise.
26353         * tests/test-exclude6.sh: Likewise.
26354         * tests/test-exclude7.sh: Likewise.
26355
26356 2009-08-19  Akim Demaille  <demaille@gostai.com>
26357
26358         bootstrap: find sha1sum when named gsha1sum.
26359         * bootstrap (find_tool): New.
26360         ($SHA1SUM): New.
26361         Use it.
26362
26363 2009-08-20  Jim Meyering  <meyering@redhat.com>
26364
26365         maint.mk: _header_without_use: fix a quoting bug and remove a bash'ism
26366         * top/maint.mk (_header_without_use): Use "\\\\", not "\\" in the sed
26367         expression that converts "." in a file name to "\." in the resulting
26368         regexp.  Start with a dummy statement, so that prior shell variable
26369         definitions are expanded portably.  Reported by Simon Josefsson.
26370
26371 2009-08-20  Paolo Bonzini  <bonzini@gnu.org>
26372
26373         Fix polling for writeability of a screen buffer.
26374         * lib/poll.c: Distinguish input and screen buffers for the
26375         Win32 implementation.
26376         * lib/select.c: Likewise.
26377
26378 2009-08-19  Eric Blake  <ebb9@byu.net>
26379
26380         popen-safer: prevent popen from clobbering std descriptors
26381         * modules/popen-safer: New file.
26382         * lib/popen-safer.c: Likewise.
26383         * m4/stdio-safer.m4 (gl_POPEN_SAFER): New macro.
26384         * lib/stdio--.h (popen): Provide override.
26385         * lib/stdio-safer.h (popen_safer): Provide declaration.
26386         * tests/test-popen.c (includes): Partially test this.
26387         * modules/popen-safer-tests: New file, for more tests.
26388         * tests/test-popen-safer.c: Likewise.
26389         * MODULES.html.sh (file stream based Input/Output): Mention it.
26390
26391         tests: test some of the *-safer modules
26392         * modules/fopen-safer (Depends-on): Add fopen.
26393         * modules/fcntl-safer (Depends-on): Add fcntl.
26394         * modules/stdlib-safer (Depends-on): Add stdlib.
26395         (configure.ac): Set indicator.
26396         * modules/unistd-safer (configure.ac): Likewise.
26397         * modules/tmpfile-safer (configure.ac): Likewise.
26398         (Depends-on): Add tmpfile.
26399         * lib/stdio--.h (fopen, tmpfile): Don't override unless module is
26400         active.
26401         * tests/test-fopen.c (includes): Test safer versions when they are
26402         in use.
26403         * tests/test-open.c (includes): Likewise.
26404
26405         popen: fix cygwin 1.5 bug when stdin closed
26406         * doc/posix-functions/popen.texi (popen): Document cygwin bugs.
26407         * modules/popen: New file.
26408         * modules/popen-tests: Likewise.
26409         * tests/test-popen.c: Likewise.
26410         * m4/popen.m4: Likewise.
26411         * lib/popen.c: Likewise.
26412         * lib/stdio.in.h (popen): New declaration.
26413         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Add popen.
26414         * modules/stdio (Makefile.am): Likewise.
26415         * MODULES.html.sh (systems lacking POSIX:2008): Mention it.
26416
26417 2009-08-17  Joel E. Denny  <jdenny@clemson.edu>
26418
26419         maint.mk: give full control over update-copyright exclusions
26420         * top/maint.mk (VC_LIST_EXCEPT): Instead of ChangeLog, use
26421         ${VC_LIST_EXCEPT_DEFAULT-ChangeLog} as the default exclusion.
26422         (update-copyright): Don't force inclusion of top-level
26423         ChangeLog.  Don't force exclusion of all COPYING files, but make
26424         them the default exclusion instead.
26425
26426 2009-08-16  Bruno Haible  <bruno@clisp.org>
26427
26428         Fix test failures on Solaris 10.
26429         * tests/uniconv/test-u8-conv-from-enc.c (main): Disable autodetect_jp
26430         tests when Solaris iconv() is used.
26431         * tests/uniconv/test-u16-conv-from-enc.c (main): Likewise.
26432         * tests/uniconv/test-u32-conv-from-enc.c (main): Likewise.
26433         * tests/uniconv/test-u8-strconv-from-enc.c (main): Likewise.
26434         * tests/uniconv/test-u16-strconv-from-enc.c (main): Likewise.
26435         * tests/uniconv/test-u32-strconv-from-enc.c (main): Likewise.
26436
26437 2009-08-16  Bruno Haible  <bruno@clisp.org>
26438
26439         Fix test failures on Solaris 10.
26440         * tests/test-pipe-filter-ii1.sh: Determine the filename of a working
26441         'tr' program and pass it as first argument.
26442         * tests/test-pipe-filter-gi1.sh: Likewise.
26443         * tests/test-pipe-filter-ii1.c (main): Except the filename of a 'tr'
26444         program as first argument.
26445         * tests/test-pipe-filter-gi1.c (main): Likewise.
26446
26447 2009-08-16  Eric Blake  <ebb9@byu.net>
26448
26449         fpurge: fix previous commits
26450         * modules/fpurge (Makefile.am): Make replacement conditional,
26451         partially reverting 2007-04-29 change; missed in previous
26452         attempt.
26453         * m4/fpurge.m4 (gl_FUNC_FPURGE): Also compile fpurge.c when fpurge
26454         is missing.
26455
26456 2009-08-16  Bruno Haible  <bruno@clisp.org>
26457
26458         Clarify fpurge's effect on the file position.
26459         * lib/stdio.in.h (fpurge): Specify the file position after fpurge.
26460         * tests/test-fpurge.c (main): Make a second pass for checking the file
26461         position.
26462
26463 2009-08-16  Bruno Haible  <bruno@clisp.org>
26464
26465         * m4/fpurge.m4 (gl_FUNC_FPURGE): Don't compile fpurge.c if only the
26466         declaration of fpurge is missing.
26467         * tests/test-fpurge.c (main): Check that the file has not more contents
26468         than expected. Close the file before removing it.
26469
26470 2009-08-15  Eric Blake  <ebb9@byu.net>
26471
26472         fpurge: don't wrap working cygwin implementation
26473         * lib/fpurge.c (fpurge): Fix comment typo.
26474         * m4/fpurge.m4 (gl_FUNC_FPURGE): Detect BSD bug, allowing cygwin
26475         1.7 to avoid replacement.
26476         * tests/test-fpurge.c (main): Enhance test.
26477
26478 2009-08-15  Eric Blake  <ebb9@byu.net>
26479         and Jim Meyering  <meyering@redhat.com>
26480
26481         test-update-copyright: skip if perl is insufficient
26482         * tests/test-update-copyright.sh: Failure to run maintainer tool
26483         should not cause testsuite failure on cygwin 1.5.
26484
26485 2009-08-14  Eric Blake  <ebb9@byu.net>
26486
26487         doc: mention more functions added in cygwin 1.7.0
26488         * doc/posix-headers/limits.texi (limits.h): Update for recent
26489         cygwin additions.
26490         * doc/posix-headers/wordexp.texi (wordexp.h): Likewise.
26491         * doc/posix-functions/wordexp.texi (wordexp): Likewise.
26492         * doc/posix-functions/wordfree.texi (wordfree): Likewise.
26493         * doc/posix-functions/setlocale.texi (setlocale): Likewise.
26494         * doc/posix-functions/nl_langinfo.texi (nl_langinfo): Likewise.
26495
26496 2009-08-14  Eric Blake  <ebb9@byu.net>
26497
26498         maint.mk: simplify update-copyright rule
26499         * top/maint.mk (update-copyright-local): Delete, and document how
26500         to do it in cfg.mk instead.
26501         (update-copyright-exclude-regexp): Delete, and document how to do
26502         it in .x-update-copyright instead.
26503         (update-copyright): Simplify, thanks to VC_LIST_EXCEPT.  Don't
26504         exclude ChangeLog.
26505
26506 2009-08-14  Bruno Haible  <bruno@clisp.org>
26507
26508         * m4/wchar.m4 (gl_WCHAR_H): Undo invalid optimization in last commit.
26509
26510 2009-08-14  Joel E. Denny  <jdenny@clemson.edu>
26511
26512         maint.mk: support update-copyright-env
26513         * top/maint.mk (update-copyright-env): Define place-holder.
26514         (update-copyright): Expand $(update-copyright-env) before
26515         invoking update-copyright.
26516
26517 2009-08-14  Joel E. Denny  <jdenny@clemson.edu>
26518
26519         update-copyright: implement forced reformatting
26520         * build-aux/update-copyright: Implement and document
26521         UPDATE_COPYRIGHT_FORCE.
26522         * tests/test-update-copyright.sh: Test it.
26523
26524 2009-08-14  Eric Blake  <ebb9@byu.net>
26525         and Bruno Haible  <bruno@clisp.org>
26526
26527         stddef: fix NetBSD 5.0 NULL bug, rather than working around it
26528         * tests/test-locale.c: Revert previous patch related to NULL.
26529         * tests/test-stdio.c: Likewise.
26530         * tests/test-stdlib.c: Likewise.
26531         * tests/test-string.c: Likewise.
26532         * tests/test-unistd.c: Likewise.
26533         * modules/time-tests (Depends-on): Add verify.
26534         * modules/wchar-tests (Depends-on): Likewise.
26535         * tests/test-time.c: Test for NULL compliance.
26536         * tests/test-wchar.c: Likewise.
26537         * modules/locale (Depends-on): Add stddef.
26538         * modules/stdio (Depends-on): Likewise.
26539         * modules/stdlib (Depends-on): Likewise.
26540         * modules/string (Depends-on): Likewise.
26541         * modules/time (Depends-on): Likewise.
26542         * modules/unistd (Depends-on): Likewise.
26543         * modules/wchar (Depends-on): Likewise.
26544         * lib/locale.in.h (includes): Use <stddef.h> to fix NULL.
26545         * lib/stdlib.in.h (includes): Likewise.
26546         * lib/string.in.h (includes): Likewise.
26547         * lib/time.in.h (includes): Likewise.
26548         * lib/unistd.in.h (includes): Likewise.
26549         * m4/locale_h.m4 (gl_LOCALE_H): Replace locale.h if stddef.h was
26550         replaced.
26551         * m4/wchar.m4 (gl_WCHAR_H): Likewise.
26552         * m4/stddef_h.m4: New file.
26553         * modules/stddef: Likewise.
26554         * lib/stddef.in.h: Likewise.
26555         * modules/stddef-tests: Likewise.
26556         * tests/test-stddef.c: Likewise.
26557         * MODULES.html.sh (Basic types <stddef.h>): Mention new module.
26558         * doc/posix-headers/stddef.texi (stddef.h): Document the bug.
26559         * doc/posix-headers/locale.texi (locale.h): Likewise.
26560         * doc/posix-headers/stdio.texi (stdio.h): Likewise.
26561         * doc/posix-headers/stdlib.texi (stdlib.h): Likewise.
26562         * doc/posix-headers/string.texi (string.h): Likewise.
26563         * doc/posix-headers/time.texi (time.h): Likewise.
26564         * doc/posix-headers/unistd.texi (unistd.h): Likewise.
26565         * doc/posix-headers/wchar.texi (wchar.h): Likewise.
26566
26567 2009-08-14  Eric Blake  <ebb9@byu.net>
26568
26569         doc: improve git diff of texinfo files
26570         * .gitattributes: Add rule for *.texi files, with hint on how to
26571         use it.
26572         Copied from m4, and based on a report by Bruno Haible.
26573
26574 2009-08-14  Bruno Haible  <bruno@clisp.org>
26575
26576         Disable multithread support by default on Cygwin 1.5.x for real.
26577         * m4/threadlib.m4 (gl_THREADLIB_EARLY_BODY): Fix last commit.
26578
26579 2009-08-14  Joel E. Denny  <jdenny@clemson.edu>
26580
26581         update-copyright: much ado about intervals
26582         * build-aux/update-copyright: Implement and document
26583         UPDATE_COPYRIGHT_USE_INTERVALS to control expansion and collapse
26584         of copyright year intervals.
26585         Also, document UPDATE_COPYRIGHT_YEAR.
26586         * tests/test-update-copyright.sh: Test it.
26587
26588         update-copyright: convert 2-digit to 4-digit years
26589         * build-aux/update-copyright: Implement and document.
26590         * tests/test-update-copyright.sh: Update.
26591
26592 2009-08-14  Jim Meyering  <meyering@redhat.com>
26593
26594         test-exclude: avoid coreutils "make check" failure
26595         * tests/test-exclude.c (ARGMATCH_DIE_DECL) [ARGMATCH_DIE_DECL]: Define,
26596         just as in test-argmatch.c.
26597
26598 2009-08-13  Eric Blake  <ebb9@byu.net>
26599
26600         test-dup2: fix bad assumption
26601         * tests/test-dup2.c (main): Tolerate leaked fds from environment.
26602         Reported by Peter Breitenlohner <peb@mppmu.mpg.de>.
26603
26604         test-version-etc: fix CRLF portability issue
26605         * tests/test-version-etc.sh: Use tr, not sed, as not all sed
26606         recognize \r.
26607         * tests/test-argp-version-etc-1.sh: Likewise.
26608
26609         getopt: update client modules
26610         * modules/argp (Depends-on): Use getopt-gnu.
26611         * modules/git-merge-changelog (Depends-on): Likewise.
26612         * modules/long-options (Depends-on): Likewise.
26613         * modules/xstrtol (Depends-on): Likewise.
26614
26615 2009-08-13  Simon Josefsson  <simon@josefsson.org>
26616
26617         * tests/test-version-etc.sh: Don't fail on different
26618         project/version.  Don't fail on CRLF differences.  Rewrite to use
26619         multiple -e instead of multiple sed forks, suggested by Eric Blake
26620         <ebb9@byu.net>.
26621         * tests/test-argp-version-etc-1.sh: Likewise.
26622
26623 2009-08-13  Simon Josefsson  <simon@josefsson.org>
26624
26625         * tests/test-version-etc.sh: Don't fail on different
26626         project/version.
26627
26628 2009-08-12  Bruno Haible  <bruno@clisp.org>
26629
26630         Tests for modules 'getopt-posix', 'getopt-gnu'.
26631         * modules/getopt-posix-tests: New file.
26632         * tests/test-getopt.c: New file.
26633         * tests/test-getopt.h: New file.
26634         * tests/test-getopt_long.h: New file.
26635
26636         New modules 'getopt-posix', 'getopt-gnu'.
26637         * modules/getopt-gnu: New file, renamed from modules/getopt.
26638         * modules/getopt-posix: New file.
26639         * modules/getopt: Turn into an obsolete alias for getopt-gnu.
26640         * m4/getopt.m4 (gl_FUNC_GETOPT_POSIX, gl_FUNC_GETOPT_GNU): New macros.
26641         (gl_GETOPT): Remove macro.
26642         (gl_GETOPT_CHECK_HEADERS): Do some checks only for gl_FUNC_GETOPT_GNU.
26643         Disable the test against BSD systems that declare optreset. Test
26644         against mingw bug. Test against lack of support of optional arguments
26645         on many platforms.
26646         * doc/glibc-headers/getopt.texi: Update module name and list of
26647         relevant platforms.
26648         * doc/posix-functions/getopt.texi: Mention modules 'getopt-posix' and
26649         'getopt-gnu' and more portability problems.
26650         * NEWS: Mention the changes.
26651
26652 2009-08-12  Bruno Haible  <bruno@clisp.org>
26653
26654         Ensure that optarg etc. get declared by <unistd.h>.
26655         * m4/getopt.m4 (gl_GETOPT_CHECK_HEADERS): Require
26656         AC_USE_SYSTEM_EXTENSIONS.
26657         * modules/getopt (Depends-on): Add 'extensions'.
26658
26659 2009-08-12  Bruno Haible  <bruno@clisp.org>
26660
26661         Avoid test link errors.
26662         * modules/pipe-filter-ii-tests (Makefile.am): Define
26663         test_pipe_filter_ii1_LDADD and test_pipe_filter_ii2_main_LDADD.
26664         * modules/pipe-filter-gi-tests (Makefile.am): Define
26665         test_pipe_filter_gi1_LDADD and test_pipe_filter_gi2_main_LDADD.
26666         Reported by Tom G. Christensen <tgc@jupiterrise.com>.
26667
26668 2009-08-12  Bruno Haible  <bruno@clisp.org>
26669
26670         * m4/getopt.m4 (gl_REPLACE_GETOPT): New macro, was called
26671         gl_GETOPT_SUBSTITUTE before.
26672         (gl_GETOPT): Use it.
26673         * m4/argp.m4 (gl_ARGP): Update.
26674         Reported by Sergey Poznyakoff.
26675
26676         * m4/getopt.m4: Reorder macros.
26677         (gl_GETOPT): Inline gl_GETOPT_SUBSTITUTE.
26678         (gl_GETOPT_SUBSTITUTE): Remove macro.
26679
26680 2009-08-12  Sergey Poznyakoff  <gray@gnu.org.ua>
26681
26682         Minor improvement in gitlog-to-changelog
26683
26684         * build-aux/gitlog-to-changelog: New option `--format' makes
26685         output format string configurable.
26686
26687 2009-08-12  Sergey Poznyakoff  <gray@gnu.org.ua>
26688
26689         Optimize exclude: use hash tables for non-wildcard patterns.
26690
26691         * lib/exclude.c: Include hash.h and mbuiter.h
26692         (struct exclude_pattern, exclude_segment): New data types.
26693         (struct exclude): Rewrite.
26694         (fnmatch_pattern_has_wildcards): New function.
26695         (new_exclude_segment, free_exclude_segment): New functions.
26696         (excluded_file_pattern_p, excluded_file_name_p): New functions.
26697         (excluded_file_name, add_exclude): Rewrite using new struct exclude.
26698         * lib/exclude.h (is_fnmatch_pattern): New prototype.
26699         * modules/exclude: Depend on hash and mbuiter.
26700
26701         * modules/exclude-tests: New file.
26702         * tests/test-exclude.c: New file.
26703         * tests/test-exclude1.sh: New file.
26704         * tests/test-exclude2.sh: New file.
26705         * tests/test-exclude3.sh: New file.
26706         * tests/test-exclude4.sh: New file.
26707         * tests/test-exclude5.sh: New file.
26708         * tests/test-exclude6.sh: New file.
26709         * tests/test-exclude7.sh: New file.
26710
26711 2009-08-12  Bruno Haible  <bruno@clisp.org>
26712
26713         Ensure that getopt() gets declared by <unistd.h>.
26714         * lib/unistd.in.h: Conditionally include getopt.h.
26715         * m4/getopt.m4 (gl_GETOPT_SUBSTITUTE): Require gl_UNISTD_H_DEFAULTS.
26716         Set GNULIB_UNISTD_H_GETOPT.
26717         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize
26718         GNULIB_UNISTD_H_GETOPT.
26719         * modules/unistd (Makefile.am): Substitute GNULIB_UNISTD_H_GETOPT.
26720
26721 2009-08-12  Bruno Haible  <bruno@clisp.org>
26722
26723         Clarify logic.
26724         * m4/getopt.m4 (gl_GETOPT_CHECK_HEADERS, gl_GETOPT_IFELSE): Use
26725         gl_replace_getopt instead of GETOPT_H.
26726
26727 2009-08-12  Bruno Haible  <bruno@clisp.org>
26728
26729         * m4/getopt.m4: Add comments.
26730
26731 2009-08-12  Bruno Haible  <bruno@clisp.org>
26732
26733         Disable multithread support by default on Cygwin 1.5.x.
26734         * m4/threadlib.m4 (gl_THREADLIB_EARLY_BODY): On Cygwin 1.5.x and older,
26735         set gl_use_threads=no if not specified otherwise.
26736
26737 2009-08-11  Bruno Haible  <bruno@clisp.org>
26738
26739         Avoid compilation error on NetBSD 5.0.
26740         * tests/test-locale.c: Write sizeof (NULL) instead of sizeof NULL.
26741         * tests/test-stdio.c: Likewise.
26742         * tests/test-stdlib.c: Likewise.
26743         * tests/test-string.c: Likewise.
26744         * tests/test-unistd.c: Likewise.
26745         Reported by Greg Troxel <gdt@ir.bbn.com>
26746         at <https://savannah.gnu.org/support/?106973>.
26747
26748 2009-08-11  Bruno Haible  <bruno@clisp.org>
26749
26750         * modules/dup2-tests (Depends-on): Remove close.
26751
26752         Undo 2009-07-19 commit.
26753         * modules/acl-tests (Depends-on): Remove close.
26754         * modules/binary-io-tests (Depends-on): Likewise.
26755         * modules/closein-tests (Depends-on): Likewise.
26756         * modules/flock-tests (Depends-on): Likewise.
26757         * modules/fsync-tests (Depends-on): Likewise.
26758         * modules/lseek-tests (Depends-on): Likewise.
26759         * modules/pipe-tests (Depends-on): Likewise.
26760         * modules/posix_spawn-tests (Depends-on): Likewise.
26761         * modules/posix_spawnp-tests (Depends-on): Likewise.
26762         * modules/stat-time-tests (Depends-on): Likewise.
26763         * modules/yesno-tests (Depends-on): Likewise.
26764
26765 2009-08-10  Bruno Haible  <bruno@clisp.org>
26766
26767         * lib/vasnprintf.c (DCHAR_SET): Undefine at the end.
26768
26769 2009-08-10  Bruno Haible  <bruno@clisp.org>
26770
26771         Fix a gcc warning.
26772         * lib/write.c (rpl_write): Cast result of _get_osfhandle.
26773
26774 2009-08-10  Bruno Haible  <bruno@clisp.org>
26775
26776         Don't optimize AC_LIBOBJs, as they may appear in different contexts.
26777         * m4/close.m4 (gl_REPLACE_CLOSE): Execute AC_LIBOBJ unconditionally,
26778         not only the first time.
26779         * m4/fclose.m4 (gl_REPLACE_FCLOSE): Likewise.
26780         * m4/open.m4 (gl_REPLACE_OPEN): Likewise.
26781         * m4/strstr.m4 (gl_FUNC_STRSTR): Execute AC_LIBOBJ when REPLACE_STRSTR
26782         is 1, not only the the first time.
26783
26784 2009-08-10  Bruno Haible  <bruno@clisp.org>
26785
26786         Make it possible to use module 'gethostname' without module 'close'.
26787         * lib/unistd.in.h (close): Evoke a link error only if
26788         UNISTD_H_HAVE_WINSOCK2_H_AND_USE_SOCKETS is set.
26789         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize
26790         UNISTD_H_HAVE_WINSOCK2_H_AND_USE_SOCKETS.
26791         * modules/unistd (Makefile.am): Substitute
26792         UNISTD_H_HAVE_WINSOCK2_H_AND_USE_SOCKETS.
26793         * lib/sys_ioctl.in.h (ioctl): Evoke a link error only if
26794         SYS_IOCTL_H_HAVE_WINSOCK2_H_AND_USE_SOCKETS is set.
26795         * m4/sys_ioctl_h.m4 (gl_SYS_IOCTL_H_DEFAULTS): Initialize
26796         SYS_IOCTL_H_HAVE_WINSOCK2_H_AND_USE_SOCKETS.
26797         * modules/sys_ioctl (Makefile.am): Substitute
26798         SYS_IOCTL_H_HAVE_WINSOCK2_H_AND_USE_SOCKETS.
26799         * modules/socket (configure.ac): On native Windows, set
26800         UNISTD_H_HAVE_WINSOCK2_H_AND_USE_SOCKETS and
26801         SYS_IOCTL_H_HAVE_WINSOCK2_H_AND_USE_SOCKETS.
26802         Reported by Sam Steingold <sds@gnu.org>.
26803
26804 2009-08-10  Bruno Haible  <bruno@clisp.org>
26805
26806         * m4/close.m4 (gl_FUNC_CLOSE): Add comment.
26807         * modules/ioctl (configure.ac): Likewise.
26808
26809 2009-08-10  Bruno Haible  <bruno@clisp.org>
26810
26811         Avoid collision between gnulib wrapper and libintl wrapper.
26812         * lib/stdio-write.c (printf): Don't define if a printf wrapper is
26813         already defined in intl/printf.c.
26814         (vprintf): Test REPLACE_VPRINTF_POSIX, not REPLACE_VFPRINTF_POSIX.
26815         (vfprintf): Test REPLACE_VFPRINTF_POSIX, not REPLACE_VPRINTF_POSIX.
26816
26817 2009-08-09  Bruno Haible  <bruno@clisp.org>
26818
26819         Make <sys/select.h> really self-contained, also on Solaris 10.
26820         * lib/sys_select.in.h: Include <string.h>.
26821         * m4/sys_select_h.m4 (gl_HEADER_SYS_SELECT): Test also against
26822         Solaris 10 problem.
26823         * tests/test-sys_select.c (main): Add check that FD_ZERO can be used.
26824         * doc/posix-headers/sys_select.texi: Mention the Solaris 10 problem.
26825         Reported by Jim Meyering.
26826
26827 2009-08-09  Bruno Haible  <bruno@clisp.org>
26828
26829         Avoid warnings from 'aclocal' that are due to a use of macro name
26830         AM_XGETTEXT_OPTION that is not defined in automake.
26831         * modules/argp (configure.ac): Hide use of AM_XGETTEXT_OPTION from
26832         automake.
26833         * modules/error (configure.ac): Likewise.
26834         * modules/propername (configure.ac): Likewise.
26835         * modules/vasprintf (configure.ac): Likewise.
26836         * modules/verror (configure.ac): Likewise.
26837         * modules/xprintf (configure.ac): Likewise.
26838         * modules/xvasprintf (configure.ac): Likewise.
26839
26840 2009-08-08  Bruno Haible  <bruno@clisp.org>
26841
26842         Avoid compilation error in C++ mode.
26843         * lib/gettimeofday.c (rpl_gettimeofday): Cast timezone argument.
26844         Reported by Sam Steingold <sds@gnu.org>.
26845
26846 2009-08-08  Bruno Haible  <bruno@clisp.org>
26847
26848         * m4/gethostname.m4 (gl_FUNC_GETHOSTNAME): Define HOST_NAME_MAX also
26849         for the various Unix platforms.
26850         * doc/posix-headers/limits.texi: Update platforms list regarding
26851         HOST_NAME_MAX.
26852         Reported by Tom G. Christensen <tgc@jupiterrise.com>.
26853
26854 2009-08-07  Jim Meyering  <meyering@redhat.com>
26855
26856         selinux-at: fix typo in a comment
26857         * lib/selinux-at.h: s/getfileconat/getfilecon/ in a comment.
26858         Spotted by Paolo Bonzini.
26859
26860         selinux-at: remove redundant m4 code, add documentation
26861         * modules/selinux-at (configure.ac): Remove redundant code.
26862         LIB_SELINUX is already set via the dependent module, selinux-h.
26863         (Include): Add quotes around selinux-at.h.
26864         * lib/selinux-at.h: Add documentation.
26865         Reported by Bruno Haible in
26866         http://marc.info/?l=gnulib-bug&m=124958988300749
26867
26868 2009-08-07  Bruno Haible  <bruno@clisp.org>
26869
26870         Avoid link error on MacOS X 10.3 and 10.4.
26871         * lib/argp-ba.c (argp_program_bug_address): Explicitly zero-initialize
26872         on non-ELF systems.
26873         * lib/argp-pv.c (argp_program_version): Likewise.
26874         Reported by Simon Josefsson.
26875
26876 2009-08-07  Simon Josefsson  <simon@josefsson.org>
26877
26878         * tests/test-version-etc.sh: Use $EXEEXT.
26879
26880 2009-08-06  Joel E. Denny  <jdenny@clemson.edu>
26881
26882         update-copyright: update documentation to point to maint.mk
26883         * build-aux/update-copyright: Here.
26884
26885 2009-08-06  Jim Meyering  <meyering@redhat.com>
26886
26887         maint.mk: support update-copyright-local
26888         * top/maint.mk (update-copyright-local): Define place-holder.
26889         (update-copyright): Depend on $(update-copyright-local).
26890
26891 2009-08-06  Jim Meyering  <meyering@redhat.com>
26892
26893         selinux-at: new module
26894         Initially written for coreutils, this module will soon be
26895         used by findutils, too.
26896         * MODULES.html.sh [Misc]: Add selinux-at.
26897         * lib/selinux-at.h: New file, from coreutils.
26898         * lib/selinux-at.c: Likewise.
26899         * modules/selinux-at: Likewise.
26900         (License): Change from LGPL to GPL, since it depends
26901         on the GPL'd openat module.
26902
26903         doc: update README
26904         * README: Remove references to cogito.
26905         Remove cvs-repo-updating instructions from 2007.
26906         Don't imply that CVS is better if you have limited disk space.
26907
26908 2009-08-05  Joel E. Denny  <jdenny@clemson.edu>
26909
26910         update-copyright: support C-style comments
26911         * build-aux/update-copyright: Implement and document.
26912         * tests/test-update-copyright.sh: Test.
26913
26914 2009-08-05  Joel E. Denny  <jdenny@clemson.edu>
26915
26916         update-copyright: support omitted "(C)"
26917         * build-aux/update-copyright: Implement and document.  Also,
26918         allow variable whitespace before "(C)".
26919         * tests/test-update-copyright.sh: Test.
26920
26921 2009-08-05  Joel E. Denny  <jdenny@clemson.edu>
26922
26923         update-copyright: don't trip on non-FSF copyright statements
26924         * build-aux/update-copyright: Fix so that the first correctly
26925         formatted FSF copyright statement is recognized no matter what
26926         appears before it.  Update documentation.
26927         * tests/test-update-copyright.sh: Test that.
26928
26929 2009-08-05  Joel E. Denny  <jdenny@clemson.edu>
26930
26931         update-copyright: clean up code a little
26932         * build-aux/update-copyright: Append "_re" to the name of any
26933         variable holding a regular expression.
26934         Replace "old" and "new" with "stmt" in variable names.
26935         Do not accept 2-digit UPDATE_COPYRIGHT_YEAR, which was not
26936         handled correctly.
26937         Format code more consistently.
26938
26939 2009-08-05  Joel E. Denny  <jdenny@clemson.edu>
26940
26941         update-copyright-tests: improve portability
26942         * tests/test-update-copyright.sh: Use cmp if diff cannot handle
26943         -u or /dev/null.  Suggested by Jim Meyering and Eric Blake.
26944
26945 2009-08-03  Joel E. Denny  <jdenny@clemson.edu>
26946
26947         update-copyright: support @copyright{} and &copy;
26948         * build-aux/update-copyright: Implement and document.
26949         * tests/test-update-copyright.sh: Test.
26950
26951 2009-08-04  Jim Meyering  <meyering@redhat.com>
26952
26953         update-copyright-tests: correctly test EOL=\r\n handling
26954         * tests/test-update-copyright.sh: Put \r at the end of some lines
26955         for the dos-eol tests.  Based on a patch by Joel E. Denny.
26956
26957         maint.mk: make update-copyright exclusion list more configurable
26958         * top/maint.mk (update-copyright): Default to excluding COPYING,
26959         but allow an override, in case someone does want to update that file.
26960
26961         maint.mk: don't update copyright date in COPYING
26962         * top/maint.mk (update-copyright): Exclude COPYING.
26963
26964         maint.mk: add a copyright-updating rule
26965         * top/maint.mk (update-copyright): New rule.
26966         Derived from coreutils/Makefile.am.
26967
26968         update-copyright: rename some variables
26969         * build-aux/update-copyright: Rename a few variables for clarity.
26970         Tweak syntax.  List Joel E. Denny as coauthor.
26971
26972 2009-08-03  Joel E. Denny  <jdenny@clemson.edu>
26973
26974         update-copyright: fix bug for 2-digit last year and add tests
26975         * build-aux/update-copyright: Fix bug.
26976         Use UPDATE_COPYRIGHT_YEAR from environment as current year if
26977         specified.
26978         * modules/update-copyright-tests: New
26979         * tests/test-update-copyright.sh: New.
26980
26981 2009-07-31  Joel E. Denny  <jdenny@clemson.edu>
26982
26983         update-copyright: handle leading tabs in line prefix
26984         * build-aux/update-copyright: Count leading tabs as 8 spaces
26985         when computing margin.  This helps with the formatting of
26986         ChangeLogs, for example.
26987         Fix documentation a little.
26988
26989 2009-07-31  Joel E. Denny  <jdenny@clemson.edu>
26990
26991         update-copyright: support EOL=\r\n
26992         * build-aux/update-copyright: Implement that.
26993
26994 2009-07-31  Joel E. Denny  <jdenny@clemson.edu>
26995
26996         update-copyright: automatically format copyright statements
26997         * build-aux/update-copyright: Implement that.
26998         Also, be a little more predictable and safer by always failing
26999         when the full copyright format is not perfectly recognized as an
27000         unbroken whole.  Discussed at
27001         <http://lists.gnu.org/archive/html/bug-gnulib/2009-07/msg00131.html>.
27002         Rewrite documentation.
27003
27004 2009-08-03  Bruno Haible  <bruno@clisp.org>
27005
27006         * m4/iconv.m4 (AM_ICONV): Fix displayed message with autoconf-2.64.
27007
27008 2009-08-02  Bruno Haible  <bruno@clisp.org>
27009
27010         Tests for module 'uname'.
27011         * modules/uname-tests: New file.
27012         * tests/test-uname.c: New file.
27013
27014         New module 'uname'.
27015         * lib/uname.c: New file.
27016         * m4/uname.m4: New file.
27017         * modules/uname: New file.
27018         * doc/posix-functions/uname.texi: Mention the new module.
27019
27020 2009-08-02  Bruno Haible  <bruno@clisp.org>
27021
27022         Tests for module 'sys_utsname'.
27023         * modules/sys_utsname-tests: New file.
27024         * tests/test-sys_utsname.c: New file.
27025
27026         New module 'sys_utsname'.
27027         * lib/sys_utsname.in.h: New file, based on glibc's <sys/utsname.h>.
27028         * m4/sys_utsname_h.m4: New file.
27029         * modules/sys_utsname: New file.
27030         * doc/posix-headers/sys_utsname.texi: Mention the new module.
27031
27032 2009-08-02  Bruno Haible  <bruno@clisp.org>
27033
27034         Implicitly initialize the sockets library.
27035         * lib/gethostname.c: Include sockets.h.
27036         (rpl_gethostname): Invoke gl_sockets_startup.
27037         * lib/socket.c: Include sockets.h.
27038         (rpl_socket): Invoke gl_sockets_startup.
27039         * modules/gethostname (Depends-on): Add sockets.
27040         * modules/socket (Depends-on): Likewise.
27041         * tests/test-poll.c: Don't include sockets.h.
27042         (main): Don't invoke gl_sockets_startup.
27043         * tests/test-select.c: Don't include sockets.h.
27044         (main): Don't invoke gl_sockets_startup.
27045
27046 2009-08-02  Bruno Haible  <bruno@clisp.org>
27047
27048         Allow multiple calls to gl_sockets_startup.
27049         * lib/sockets.c (initialized_sockets_version): New variable.
27050         (gl_sockets_startup): Do nothing if already called for this or a higher
27051         version.
27052         (gl_sockets_cleanup): Reset initialized_sockets_version.
27053
27054 2009-08-03  Simon Josefsson  <simon@josefsson.org>
27055
27056         * tests/test-argp-version-etc-1.sh: Use EXEEXT.  Don't fail on
27057         different project/version.
27058
27059 2009-08-02  Paolo Bonzini  <bonzini@gnu.org>
27060             Bruno Haible  <bruno@clisp.org>
27061
27062         Tests for module 'pipe-filter-gi'.
27063         * modules/pipe-filter-gi-tests: New file.
27064         * tests/test-pipe-filter-gi1.sh: New file.
27065         * tests/test-pipe-filter-gi1.c: New file.
27066         * tests/test-pipe-filter-gi2.sh: New file.
27067         * tests/test-pipe-filter-gi2-main.c: New file.
27068         * tests/test-pipe-filter-gi2-child.c: New file.
27069
27070         New module 'pipe-filter-gi'.
27071         * lib/pipe-filter-gi.c: New file.
27072         * modules/pipe-filter-gi: New file.
27073
27074 2009-08-02  Bruno Haible  <bruno@clisp.org>
27075             Paolo Bonzini  <bonzini@gnu.org>
27076
27077         Tests for module 'pipe-filter-ii'.
27078         * modules/pipe-filter-ii-tests: New file.
27079         * tests/test-pipe-filter-ii1.sh: New file.
27080         * tests/test-pipe-filter-ii1.c: New file.
27081         * tests/test-pipe-filter-ii2.sh: New file.
27082         * tests/test-pipe-filter-ii2-main.c: New file.
27083         * tests/test-pipe-filter-ii2-child.c: New file.
27084
27085         New module 'pipe-filter-ii'.
27086         * lib/pipe-filter.h: New file.
27087         * lib/pipe-filter-ii.c: New file.
27088         * lib/pipe-filter-aux.h: New file.
27089         * modules/pipe-filter-ii: New file.
27090
27091 2009-08-02  Simon Josefsson  <simon@josefsson.org>
27092
27093         * lib/gc-libgcrypt.c: Change copyright to FSF.
27094         * lib/gc-gnulib.c: Likewise.
27095
27096 2009-08-02  Martin Lambers  <marlam@marlam.de>  (tiny change)
27097
27098         * lib/gethostname.c: Include limits.h.
27099
27100 2009-08-02  Simon Josefsson  <simon@josefsson.org>
27101             Bruno Haible  <bruno@clisp.org>
27102
27103         Ensure HOST_NAME_MAX as part of the gethostname module.
27104         * m4/gethostname.m4 (gl_FUNC_GETHOSTNAME): On native Windows platforms,
27105         define also HOST_NAME_MAX.
27106         * tests/test-gethostname.c: Include <limits.h>.
27107         (main): Check also HOST_NAME_MAX.
27108         * doc/posix-headers/limits.texi: Document the mingw problem.
27109
27110 2009-08-02  Bruno Haible  <bruno@clisp.org>
27111
27112         * lib/gethostname.c (gethostname): Fix handling of large len argument.
27113         Add comments.
27114
27115 2009-03-31  Simon Josefsson  <simon@josefsson.org>
27116
27117         * lib/gethostname.c: Add Windows wrapper.
27118         * m4/gethostname.m4: Look for gethostname in -lws2_32.
27119         * modules/gethostname: Depend on sys_socket & errno, for also
27120         added lib/w32sock.h.  Add GETHOSTNAME_LIB link directive.
27121         * modules/gethostname-tests: Link to @GETHOSTNAME_LIB@.
27122
27123 2009-07-31  Jim Meyering  <meyering@redhat.com>
27124
27125         getloadavg: fix symbol name in comment
27126         * lib/getloadavg.c: Correct a typo I introduced when adding
27127         comments to Matt's change: s/NLIST_POINTER/N_NAME_POINTER/.
27128         Matt Kraai spotted the problem.
27129
27130 2009-07-29  Matt Kraai  <mkraai@beckman.com>
27131
27132         getloadavg: check whether n_name is a pointer, for QNX 6.4.1
27133         * lib/getloadavg.c (getloadavg): Use the strcpy-into-nlist.n_name
27134         code also if ! defined N_NAME_POINTER.
27135         * m4/getloadavg.m4 (gl_GETLOADAVG): Add a link-test for N_NAME_POINTER.
27136         This is required on QNX 6.4.1, where /usr/include/nlist.h exists,
27137         but the n_name member is a 12-byte array.
27138
27139 2009-07-29  Joel E. Denny  <jdenny@clemson.edu>
27140
27141         update-copyright: generalize comment handling
27142         * build-aux/update-copyright: Handle copyright statements
27143         within more comment styles.
27144         Document usage.
27145         Report any file with an external copyright holder or parse failure.
27146
27147 2009-07-29  Jim Meyering  <meyering@redhat.com>
27148
27149         mktime: correct setting of REPLACE_MKTIME
27150         * m4/mktime.m4 (gl_FUNC_MKTIME): Set REPLACE_MKTIME=0, when required.
27151
27152         update-copyright: new module
27153         * modules/update-copyright: New file.
27154         * build-aux/update-copyright: New file.
27155         * MODULES.html.sh (maint+release support): Add update-copyright.
27156
27157 2009-07-27  Bruno Haible  <bruno@clisp.org>
27158
27159         Fix compilation error when <ctime> is used and mktime is replaced.
27160         * lib/time.in.h (mktime): New declaration.
27161         * m4/mktime.m4 (gl_FUNC_MKTIME): Require gl_HEADER_TIME_H_DEFAULTS. Set
27162         REPLACE_MKTIME instead of defining mktime in config.h.
27163         * m4/time_h.m4 (gl_HEADER_TIME_H_DEFAULTS): Initialize REPLACE_MKTIME.
27164         * modules/time (Makefile.am): Substitute REPLACE_MKTIME.
27165         Reported by Ross McFarland <rwmcfa1@neces.com>.
27166
27167 2009-07-27  Bruno Haible  <bruno@clisp.org>
27168
27169         * lib/math.in.h (cosl, logl, sinl): Undefine before declaring it.
27170         Reported by Matt Kraai <mkraai@beckman.com>.
27171
27172 2009-07-25  Jim Meyering  <meyering@redhat.com>
27173
27174         maint.mk: avoid warnings about missing files
27175         * top/maint.mk (PREV_VERSION): Suppress stderr, to hide a
27176         diagnostic when .prev-version does not exist.
27177         (_cfg_mk): Define, so it can be empty when cfg.mk does not exist.
27178         (syntax-check-rules): Use $(_cfg_mk) to avoid a diagnostic about
27179         nonexistent cfg.mk.
27180         Suggestions from Simon Josefsson.
27181
27182 2009-07-25  Bruno Haible  <bruno@clisp.org>
27183
27184         * lib/math.in.h (cosl, logl, sinl): Don't declare if they are already
27185         defined as macros. Needed on QNX 6.4.1.
27186         Reported by Matt Kraai <mkraai@beckman.com>.
27187
27188 2009-07-23  Jim Meyering  <meyering@redhat.com>
27189
27190         maint.mk: invoke "make dist" with a working value of XZ_OPT
27191         * top/maint.mk (vc-dist): Use no "-" in the value of XZ_OPT.
27192
27193 2009-07-22  Matt Kraai  <mkraai@beckman.com>  (tiny change)
27194
27195         Make fseeko.c compile on QNX.
27196         * lib/fseeko.c (rpl_fseeko): Use the numerical value of _MWRITE.
27197
27198 2009-07-22  Peter Simons  <simons@cryp.to>
27199
27200         C++: wrap md2,md5,sha1,etc. function declarations in extern "C" scope
27201         * lib/md2.h [__cplusplus]: Wrap declarations in extern "C" scope.
27202         * lib/md4.h: Likewise.
27203         * lib/md5.h: Likewise.
27204         * lib/sha1.h: Likewise.
27205         * lib/sha256.h: Likewise.
27206         * lib/sha512.h: Likewise.
27207
27208         tests-sha1: don't assign literal string to 'char *' variable
27209         * tests/test-sha1.c (main): Declare locals with "const" to match
27210         attributes of the right hand side.
27211
27212 2009-07-21  Eric Blake  <ebb9@byu.net>
27213
27214         dup2: fix more mingw problems
27215         * lib/dup2.c (rpl_dup2) [_WIN32]: Avoid hanging when duplicating
27216         fd to itself.
27217         * doc/posix-functions/dup2.texi (dup2): Document the bug.
27218         * lib/unistd.in.h (dup2) [REPLACE_FCHDIR]: Avoid name collision.
27219         * lib/fchdir.c (dup2): Manage preprocessor macros correctly.
27220         (rpl_dup2_fchdir): Rename from rpl_dup2, and let dup2 module take
27221         care of mingw bugs.
27222
27223 2009-07-21  Jim Meyering  <meyering@redhat.com>
27224
27225         vc-list-files: avoid failure when /bin/sh is dash
27226         * build-aux/vc-list-files: Avoid a shell portability problem with dash.
27227         On some Debian based systems, /bin/sh is a symlink to dash, and running
27228         this command would omit the "/" following each 'tests' prefix:
27229           dash -x build-aux/vc-list-files -C . tests
27230         That is because bash and dash work differently:
27231           $ for i in bash dash; do $i -c 'a=odd; a=ok b=$a; echo '$i' $b'; done
27232           bash ok
27233           dash odd
27234
27235 2009-07-21  Eric Blake  <ebb9@byu.net>
27236
27237         dup2-tests: test previous patch
27238         * modules/dup2-tests: New file.
27239         * tests/test-dup2.c: Likewise.
27240         * tests/test-open.c (main): Avoid unspecified behavior.
27241         * tests/test-pipe.c (child_main): Use dup2 semantics to simplify
27242         test.
27243
27244         dup2: work around mingw and cygwin 1.5 bug
27245         * m4/dup2.m4 (gl_FUNC_DUP2): Detect mingw bug.
27246         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Add witness.
27247         * modules/unistd (Makefile.am): Substitute it.
27248         * lib/unistd.in.h (dup2): Declare the replacement.
27249         * lib/dup2.c (dup2) [REPLACE_DUP2]: Implement it.
27250         * doc/posix-functions/dup2.texi (dup2): Document the bugs.
27251         * lib/fchdir.c (rpl_dup2): Don't collide with mingw replacement.
27252         * modules/execute (Depends-on): Add dup2.
27253         * modules/fseterr (Depends-on): Likewise.
27254         * modules/pipe (Depends-on): Likewise.
27255         * modules/posix_spawn-internal (Depends-on): Likewise.
27256
27257 2009-07-21  Bruno Haible  <bruno@clisp.org>
27258
27259         * modules/.gitattributes: New file.
27260
27261 2009-07-20  Bruno Haible  <bruno@clisp.org>
27262
27263         * tests/test-pipe.c (BACKUP_STDERR_FILENO): New macro.
27264         (main): Use it.
27265
27266 2009-07-20  Eric Blake  <ebb9@byu.net>
27267
27268         test-pipe: make a bit more robust.
27269         * tests/test-pipe.c (myerr): Allow error messages regardless of
27270         what we do to stderr.
27271         (test_pipe): Rearrange to avoid deadlock.
27272         (child_main): Try a larger read, to ensure we avoided deadlock.
27273         * lib/pipe.c (create_pipe) [_WIN32]: Fix comment.
27274         * lib/pipe.h (create_pipe_bidi): Document potential for deadlock
27275         if misused.
27276
27277 2009-07-19  Jim Meyering  <meyering@redhat.com>
27278
27279         fts: avoid false-positive cycle-detection
27280         * lib/fts.c (fts_read): Reinitialize cycle-detection data structures
27281         for each new command line argument.
27282
27283 2009-07-19  Bruno Haible  <bruno@clisp.org>
27284
27285         Fix build error on mingw with the modules sys_select and unistd.
27286         * modules/acl-tests (Depends-on): Add close.
27287         * modules/binary-io-tests (Depends-on): Likewise.
27288         * modules/closein-tests (Depends-on): Likewise.
27289         * modules/flock-tests (Depends-on): Likewise.
27290         * modules/fsync-tests (Depends-on): Likewise.
27291         * modules/lseek-tests (Depends-on): Likewise.
27292         * modules/pipe-tests (Depends-on): Likewise.
27293         * modules/posix_spawn-tests (Depends-on): Likewise.
27294         * modules/posix_spawnp-tests (Depends-on): Likewise.
27295         * modules/stat-time-tests (Depends-on): Likewise.
27296         * modules/yesno-tests (Depends-on): Likewise.
27297
27298 2009-07-19  Bruno Haible  <bruno@clisp.org>
27299
27300         Unify conditionals.
27301         * lib/pipe.h: Detect native Win32 by looking at _WIN32 and __WIN32__
27302         macros, not at the compiler macros.
27303         * lib/pipe.c: Likewise.
27304         * lib/execute.c: Likewise.
27305         * lib/spawni.c: Likewise.
27306
27307 2009-07-19  Bruno Haible  <bruno@clisp.org>
27308
27309         Fix handling of closed stdin/stdout/stderr on mingw.
27310         * lib/w32spawn.h: Include unistd.h.
27311         (dup_noinherit): Return -1 if the old handle is invalid. Allocate new
27312         file descriptor with O_NOINHERIT flag.
27313         (fd_safer_noinherit): New function, based on fd-safer.c.
27314         (dup_safer_noinherit): New function, based on dup-safer.c.
27315         (undup_safer_noinherit): New function.
27316         * lib/execute.c (execute) [WIN32]: Use dup_safer_noinherit instead of
27317         dup_noinherit. Use undup_safer_noinherit instead of dup2 and close.
27318         * lib/pipe.c (create_pipe) [WIN32]: Likewise. Use fd_safer_noinherit
27319         instead of fd_safer.
27320         * tests/test-pipe.c: Include <windows.h>.
27321         (child_main) [WIN32]: Test the handle of STDERR_FILENO, not its close() result.
27322
27323         * tests/test-pipe.c (child_main, parent_main): New functions, extracted
27324         from main.
27325         (test_pipe): Pass an extra argument for disambiguation.
27326         (main): Invoke parent_main or child_main.
27327
27328         * tests/test-pipe.c (test_pipe): Pass slave_process = true argument
27329         consistently.
27330
27331 2009-07-18  Eric Blake  <ebb9@byu.net>
27332
27333         test-pipe: fix mingw build
27334         * tests/test-pipe.c (main): Avoid fcntl on mingw.
27335
27336 2009-07-18  Bruno Haible  <bruno@clisp.org>
27337
27338         * modules/pipe-tests (Makefile.am): Fix typo.
27339
27340 2009-07-18  Eric Blake  <ebb9@byu.net>
27341
27342         error: fix mingw build
27343         * lib/error.c (error, error_at_line): Avoid fcntl on mingw.
27344         Reported by Bruno Haible.
27345
27346         error: avoid undefined use of stdout
27347         * lib/error.c (error, error_at_line): Check that fd 1 is open
27348         before flushing stdout.  Avoids a crash on cygwin when libsigsegv
27349         is handling faults and the close_stdout module wants to report the
27350         detection of closed stdout as an error.
27351
27352 2009-07-17  Eric Blake  <ebb9@byu.net>
27353
27354         pipe: be robust in face of closed fds
27355         * lib/pipe.c (create_pipe): Closed standard descriptors in parent
27356         should cause child to misbehave.
27357         * modules/pipe-tests: New module.
27358         * tests/test-pipe.c: New file.
27359         * tests/test-pipe.sh: New file.
27360         Reported by Akim Demaille.
27361
27362 2009-07-14  Bruno Haible  <bruno@clisp.org>
27363
27364         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Guess it works on glibc systems.
27365         Reported by anonymous kc.
27366
27367 2009-07-07  Jim Meyering  <meyering@redhat.com>
27368
27369         maint.mk: don't look for translatable strings in *.m4 or *.mk
27370         * top/maint.mk (sc_po_check): Skip *.m4 and *.mk files,
27371         when searching for translatable strings.
27372
27373 2009-07-05  Jim Meyering  <meyering@redhat.com>
27374
27375         remove superfluous parentheses in STREQ definition
27376         * tests/test-argv-iter.c (STREQ): Remove redundant parentheses.
27377         * lib/getugroups.c (STREQ): Likewise.
27378         * lib/fnmatch.c (STREQ): Likewise.
27379         Spotted by Bruno Haible.
27380
27381 2009-07-04  Jim Meyering  <meyering@redhat.com>
27382
27383         argv-iter: new module
27384         * MODULES.html.sh: Add argv-iter.
27385         * lib/argv-iter.c, lib/argv-iter.h: New files.
27386         * modules/argv-iter: New file.
27387         * modules/argv-iter-tests: New file.
27388         * tests/test-argv-iter.c: Test it.
27389
27390 2009-07-04  Bruno Haible  <bruno@clisp.org>
27391
27392         Fix assertion.
27393         * lib/git-merge-changelog.c (compute_mapping): In the case where file1
27394         contains more exact copies of a given entry than file2, leave the extra
27395         copies unpaired rather than aborting.
27396         Reported by Eric Blake.
27397
27398 2009-07-02  Bruno Haible  <bruno@clisp.org>
27399
27400         Speedup git-merge-changelog for git cherry-pick.
27401         * lib/git-merge-changelog.c (struct entries_mapping): New type.
27402         (entries_mapping_get): New function, extracted from compute_mapping.
27403         (entries_mapping_reverse_get): New function.
27404         (compute_mapping): Add a 'full' argument. Return the result in a
27405         'struct entries_mapping'.
27406         (main): Update. Access the mappings through entries_mapping_get.
27407         Reported by Eric Blake.
27408
27409 2009-07-02  Bruno Haible  <bruno@clisp.org>
27410
27411         * lib/git-merge-changelog.c (compute_mapping): Fix determination of
27412         best_i.
27413
27414 2009-07-02  Bruno Haible  <bruno@clisp.org>
27415
27416         Speed up approximate search for matching ChangeLog entries.
27417         * lib/git-merge-changelog.c (entry_fstrcmp): Add a lower_bound
27418         argument. Call fstrcmp_bounded instead of fstrcmp.
27419         (compute_mapping, try_split_merged_entry, main): Update callers.
27420
27421 2009-07-02  Bruno Haible  <bruno@clisp.org>
27422
27423         * lib/git-merge-changelog.c (main): Add comment about git cherry-pick.
27424
27425 2009-06-30  Bruno Haible  <bruno@clisp.org>
27426
27427         Reduce the number of uc_is_cased calls.
27428         * lib/unicase.h (casing_suffix_context_t): Add
27429         'first_char_except_ignorable' field.
27430         * lib/unicase/context.h (SCC_FINAL_SIGMA_MASK): Remove macro.
27431         (SCC_MORE_ABOVE_MASK, SCC_BEFORE_DOT_MASK): Update.
27432         * lib/unicase/empty-suffix-context.c (unicase_empty_suffix_context):
27433         Update initializer.
27434         * lib/unicase/u-casemap.h (FUNC): Don't invoke uc_is_cased on
27435         case-ignorable characters.
27436         * lib/unicase/u-ct-totitle.h (FUNC): Likewise.
27437         * lib/unicase/u-suffix-context.h (FUNC2): Don't call uc_is_cased here.
27438         * modules/unicase/u8-suffix-context (Depends-on): Remove unicase/cased.
27439         * modules/unicase/u16-suffix-context (Depends-on): Likewise.
27440         * modules/unicase/u32-suffix-context (Depends-on): Likewise.
27441
27442 2009-06-30  Bruno Haible  <bruno@clisp.org>
27443
27444         Tests for module 'unicase/ignorable'.
27445         * modules/unicase/ignorable-tests: New file.
27446         * tests/unicase/test-ignorable.c: New file, generated by
27447         gen-uni-tables.
27448
27449         Tests for module 'unicase/cased'.
27450         * modules/unicase/cased-tests: New file.
27451         * tests/unicase/test-cased.c: New file, generated by gen-uni-tables.
27452         * tests/unicase/test-predicate-part1.h: New file, derived from
27453         tests/unictype/test-predicate-part1.h.
27454         * tests/unicase/test-predicate-part2.h: New file, same as
27455         tests/unictype/test-predicate-part2.h.
27456
27457         Fix evaluation of "Before C" condition of FINAL_SIGMA.
27458         * lib/gen-uni-tables.c (is_cased, is_case_ignorable): New functions.
27459         (output_casing_properties): New function.
27460         (main): Call it.
27461         * lib/unicase/cased.h: New file, generated by gen-uni-tables.
27462         * lib/unicase/cased.c: Include unictype/bitmap.h.
27463         (uc_is_cased): Define through a bitmap lookup.
27464         * lib/unicase/ignorable.h: New file, generated by gen-uni-tables.
27465         * lib/unicase/ignorable.c: Include unictype/bitmap.h.
27466         (uc_is_case_ignorable): Define through a bitmap lookup.
27467         * modules/unicase/cased (Files): Add lib/unicase/cased.h,
27468         lib/unictype/bitmap.h.
27469         (Depends-on): Add inline. Clean up.
27470         * modules/unicase/ignorable (Files): Add lib/unicase/ignorable.h,
27471         lib/unictype/bitmap.h.
27472         (Depends-on): Add inline. Clean up.
27473         * tests/unicase/test-u8-tolower.c (main): Add more tests of FINAL_SIGMA
27474         recognition.
27475         * tests/unicase/test-u16-tolower.c (main): Likewise.
27476         * tests/unicase/test-u32-tolower.c (main): Likewise.
27477
27478 2009-06-30  Bruno Haible  <bruno@clisp.org>
27479
27480         * lib/unicase/u8-casemap.c: Don't include uniwbrk.h.
27481         * lib/unicase/u16-casemap.c: Likewise.
27482         * lib/unicase/u32-casemap.c: Likewise.
27483
27484 2009-06-29  Bruno Haible  <bruno@clisp.org>
27485
27486         Define u32_casefold as a wrapper around u32_ct_casefold.
27487         * lib/unicase/u32-casefold.c: Update.
27488         * modules/unicase/u32-casefold (Depends-on): Add
27489         unicase/u32-ct-casefold, unicase/empty-prefix-context,
27490         unicase/empty-suffix-context. Clean up.
27491
27492         Define u16_casefold as a wrapper around u16_ct_casefold.
27493         * lib/unicase/u16-casefold.c: Update.
27494         * modules/unicase/u16-casefold (Depends-on): Add
27495         unicase/u16-ct-casefold, unicase/empty-prefix-context,
27496         unicase/empty-suffix-context. Clean up.
27497
27498         Define u8_casefold as a wrapper around u8_ct_casefold.
27499         * lib/unicase/u-casefold.h (FUNC): Delegate to U_CT_CASEFOLD.
27500         * lib/unicase/u8-casefold.c: Update.
27501         * modules/unicase/u8-casefold (Depends-on): Add unicase/u8-ct-casefold,
27502         unicase/empty-prefix-context, unicase/empty-suffix-context. Clean up.
27503
27504         Define u32_totitle as a wrapper around u32_ct_totitle.
27505         * lib/unicase/u32-totitle.c: Update.
27506         * modules/unicase/u32-totitle (Depends-on): Add unicase/u32-ct-totitle,
27507         unicase/empty-prefix-context, unicase/empty-suffix-context. Clean up.
27508
27509         Define u16_totitle as a wrapper around u16_ct_totitle.
27510         * lib/unicase/u16-totitle.c: Update.
27511         * modules/unicase/u16-totitle (Depends-on): Add unicase/u16-ct-totitle,
27512         unicase/empty-prefix-context, unicase/empty-suffix-context. Clean up.
27513
27514         Define u8_totitle as a wrapper around u8_ct_totitle.
27515         * lib/unicase/u-totitle.h (is_cased, is_case_ignorable): Remove
27516         functions.
27517         (FUNC): Delegate to U_CT_TOTITLE.
27518         * lib/unicase/u8-totitle.c: Update.
27519         * modules/unicase/u8-totitle (Depends-on): Add unicase/u8-ct-totitle,
27520         unicase/empty-prefix-context, unicase/empty-suffix-context. Clean up.
27521
27522         * lib/unicase/u32-tolower.c (u32_tolower): Update u32_casemap
27523         invocation.
27524         * modules/unicase/u32-tolower (Depends-on): Add
27525         unicase/empty-prefix-context, unicase/empty-suffix-context.
27526
27527         * lib/unicase/u16-tolower.c (u16_tolower): Update u16_casemap
27528         invocation.
27529         * modules/unicase/u16-tolower (Depends-on): Add
27530         unicase/empty-prefix-context, unicase/empty-suffix-context.
27531
27532         * lib/unicase/u8-tolower.c (u8_tolower): Update u8_casemap invocation.
27533         * modules/unicase/u8-tolower (Depends-on): Add
27534         unicase/empty-prefix-context, unicase/empty-suffix-context.
27535
27536         * lib/unicase/u32-toupper.c (u32_toupper): Update u32_casemap
27537         invocation.
27538         * modules/unicase/u32-toupper (Depends-on): Add
27539         unicase/empty-prefix-context, unicase/empty-suffix-context.
27540
27541         * lib/unicase/u16-toupper.c (u16_toupper): Update u16_casemap
27542         invocation.
27543         * modules/unicase/u16-toupper (Depends-on): Add
27544         unicase/empty-prefix-context, unicase/empty-suffix-context.
27545
27546         * lib/unicase/u8-toupper.c (u8_toupper): Update u8_casemap invocation.
27547         * modules/unicase/u8-toupper (Depends-on): Add
27548         unicase/empty-prefix-context, unicase/empty-suffix-context.
27549
27550         New module 'unicase/u32-ct-casefold'.
27551         * lib/unicase/u32-ct-casefold.c: New file.
27552         * modules/unicase/u32-ct-casefold: New file.
27553
27554         New module 'unicase/u16-ct-casefold'.
27555         * lib/unicase/u16-ct-casefold.c: New file.
27556         * modules/unicase/u16-ct-casefold: New file.
27557
27558         New module 'unicase/u8-ct-casefold'.
27559         * lib/unicase/u8-ct-casefold.c: New file.
27560         * lib/unicase/u-ct-casefold.h: New file, derived from
27561         lib/unicase/u-casefold.h.
27562         * modules/unicase/u8-ct-casefold: New file.
27563
27564         New module 'unicase/u32-ct-totitle'.
27565         * lib/unicase/u32-ct-totitle.c: New file.
27566         * modules/unicase/u32-ct-totitle: New file.
27567
27568         New module 'unicase/u16-ct-totitle'.
27569         * lib/unicase/u16-ct-totitle.c: New file.
27570         * modules/unicase/u16-ct-totitle: New file.
27571
27572         New module 'unicase/u8-ct-totitle'.
27573         * lib/unicase/u8-ct-totitle.c: New file.
27574         * lib/unicase/u-ct-totitle.h: New file, derived from
27575         lib/unicase/u-totitle.h.
27576         * modules/unicase/u8-ct-totitle: New file.
27577
27578         New module 'unicase/u32-ct-tolower'.
27579         * lib/unicase/u32-ct-tolower.c: New file.
27580         * modules/unicase/u32-ct-tolower: New file.
27581
27582         New module 'unicase/u16-ct-tolower'.
27583         * lib/unicase/u16-ct-tolower.c: New file.
27584         * modules/unicase/u16-ct-tolower: New file.
27585
27586         New module 'unicase/u8-ct-tolower'.
27587         * lib/unicase/u8-ct-tolower.c: New file.
27588         * modules/unicase/u8-ct-tolower: New file.
27589
27590         New module 'unicase/u32-ct-toupper'.
27591         * lib/unicase/u32-ct-toupper.c: New file.
27592         * modules/unicase/u32-ct-toupper: New file.
27593
27594         New module 'unicase/u16-ct-toupper'.
27595         * lib/unicase/u16-ct-toupper.c: New file.
27596         * modules/unicase/u16-ct-toupper: New file.
27597
27598         New module 'unicase/u8-ct-toupper'.
27599         * lib/unicase/u8-ct-toupper.c: New file.
27600         * modules/unicase/u8-ct-toupper: New file.
27601
27602         Add context arguments to u*_casemap functions.
27603         * lib/unicase/unicasemap.h: Include unicase.h.
27604         (u8_casemap, u16_casemap, u32_casemap): Add prefix_context and
27605         suffix_context arguments.
27606         * lib/unicase/u-casemap.h (is_cased, is_case_ignorable): Remove
27607         functions.
27608         (FUNC): Add prefix_context and suffix_context arguments. Use
27609         uc_is_cased and uc_is_case_ignorable.
27610         * lib/unicase/u8-casemap.c: Include caseprop.h and context.h.
27611         * lib/unicase/u16-casemap.c: Likewise.
27612         * lib/unicase/u32-casemap.c: Likewise.
27613         * modules/unicase/u8-casemap (Files): Add lib/unicase/context.h.
27614         (Depends-on): Add unicase/cased, unicase/ignorable. Clean up.
27615         * modules/unicase/u16-casemap (Files): Add lib/unicase/context.h.
27616         (Depends-on): Add unicase/cased, unicase/ignorable. Clean up.
27617         * modules/unicase/u32-casemap (Files): Add lib/unicase/context.h.
27618         (Depends-on): Add unicase/cased, unicase/ignorable. Clean up.
27619
27620         New module 'unicase/u32-suffix-context'.
27621         * lib/unicase/u32-suffix-context.c: New file.
27622         * modules/unicase/u32-suffix-context: New file.
27623
27624         New module 'unicase/u16-suffix-context'.
27625         * lib/unicase/u16-suffix-context.c: New file.
27626         * modules/unicase/u16-suffix-context: New file.
27627
27628         New module 'unicase/u8-suffix-context'.
27629         * lib/unicase/u8-suffix-context.c: New file.
27630         * lib/unicase/u-suffix-context.h: New file.
27631         * modules/unicase/u8-suffix-context: New file.
27632
27633         New module 'unicase/empty-suffix-context'.
27634         * lib/unicase/empty-suffix-context.c: New file.
27635         * modules/unicase/empty-suffix-context: New file.
27636
27637         New module 'unicase/u32-prefix-context'.
27638         * lib/unicase/u32-prefix-context.c: New file.
27639         * modules/unicase/u32-prefix-context: New file.
27640
27641         New module 'unicase/u16-prefix-context'.
27642         * lib/unicase/u16-prefix-context.c: New file.
27643         * modules/unicase/u16-prefix-context: New file.
27644
27645         New module 'unicase/u8-prefix-context'.
27646         * lib/unicase/u8-prefix-context.c: New file.
27647         * lib/unicase/u-prefix-context.h: New file.
27648         * lib/unicase/context.h: New file.
27649         * modules/unicase/u8-prefix-context: New file.
27650
27651         New module 'unicase/empty-prefix-context'.
27652         * lib/unicase/empty-prefix-context.c: New file.
27653         * modules/unicase/empty-prefix-context: New file.
27654
27655         New module 'unicase/ignorable'.
27656         * lib/unicase/ignorable.c: New file.
27657         * modules/unicase/ignorable: New file.
27658
27659         New module 'unicase/cased'.
27660         * lib/unicase/caseprop.h: New file.
27661         * lib/unicase/cased.c: New file.
27662         * modules/unicase/cased: New file.
27663
27664         New functions for case mapping of substrings.
27665         * lib/unicase.h (casing_prefix_context_t): New type.
27666         (unicase_empty_prefix_context): New variable.
27667         (u8_casing_prefix_context, u16_casing_prefix_context,
27668         u32_casing_prefix_context, u8_casing_prefixes_context,
27669         u16_casing_prefixes_context, u32_casing_prefixes_context): New
27670         declarations.
27671         (casing_suffix_context_t): New type.
27672         (unicase_empty_suffix_context): New variable.
27673         (u8_casing_suffix_context, u16_casing_suffix_context,
27674         u32_casing_suffix_context, u8_casing_suffixes_context,
27675         u16_casing_suffixes_context, u32_casing_suffixes_context,
27676         u8_ct_toupper, u16_ct_toupper, u32_ct_toupper, u8_ct_tolower,
27677         u16_ct_tolower, u32_ct_tolower, u8_ct_totitle, u16_ct_totitle,
27678         u32_ct_totitle, u8_ct_casefold, u16_ct_casefold, u32_ct_casefold): New
27679         declarations.
27680
27681 2009-06-28  Jim Meyering  <meyering@redhat.com>
27682
27683         boostrap: indent only with spaces
27684         * build-aux/bootstrap: Indent only with spaces, never TABs.
27685
27686         bootstrap: split long lines
27687         * build-aux/bootstrap: Keep line length < 80.
27688
27689         bootstrap: sync from coreutils
27690         * build-aux/bootstrap: Honor variables like $ACLOCAL, etc.,
27691         just as autoreconf does.  Verify a list of prerequisite
27692         package-name,version-number pairs if defined in bootstrap.conf.
27693         Refer to README-prereq, if prerequisites are not satisfied.
27694
27695 2009-06-27  Eric Blake  <ebb9@byu.net>
27696
27697         tests: add test for bogus NULL definition
27698         * tests/test-stdio.c: Ensure POSIX 2008 requirement on NULL.
27699         * tests/test-stdlib.c: Likewise.
27700         * tests/test-string.c: Likewise.
27701         * tests/test-locale.c: Likewise.
27702         * tests/test-unistd.c: Likewise.
27703         * modules/stdio-tests (Depends-on): Add verify.
27704         * modules/stdlib-tests (Depends-on): Likewise.
27705         * modules/string-tests (Depends-on): Likewise.
27706         * modules/locale-tests (Depends-on): Likewise.
27707         * modules/unistd-tests (Depends-on): Likewise.
27708
27709 2009-06-27  Paolo Bonzini  <bonzini@gnu.org>
27710
27711         * m4/selinux-context-h (gl_HEADERS_SELINUX_CONTEXT_H): Remove
27712         self-explaining comment.
27713         * m4/selinux-selinux-h: Update serial.
27714         (gl_LIBSELINUX): New macro, adding a warning for missing development
27715         packages to code extracted from...
27716         (gl_HEADERS_SELINUX_SELINUX_H): ... this one.  Require gl_LIBSELINUX.
27717         Add warning for missing development packages here, too.
27718
27719 2009-06-26  Paolo Bonzini  <bonzini@gnu.org>
27720
27721         * build-aux/bootstrap: Do not use GIT_CONFIG_LOCAL.
27722
27723 2009-06-25  Eric Blake  <ebb9@byu.net>
27724
27725         version-etc: fix regression
27726         * lib/version-etc.h (ATTRIBUTE_SENTINEL): Define for new enough
27727         gcc.
27728         (version_etc): Use it, to catch bugs with trailing NULL.
27729         * lib/version-etc.c (version_etc_arn): Delete unused argument.
27730         (version_etc_va): Fix logic bug.
27731         * modules/version-etc-tests: Add test.
27732         * tests/test-version-etc.c: New file.
27733         * tests/test-version-etc.sh: Likewise.
27734
27735 2009-06-25  Sam Steingold  <sds@gnu.org>
27736
27737         * mbrtowc.m4 (gl_MBRTOWC_SANITYCHECK): Include <stdlib.h>, for the
27738         mbtowc declaration.
27739
27740 2009-06-25  Eric Blake  <ebb9@byu.net>
27741
27742         fpurge: migrate into <stdio.h>
27743         * lib/fpurge.h: Delete...
27744         * lib/stdio.in.h (fpurge): ...and declare here, instead.
27745         * lib/fpurge.c (fpurge): Change declaring header.
27746         * modules/fpurge (Files): Drop deleted file.
27747         (Depends-on): Add stdio.
27748         (configure.ac): Set witness.
27749         * modules/stdio (Makefile.am): Support fpurge macros.
27750         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Likewise.
27751         * m4/fpurge.m4 (gl_FUNC_FPURGE): Set appropriate variables.
27752         * lib/fflush.c: Update client.
27753         * tests/test-fpurge.c: Likewise.
27754         * NEWS: Mention the change.
27755
27756 2009-06-25  Sergey Poznyakoff  <gray@gnu.org.ua>
27757
27758         * lib/argp-version-etc.c (program_authors): Add const
27759         qualifier.
27760         * lib/version-etc.c: Fix typos in the comments.
27761         * modules/argp-version-etc: Depends on version-etc.
27762
27763 2009-06-25  Sergey Poznyakoff  <gray@gnu.org.ua>
27764
27765         argp-version-etc: new module.
27766
27767         * lib/argp-version-etc.c: New file.
27768         * lib/argp-version-etc.h: New file.
27769         * modules/argp-version-etc: New file.
27770         * modules/argp-version-etc-tests: New file.
27771         * tests/test-argp-version-etc.c: New test.
27772         * tests/test-argp-version-etc-1.sh: New test.
27773
27774 2009-06-25  Sergey Poznyakoff  <gray@gnu.org.ua>
27775
27776         Provide additional interfaces and documentation for version-etc
27777         module.
27778
27779         * lib/version-etc.c (version_etc_arn, version_etc_ar): New
27780         interfaces.
27781         * lib/version-etc.h (version_etc_arn, version_etc_ar): New
27782         prototypes.
27783
27784 2009-06-24  Bruno Haible  <bruno@clisp.org>
27785
27786         * m4/lib-link.m4 (AC_LIB_HAVE_LINKFLAGS): Fix description of
27787         HAVE_LIB${NAME} macro.
27788         Reported by Sam Steingold <sds@gnu.org>.
27789
27790 2009-06-23  Simon Josefsson  <simon@josefsson.org>
27791
27792         * modules/hash-tests (test_hash_LDADD): Link to libintl when
27793         needed.
27794
27795 2009-06-21  Bruno Haible  <bruno@clisp.org>
27796
27797         Make two consecutive identical invocations of AC_LIB_HAVE_LINKFLAGS
27798         work.
27799         * m4/lib-link.m4 (AC_LIB_LINKFLAGS_BODY): Reset HAVE_LIB${NAME}
27800         together with LIB${NAME}, LTLIB${NAME}.
27801         Reported by Sam Steingold <sds@gnu.org>.
27802
27803 2009-06-20  Jim Meyering  <meyering@redhat.com>
27804
27805         tests: make sc_require_test_exit_idiom more generic
27806         * top/maint.mk (Exit_witness_file): New overridable variable.
27807         (sc_require_test_exit_idiom): Don't hard-code tests/test-lib.sh.
27808         Relax test for /^Exit \$fail$$/ to just /^Exit ./.
27809
27810 2009-06-19  Jim Meyering  <meyering@redhat.com>
27811
27812         hash: reverse order of src/dst parameters in an internal interface
27813         * lib/hash.c (transfer_entries): Reverse order of parameters to
27814         put DST before SRC.  Adjust callers.
27815
27816         tests: test-hash: avoid wholesale duplication
27817         * tests/test-hash.c (main): Don't copy/paste a 60-line loop.
27818         Instead, use a loop and add a single conditional.
27819
27820         tests: test-hash: allow seed selection via a command line argument
27821         * tests/test-hash.c (get_seed): New function.
27822         (main): Use it.
27823
27824 2009-06-19  Eric Blake  <ebb9@byu.net>
27825
27826         hash: avoid memory leak on allocation failure
27827         * lib/hash.c: (hash_rehash): Avoid memory leak on allocation
27828         failure.  Factor repeated algorithm...
27829         (transfer_entries): ...into new helper routine.
27830         (hash_delete): React to hash_rehash return value.
27831
27832         hash: reduce memory pressure in hash_rehash no-op case
27833         * lib/hash.c (next_prime): Avoid overflow.
27834         (hash_initialize): Factor bucket size computation...
27835         (compute_bucket_size): ...into new helper function.
27836         (hash_rehash): Use new function and open coding to reduce memory
27837         pressure, and avoid a memory leak in USE_OBSTACK code.
27838         Reported by Jim Meyering.
27839
27840 2009-06-18  Eric Blake  <ebb9@byu.net>
27841
27842         hash: make rotation more obvious
27843         * modules/hash (Depends-on): Add bitrotate and stdint.
27844         * lib/bitrotate.h (rotl_sz, rotr_sz): New functions.
27845         * lib/hash.c (headers): Drop limits.h.  Add stdint.h.
27846         (SIZE_MAX): Rely on headers for definition.
27847         (hash_string) [USE_DIFF_HASH]: Use rotl_sz.
27848         (raw_hasher): Use rotr_sz.
27849         Suggested by Jim Meyering.
27850
27851         hash: fix memory leak in last patch
27852         * lib/hash.c (hash_rehash): Avoid memory leak.
27853
27854         hash: avoid no-op rehashing
27855         * lib/hash.c (hash_rehash): Recognize useless rehash attempts.
27856
27857         hash: provide default callback functions
27858         * lib/hash.c (raw_hasher, raw_comparator): New functions.
27859         (hash_initialize): Use them as defaults.
27860         * tests/test-hash.c (main): Test this.
27861
27862         hash: minor optimization
27863         * lib/hash.c (hash_lookup, hash_find_entry): Avoid function call
27864         when possible.
27865         (hash_initialize): Document this promise.
27866         (hash_do_for_each, hash_clear, hash_free): Use C89 syntax.
27867         * tests/test-hash.c (hash_compare_strings): Test this.
27868
27869 2009-06-18  Bruno Haible  <bruno@clisp.org>
27870
27871         * m4/strstr.m4 (gl_FUNC_STRSTR): Skip linear time test if strstr is
27872         going to be replaced anyway.
27873
27874 2009-06-18  Bruno Haible  <bruno@clisp.org>
27875
27876         * m4/strcasestr.m4 (gl_FUNC_STRCASESTR_SIMPLE): Invoke AC_LIBOBJ only
27877         in one place.
27878         (gl_FUNC_STRCASESTR): Skip linear time test if strcasestr is going to
27879         be replaced anyway.
27880
27881 2009-06-18  Eric Blake  <ebb9@byu.net>
27882
27883         hash: check for resize before insertion
27884         * lib/hash.c (hash_insert): Check whether bucket usage exceeds
27885         threshold before insertion, so that a pathological hash_rehash
27886         that fills every bucket can still trigger another rehash.
27887
27888 2009-06-18  Jim Meyering  <meyering@redhat.com>
27889
27890         hash-tests: add a loop around the small tests
27891         * tests/test-hash.c (main): Repeat small tests with selected
27892         small initial table sizes.
27893
27894 2009-06-17  Eric Blake  <ebb9@byu.net>
27895
27896         hash: minor cleanups
27897         * lib/hash.h (hash_entry): Make opaque, by moving...
27898         * lib/hash.c (hash_entry): ...here.
27899         (hash_insert): Clarify restrictions on what can be inserted.
27900         (hash_get_next): Clarify when it is safe to remove an element
27901         during traversal.
27902         (check_tuning): Skip verification when tuning is known safe.
27903         (hash_initialize): Clarify restrictions on tuning.
27904
27905 2009-06-17  Jim Meyering  <jim@meyering.net>
27906         and Eric Blake  <ebb9@byu.net>
27907
27908         hash-tests: new module
27909         * modules/hash-tests: New file.
27910         * tests/test-hash.c: New file.
27911
27912 2009-06-17  Eric Blake  <ebb9@byu.net>
27913
27914         strstr-simple: document new module
27915         * MODULES.html.sh: Document new module.
27916
27917         strstr, strcasestr: replace on platforms with broken memchr
27918         * modules/strstr: Split into...
27919         * modules/strstr-simple: ...new module that does not care about
27920         performance, but does care about glibc bug.
27921         * m4/strstr.m4 (gl_FUNC_STRSTR): Split...
27922         (gl_FUNC_STRSTR_SIMPLE): ...into new macro, which replaces strstr
27923         if platform memchr is broken, per Debian bug 521737.
27924         * m4/strcasestr.m4 (gl_FUNC_STRCASESTR_SIMPLE): React to broken
27925         memchr.
27926         * m4/memchr.m4 (gl_FUNC_MEMCHR): Only expand once.
27927         * doc/posix-functions/strstr.texi (strstr): Document the fix.
27928         * doc/glibc-functions/strcasestr.texi (strcasestr): Likewise.
27929         * modules/mountlist (Depends-on): Add strstr-simple.
27930         * modules/gen-uni-tables (Depends-on): Likewise.
27931         * modules/argz (Depends-on): Add strstr.
27932
27933 2009-06-17  Bruno Haible  <bruno@clisp.org>
27934
27935         * modules/posix_spawn-internal (Depends-on): Add errno.
27936
27937 2009-06-17  Bruno Haible  <bruno@clisp.org>
27938
27939         Define missing ESTALE on Interix 3.5.
27940         * lib/errno.in.h (ESTALE): Assign a value if missing.
27941         * lib/strerror.c (rpl_strerror): Handle missing ESTALE and ECANCELED.
27942         * m4/errno_h.m4 (gl_HEADER_ERRNO_H): Also test whether ESTALE is
27943         missing.
27944         * doc/posix-headers/errno.texi: Mention the Interix bug.
27945         Reported by Jay Krell <jay.krell@cornell.edu> via Eric Blake.
27946
27947 2009-06-15  Eric Blake  <ebb9@byu.net>
27948
27949         memchr, memchr2: add valgrind exception
27950         * lib/memchr.valgrind: New file.
27951         * lib/memchr2.valgrind: New file.
27952         * modules/memchr (Files): Distribute valgrind file.
27953         * modules/memchr2 (Files): Likewise.
27954
27955         docs: memchr is no longer obsolete
27956         * MODULES.html.sh: Move memchr from obsolete to string.h section.
27957         * lib/string.in.h (memchr): Simplify logic.
27958
27959 2009-06-14  Jim Meyering  <meyering@redhat.com>
27960
27961         link-follow: fix the "checking..." message to not mention trailing slash
27962         * m4/link-follow.m4 (gl_AC_FUNC_LINK_FOLLOWS_SYMLINK): This test has
27963         never considered trailing slashes.
27964
27965 2009-06-14  Bruno Haible  <bruno@clisp.org>
27966
27967         * m4/memchr.m4: Mention also the bug on IA-64.
27968         * doc/posix-functions/memchr.texi: Likewise.
27969
27970 2009-06-12  Eric Blake  <ebb9@byu.net>
27971
27972         memchr: detect broken x86_64 and alpha implementations
27973         * modules/memchr-tests (Depends-on): Move mmap detection...
27974         * modules/memchr (Depends-on): ...here.
27975         (configure.ac): Set indicator.
27976         * lib/string.in.h (memchr): Declare replacement.
27977         * modules/string (Makefile.am): Trigger replacement.
27978         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Likewise.
27979         * m4/memchr.m4 (gl_FUNC_MEMCHR): Use mmap to detect platform
27980         bugs.
27981         * doc/posix-functions/memchr.texi (memchr): Document the bug.
27982         * modules/getpagesize (License): Relax license.
27983
27984 2009-06-11  Bruno Haible  <bruno@clisp.org>
27985
27986         * lib/idpriv.h: Add more references.
27987
27988 2009-06-08  Bruno Haible  <bruno@clisp.org>
27989
27990         Tests for module 'idpriv-droptemp'.
27991         * modules/idpriv-droptemp-tests: New file.
27992         * tests/test-idpriv-droptemp.sh: New file.
27993         * tests/test-idpriv-droptemp.su.sh: New file.
27994         * tests/test-idpriv-droptemp.c: New file.
27995
27996         New module 'idpriv-droptemp'.
27997         * lib/idpriv-droptemp.c: New file.
27998         * modules/idpriv-droptemp: New file.
27999
28000 2009-06-08  Bruno Haible  <bruno@clisp.org>
28001
28002         Tests for module 'idpriv-drop'.
28003         * modules/idpriv-drop-tests: New file.
28004         * tests/test-idpriv-drop.sh: New file.
28005         * tests/test-idpriv-drop.su.sh: New file.
28006         * tests/test-idpriv-drop.c: New file.
28007
28008         New module 'idpriv-drop'.
28009         * lib/idpriv.h: New file.
28010         * lib-idpriv-drop.c: New file.
28011         * m4/idpriv.m4: New file.
28012         * modules/idpriv-drop: New file.
28013
28014 2009-06-08  Bruno Haible  <bruno@clisp.org>
28015
28016         * modules/unistdio/u8-vasnprintf (Depends-on): Add memchr.
28017         * modules/unistdio/u8-u8-vasnprintf (Depends-on): Likewise.
28018         * modules/unistdio/u16-vasnprintf (Depends-on): Likewise.
28019         * modules/unistdio/u16-u16-vasnprintf (Depends-on): Likewise.
28020         * modules/unistdio/u32-vasnprintf (Depends-on): Likewise.
28021         * modules/unistdio/u32-u32-vasnprintf (Depends-on): Likewise.
28022         * modules/unistdio/ulc-vasnprintf (Depends-on): Likewise.
28023
28024 2009-06-08  Eric Blake  <ebb9@byu.net>
28025
28026         test-strstr: use memory fence, when possible
28027         * tests/test-strstr.c (main): Use memory fence, in order to be
28028         more likely to trigger Debian bug 521737.
28029         * modules/strstr-tests (Files): Pull in additional files.
28030
28031         memchr: no longer obsolete, for wider field testing
28032         * modules/memchr (Status, Notice): Delete, this module is no
28033         longer obsolete.
28034         * modules/vasnprintf (Depends-on): Add memchr.
28035
28036 2009-06-07  Jim Meyering  <meyering@redhat.com>
28037
28038         hash: declare some functions with the warn_unused_result attribute
28039         * lib/hash.h (__attribute__, ATTRIBUTE_WUR): Define.
28040
28041 2009-06-07  Bruno Haible  <bruno@clisp.org>
28042
28043         * tests/test-alignof.c: Don't test int64_t if it does not exist.
28044         Reported by Eric Blake.
28045
28046 2009-06-06  Eric Blake  <ebb9@byu.net>
28047
28048         test-alignof: fix typo with long double
28049         * tests/test-alignof.c (CHECK): Use longdouble typedef to avoid
28050         compiler error.
28051
28052 2009-06-06  Neil Jerram  <neil@ossau.uklinux.net>  (tiny change)
28053
28054         Escape non-texinfo { and }s.
28055         * doc/ld-output-def.texi (Visual Studio Compatibility): Fix
28056         markup error.
28057
28058 2009-06-04  Jim Meyering  <meyering@redhat.com>
28059
28060         gitlog-to-changelog: don't infloop on an empty commit log
28061         * build-aux/gitlog-to-changelog: Warn about an empty log message.
28062         Reported by Boris Petersen <transacid@centerim.org>.
28063
28064 2009-06-03  Mike Frysinger  <vapier@gentoo.org>
28065
28066         version-etc: extend for packagers
28067         Add three new configure options, intended for packagers:
28068           --with-packager="packager name"
28069           --with-packager-version="packager-specific version"
28070           --with-packager-bug-reports="packager bug reporting"
28071         An example with coreutils:
28072           $ ./configure \
28073             --with-packager=Gentoo \
28074             --with-packager-bug-report=http://bugs.gentoo.org/ \
28075             --with-packager-version="patchset 1.6"
28076           $ ./src/ls --version | head -n2
28077           ls (GNU coreutils) 7.1-dirty
28078           Packaged by Gentoo (patchset 1.6)
28079         Note that the bug reporting info via --help doesn't show up because
28080         coreutils uses its own custom emit_bug_reporting_address() implementation
28081         in src/system.h.  If it didn't, it'd look like:
28082           $ ./src/ls --help | tail -n4
28083           Report bugs to <bug-coreutils@gnu.org>.
28084           Report Gentoo bugs to <http://bugs.gentoo.org/>.
28085           GNU coreutils home page: <http://www.gnu.org/software/coreutils/>.
28086           General help using GNU software: <http://www.gnu.org/gethelp/>.
28087         * lib/version-etc.c: Print new information, if provided.
28088         * m4/version-etc.m4: New file.
28089         * modules/version-etc (Files): Add m4/version-etc.m4.
28090         (configure.ac): Add gl_VERSION_ETC.
28091
28092 2009-05-31  Bruno Haible  <bruno@clisp.org>
28093
28094         * tests/test-alignof.c: Include <stdint.h>. Check also 'long double'
28095         and 'int64_t'.
28096         * modules/alignof-tests (Dependencies): Add stdint.
28097         Reported by Eric Blake.
28098
28099 2009-05-31  Bruno Haible  <bruno@clisp.org>
28100
28101         * lib/alignof.h (alignof_slot, alignof_type, alignof): Document
28102         restriction due to compiler bugs.
28103         Reported by Eric Blake.
28104
28105 2009-05-31  Simon Josefsson  <simon@josefsson.org>
28106             Bruno Haible  <bruno@clisp.org>
28107
28108         Fix test-alignof failure.
28109         * lib/alignof.h (alignof_slot): New macro.
28110         (alignof_type): New macro, with the same semantics as the previous
28111         'alignof'.
28112         (alignof): Alias to alignof_slot.
28113         * tests/test-alignof.c (CHECK): Check alignof_slot, not alignof. Also
28114         check that the results are usable as constant expressions.
28115
28116 2009-05-31  Bruno Haible  <bruno@clisp.org>
28117
28118         * tests/zerosize-ptr.h (zerosize_ptr): Specify more details.
28119         * tests/test-memchr.c (main): Check that memchr does not read past the
28120         first occurrence of the byte.
28121         * tests/test-strstr.c (main): Update comment.
28122         Suggested by Eric Blake.
28123
28124 2009-05-30  Bruno Haible  <bruno@clisp.org>
28125
28126         * doc/ld-output-def.texi (Visual Studio Compatibility): Explain in more
28127         detail how to use dumpbin.
28128         Reported by David Byron <dbyron@dbyron.com>.
28129
28130 2009-06-02  Simon Josefsson  <simon@josefsson.org>
28131
28132         * tests/test-parse-duration.sh: Don't use non-portable 'read -u3'.
28133
28134 2009-06-02  Simon Josefsson  <simon@josefsson.org>
28135
28136         * m4/manywarnings.m4: Add GCC 4.4 warnings.
28137
28138 2009-05-28  Bruno Haible  <bruno@clisp.org>
28139
28140         * gnulib-tool (func_import): Don't do HAVE_CONFIG_H replacements on
28141         build-aux/ files.
28142
28143 2009-05-28  Simon Josefsson  <simon@josefsson.org>
28144
28145         * gnulib-tool (func_import): Transform license on build-aux/ files too.
28146
28147 2009-05-27  Simon Josefsson  <simon@josefsson.org>
28148
28149         * gnulib-tool (sed_transform_main_lib_file)
28150         (sed_transform_testsrelated_lib_file): : Don't use non-POSIX
28151         regexps.
28152
28153 2009-05-26  Simon Josefsson  <simon@josefsson.org>
28154
28155         * tests/test-strstr.c: Add another self-test.
28156         * tests/test-strstr.c: Rewrite to use malloc/strcpy instead of
28157         strdup.  Suggested by Eric Blake  <ebb9@byu.net>.
28158
28159 2009-05-23  Bruno Haible  <bruno@clisp.org>
28160
28161         * doc/havelib.texi (AC_LIB_HAVE_LINKFLAGS): Update for 2009-04-26
28162         change.
28163
28164 2009-05-21  Bruno Haible  <bruno@clisp.org>
28165
28166         Simplify use of mode_t varargs.
28167         * lib/open.c (open): Use PROMOTED_MODE_T instead of a conditional that
28168         uses 'mode_t' or 'int'.
28169         * lib/openat.c (openat): Likewise.
28170         * lib/open-safer.c (open_safer): Likewise.
28171         * m4/mode_t.m4: New file.
28172         * m4/open.m4 (gl_PREREQ_OPEN): Require gl_PROMOTED_TYPE_MODE_T.
28173         * m4/openat.m4 (gl_PREREQ_OPENAT): Likewise.
28174         * m4/fcntl-safer.m4 (gl_FCNTL_SAFER): Likewise.
28175         * modules/open (Files): Add m4/mode_t.m4.
28176         * modules/openat (Files): Likewise.
28177         * modules/fcntl-safer (Files): Likewise.
28178         Suggested by Eric Blake.
28179
28180 2009-05-21  Pádraig Brady  <P@draigbrady.com>
28181
28182         * doc/glibc-functions/fallocate.texi: New file.
28183         * doc/gnulib.texi: Include it.
28184
28185 2009-05-21  Eric Blake  <ebb9@byu.net>
28186             Bruno Haible  <bruno@clisp.org>
28187
28188         * m4/include_next.m4 (gl_CHECK_NEXT_HEADERS): Remove redundant m4_quote
28189         invocations.
28190         * m4/absolute-header.m4 (gl_ABSOLUTE_HEADER): Likewise.
28191
28192 2009-05-21  Eric Blake  <ebb9@byu.net>
28193             Bruno Haible  <bruno@clisp.org>
28194
28195         Second attempt to work around an AIX 5.3, 6.1 compiler bug with
28196         include_next. Fix of 2008-11-20 commit.
28197         * m4/include_next.m4 (gl_CHECK_NEXT_HEADERS): Also set
28198         NEXT_AS_FIRST_DIRECTIVE_FOO_H.
28199         * lib/math.in.h: Use NEXT_AS_FIRST_DIRECTIVE_MATH_H instead of
28200         NEXT_MATH_H.
28201         * modules/math (Makefile.am): Substitute NEXT_AS_FIRST_DIRECTIVE_MATH_H
28202         instead of NEXT_MATH_H.
28203
28204 2009-05-21  Bruno Haible  <bruno@clisp.org>
28205
28206         Avoid redefinition warnings for SIZE_MAX.
28207         * m4/size_max.m4 (gl_SIZE_MAX): Avoid redefining SIZE_MAX in config.h.
28208         Reported by Simon Josefsson.
28209
28210 2009-05-21  Bruno Haible  <bruno@clisp.org>
28211
28212         * m4/size_max.m4 (gl_SIZE_MAX): Use AC_CACHE_CHECK instead of
28213         AC_CACHE_VAL.
28214
28215 2009-05-20  Bruno Haible  <bruno@clisp.org>
28216
28217         Make zeroptr.h work on mingw.
28218         * tests/zerosize-ptr.h: Test for the presence of <sys/mman.h> and
28219         mprotect.
28220         * modules/memchr-tests (configure.ac): Also test for sys/mman.h.
28221         * modules/memchr2-tests (configure.ac): Likewise.
28222         * modules/memcmp-tests (configure.ac): Likewise.
28223         * modules/memmem-tests (configure.ac): Likewise.
28224         * modules/memrchr-tests (configure.ac): Likewise.
28225         Reported by Simon Josefsson.
28226
28227 2009-05-20  Simon Josefsson  <simon@josefsson.org>
28228
28229         * tests/test-glob.c: Include string.h for strcmp prototype.
28230
28231 2009-05-20  Simon Josefsson  <simon@josefsson.org>
28232
28233         * modules/getdelim (Depends-on): Add explicit stdint, although it
28234         was implicitly already pulled in via realloc-posix.
28235         * lib/getdelim.c: Get SIZE_MAX from stdint.h.
28236
28237 2009-05-20  Simon Josefsson  <simon@josefsson.org>
28238
28239         MinGW and IRIX does not have sa_family_t type.  Reported by "Tom
28240         G. Christensen" <tgc@jupiterrise.com>.
28241         * m4/sys_socket_h.m4: Check for sa_family_t.
28242         * lib/sys_socket.in.h: Typedef sa_family_t when needed.
28243         * modules/sys_socket: Substitute HAVE_SA_FAMILY_T.
28244         * tests/test-sys_socket.c: Check that sa_family_t works.
28245
28246 2009-05-18  Eric Blake  <ebb9@byu.net>
28247
28248         maint.mk: allow gnulib_dir in VPATH build
28249         * top/maint.mk (gnulib_dir): Make relative to $(srcdir).
28250
28251 2009-05-15  Jim Meyering  <meyering@redhat.com>
28252
28253         maint.mk: Give gnulib_dir a default definition.
28254         * top/maint.mk (gnulib_dir): Define to 'gnulib', by default.
28255         Thus, most packages no longer need to specify this variable in cfg.mk
28256
28257 2009-05-14  Tom Prince  <tom.prince@ualberta.net>  (tiny change)
28258
28259         rename.m4: fix typos that would make non-mingw cross-configure fail
28260         * m4/rename.m4 (gl_FUNC_RENAME): Fix typos.
28261
28262 2009-05-13  Eric Blake  <ebb9@byu.net>
28263
28264         mmap-anon: avoid out-of-order autoconf expansion
28265         * m4/mmap-anon.m4 (gl_FUNC_MMAP_ANON): Use correct
28266         SYSTEM_EXTENSIONS macro to silence warnings from autoconf 2.63b.
28267         * modules/memchr-tests (Depends-on): Add extensions.
28268         * modules/memchr2-tests (Depends-on): Add extensions.
28269         * modules/memcmp-tests (Depends-on): Add extensions.
28270         * modules/memmem-tests (Depends-on): Add extensions.
28271         * modules/memrchr-tests (Depends-on): Add extensions.
28272
28273 2009-05-13  Bruno Haible  <bruno@clisp.org>
28274
28275         Make some tests ISO C 99 compliant.
28276         * tests/zerosize-ptr.h: New file.
28277         * tests/test-memchr.c: Include zerosize-ptr.h.
28278         (main): Use a zero-size object pointer instead of NULL.
28279         * tests/test-memchr2.c: Include zerosize-ptr.h.
28280         (main): Use a zero-size object pointer instead of NULL.
28281         * tests/test-memcmp.c: Include zerosize-ptr.h.
28282         (main): Use a zero-size object pointer instead of NULL.
28283         * tests/test-memmem.c: Include zerosize-ptr.h.
28284         (main): Use a zero-size object pointer instead of NULL.
28285         * tests/test-memrchr.c: Include zerosize-ptr.h.
28286         (main): Use a zero-size object pointer instead of NULL.
28287         * modules/memchr-tests (Files): Add tests/zerosize-ptr.h,
28288         m4/mmap-anon.m4.
28289         (Depends-on): Add getpagesize.
28290         (configure.ac): Invoke gl_FUNC_MMAP_ANON. Check for mprotect.
28291         * modules/memchr2-tests (Files): Add tests/zerosize-ptr.h,
28292         m4/mmap-anon.m4.
28293         (Depends-on): Add getpagesize.
28294         (configure.ac): Invoke gl_FUNC_MMAP_ANON. Check for mprotect.
28295         * modules/memcmp-tests (Files): Add tests/zerosize-ptr.h,
28296         m4/mmap-anon.m4.
28297         (Depends-on): Add getpagesize.
28298         (configure.ac): Invoke gl_FUNC_MMAP_ANON. Check for mprotect.
28299         * modules/memmem-tests (Files): Add tests/zerosize-ptr.h,
28300         m4/mmap-anon.m4.
28301         (Depends-on): Add getpagesize.
28302         (configure.ac): Invoke gl_FUNC_MMAP_ANON. Check for mprotect.
28303         * modules/memrchr-tests (Files): Add tests/zerosize-ptr.h,
28304         m4/mmap-anon.m4.
28305         (Depends-on): Add getpagesize.
28306         (configure.ac): Invoke gl_FUNC_MMAP_ANON. Check for mprotect.
28307
28308 2009-05-12  Bruno Haible  <bruno@clisp.org>
28309
28310         Tests for module 'alignof'.
28311         * modules/alignof-tests: New file.
28312         * tests/test-alignof.c: New file.
28313
28314 2009-05-12  Bruno Haible  <bruno@clisp.org>
28315
28316         Fix alignof macro.
28317         * lib/alignof.h (alignof): Remove special cases for AIX and HP-UX
28318         vendor compilers that are always correct.
28319
28320 2009-05-12  Bruno Haible  <bruno@clisp.org>
28321
28322         Make the MAP_ANONYMOUS detection work on HP-UX 11.
28323         * m4/mmap-anon.m4 (gl_FUNC_MMAP_ANON): Check whether mmap exists, but
28324         not whether its fully works.
28325
28326 2009-05-12  Bruno Haible  <bruno@clisp.org>
28327
28328         * m4/mmap-anon.m4 (gl_FUNC_MMAP_ANON): Add comments.
28329
28330 2009-05-12  Jim Meyering  <meyering@redhat.com>
28331
28332         * top/maint.mk: Adjust backslash alignment.
28333
28334 2009-05-11  Simon Josefsson  <simon@josefsson.org>
28335
28336         * top/maint.mk: Make $(srcdir)/build-aux configurable.
28337
28338 2009-05-11  Eric Blake  <ebb9@byu.net>
28339
28340         argp: avoid undefined behavior
28341         * lib/argp-fmtstream.c (weak_alias): Pass correct types to ctype
28342         macros.
28343
28344 2009-05-08  Simon Josefsson  <simon@josefsson.org>
28345
28346         * tests/test-vc-list-files-git.sh: Do git config of user.email and
28347         user.name to prevent git commit from complaining.
28348
28349 2009-05-10  Bruno Haible  <bruno@clisp.org>
28350
28351         * gnulib-tool (func_import, func_create_testdir, copy-file): Change
28352         sed_rewrite_old_files, sed_rewrite_new_files, sed_rewrite_files so that
28353         it rewrites every file name only once.
28354         Reported by Simon Josefsson. Helped by Ralf Wildenhues.
28355
28356 2009-05-08  Bruno Haible  <bruno@clisp.org>
28357
28358         * lib/sys_socket.in.h (_SS_PADSIZE): Use a conditional expression
28359         instead of 'max'.
28360
28361 2009-05-08  Simon Josefsson  <simon@josefsson.org>
28362
28363         * m4/sys_socket_h.m4: Test for ws2tcpip.h earlier, needed for
28364         sockaddr_storage test.
28365
28366 2009-05-07  Simon Josefsson  <simon@josefsson.org>
28367
28368         * modules/sys_socket (Makefile.am): Substitute
28369         HAVE_STRUCT_SOCKADDR_STORAGE.  Depend on alignof.
28370         * m4/sys_socket_h.m4: Check for sockaddr_storage.
28371         * lib/sys_socket.in.h (sockaddr_storage): Define when needed.
28372         * tests/test-sys_socket.c: Check sockaddr_storage.
28373
28374 2009-05-08  Bruno Haible  <bruno@clisp.org>
28375
28376         New module 'alignof'.
28377         * lib/alignof.h: New file.
28378         * modules/alignof: New file.
28379
28380 2009-05-04  David Bartley  <dtbartle@csclub.uwaterloo.ca>
28381             Bruno Haible  <bruno@clisp.org>
28382
28383         Fix test-file-has-acl on FreeBSD.
28384         * tests/test-file-has-acl.sh: Also test a directory. On FreeBSD, the
28385         mask is implicitly added.
28386         * tests/test-file-has-acl.c: Include <signal.h>.
28387         (main): Terminate the test after 5 seconds.
28388         * modules/acl-tests (configure.ac): Check for alarm function.
28389
28390 2009-05-04  Bruno Haible  <bruno@clisp.org>
28391
28392         Exploit new semantics of AC_DEFUN_ONCE available since 2009-01-26.
28393         * m4/errno_h.m4 (gl_HEADER_ERRNO_H): Remove outdated comment.
28394         * modules/errno (configure.ac): Drop AC_REQUIRE.
28395         * m4/multiarch.m4 (gl_MULTIARCH): Remove outdated comment.
28396         * modules/multiarch (configure.ac): Drop AC_REQUIRE.
28397
28398 2009-05-04  Simon Josefsson  <simon@josefsson.org>
28399
28400         * modules/glob-tests: New module.
28401         * tests/test-glob.c: Add.
28402
28403 2009-05-04  Simon Josefsson  <simon@josefsson.org>
28404
28405         * modules/fnmatch-tests: New module.
28406         * tests/test-fnmatch.c: Add.
28407
28408 2009-05-04  Eric Blake  <ebb9@byu.net>
28409
28410         maint: make the new no-submodule-changes rule VPATH-safe
28411         * top/maint.mk (no-submodule-changes): Don't assume a srcdir build.
28412
28413 2009-05-04  David Bartley  <dtbartle@csclub.uwaterloo.ca>
28414             Bruno Haible  <bruno@clisp.org>
28415
28416         acl: Fix infinite loop on FreeBSD.
28417         * lib/acl_entries.c (acl_entries) [Linux, FreeBSD]: Fix interpretation
28418         of return value from acl_get_entry.
28419         * lib/file-has-acl.c (acl_access_nontrivial) [Linux, FreeBSD]:
28420         Likewise.
28421
28422 2009-05-03  Bruno Haible  <bruno@clisp.org>
28423
28424         * lib/acl-internal.h (acl_entries): Clarify return value.
28425         * lib/acl_entries.c (acl_entries): Likewise.
28426
28427 2009-05-04  David Bartley  <dtbartle@csclub.uwaterloo.ca>
28428
28429         Bug fix in acl module.
28430         * lib/set-mode-acl.c: Use correct struct with ACL_SETACL.
28431
28432 2009-05-03  Bruno Haible  <bruno@clisp.org>
28433
28434         Create gperf-generated file in the source dir, not in the build dir.
28435         * modules/iconv_open (iconv_open-aix.h, iconv_open-hpux.h,
28436         iconv_open-irix.h, iconv_open-osf.h): Create file in the source tree.
28437         * modules/unicase/locale-language (unicase/locale-languages.h):
28438         Likewise.
28439         * modules/unicase/special-casing (unicase/special-casing-table.h):
28440         Likewise.
28441         * modules/unictype/property-byname (unictype/pr_byname.h): Likewise.
28442         * modules/unictype/scripts (unictype/scripts_byname.h): Likewise.
28443         * modules/uninorm/composition (uninorm/composition-table.h): Likewise.
28444         Reported by Ralf Wildenhues.
28445
28446 2009-05-03  Bruno Haible  <bruno@clisp.org>
28447
28448         * modules/fnmatch (Description, configure.ac): Taken from
28449         fnmatch-posix.
28450         * modules/fnmatch-posix: Turn into a symbolic reference to the
28451         'fnmatch' module, and deprecate.
28452         * doc/posix-functions/fnmatch.texi: Mention the fnmatch module.
28453
28454 2009-05-03  Bruno Haible  <bruno@clisp.org>
28455
28456         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF,
28457         gl_PREREQ_VASNPRINTF_LONG_DOUBLE): Define through AC_DEFUN_ONCE.
28458         Reported by Ralf Wildenhues.
28459
28460 2009-05-04  Simon Josefsson  <simon@josefsson.org>
28461
28462         * m4/fnmatch.m4: Fix fnmatch re-define.
28463
28464 2009-04-27  David Bartley  <dtbartle@csclub.uwaterloo.ca>
28465
28466         priv-set: new module and tests; adapt write-any-file
28467         * lib/priv-set.c: New file.
28468         * lib/priv-set.h: New file.
28469         * lib/unlinkdir.c: Make cannot_unlink_dir thread-safe.
28470         * lib/write-any-file.c: Simplify by using priv-set module.
28471         * m4/priv-set.m4: New file.
28472         * modules/priv-set: New file.
28473         * modules/unlinkdir: Add dependency on priv-set module.
28474         * modules/write-any-file: Likewise.
28475
28476         Tests for module 'priv-set'.
28477         * modules/priv-set-tests: New file.
28478         * tests/test-priv-set.c: New file.
28479
28480 2009-05-03  Jim Meyering  <meyering@redhat.com>
28481             Bruno Haible  <bruno@clisp.org>
28482
28483         * lib/propername.c (proper_name_utf8): Ignore no-op translations;
28484         use the converted UTF-8 variant of the name instead.
28485
28486 2009-05-03  Jim Meyering  <meyering@redhat.com>
28487
28488         tests: tighten some getdate tests
28489         * tests/test-getdate.c (main): Tighten tests: require equality,
28490         not just greater than.  Set TZ envvar to UTC0.
28491
28492 2009-05-03  Giuseppe Scrivano  <gscrivano@gnu.org>
28493
28494         getdate: correctly interpret "next monday" when run on a Monday
28495         * lib/getdate.y (get_date): Correct the calculation of tm_mday so
28496         that e.g., "next tues" (when run on a tuesday) results in a date
28497         that is one week in the future, and not today's date.
28498         I.e., add a week when the wday is the same as the current one.
28499         Reported by Tom Broadhurst in http://savannah.gnu.org/bugs/?25406,
28500         and earlier by Martin Bernreuther and Jan Minář.
28501         * tests/test-getdate.c (main): Check that "next DAY" is always in
28502         the future and that "last DAY" is always in the past.
28503
28504 2009-05-02  Jim Meyering  <meyering@redhat.com>
28505
28506         build: ensure that a release build fails when a submodule is unclean
28507         * top/maint.mk (no-submodule-changes): New rule.
28508         (alpha beta major): Depend on it.
28509
28510 2009-05-02  Bruno Haible  <bruno@clisp.org>
28511
28512         Remove incompatibility between modules fnmatch-posix and fnmatch-gnu.
28513         * m4/fnmatch.m4 (gl_FUNC_FNMATCH_POSIX, gl_FUNC_FNMATCH_GNU): Use a
28514         shell variable gl_fnmatch_required to detect which variant is
28515         requested.
28516         (_AC_FUNC_FNMATCH_IF, _AC_LIBOBJ_FNMATCH): Remove macros. Inlined into
28517         gl_FUNC_FNMATCH_POSIX.
28518         * gnulib-tool (func_create_testdir, func_create_megatestdir): Don't
28519         exclude fnmatch-posix.
28520
28521 2009-05-02  Bruno Haible  <bruno@clisp.org>
28522
28523         Relicense mbsrtowcs and strnlen1 under LGPLv2+.
28524         * modules/mbsrtowcs (License): Change to LGPLv2+.
28525         * modules/strnlen1 (License): Likewise.
28526         Reported by Simon Josefsson.
28527
28528 2009-05-02  Bruno Haible  <bruno@clisp.org>
28529
28530         * m4/fnmatch.m4 (_AC_FUNC_FNMATCH_IF): Say "guessing no" instead of
28531         "cross".
28532         (gl_FUNC_FNMATCH_POSIX, gl_FUNC_FNMATCH_GNU): Update. Don't assume that
28533         gnulib-tool was called with option --source-base=lib.
28534
28535 2009-05-02  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
28536
28537         Use automake *-local hooks without commands, for extensibility.
28538         * modules/localcharset (Makefile.am): Rename install-exec-local
28539         rule to install-exec-localcharset, and make it a prerequisite of
28540         install-exec-local.  Likewise, rename the uninstall-local rule to
28541         uninstall-localcharset, and make it a prerequisite of the former.
28542
28543 2009-05-01  Bruno Haible  <bruno@clisp.org>
28544
28545         * lib/wchar.in.h (wcsnrtombs): Define if REPLACE_WCSNRTOMBS is 1.
28546         * m4/wcsnrtombs.m4 (gl_FUNC_WCSRTOMBS): Invoke gl_MBSTATE_T_BROKEN, and
28547         set REPLACE_WCSNRTOMBS if mbstate_t must be replaced.
28548         * m4/wchar.m4 (gl_WCHAR_H_DEFAULTS): Initialize REPLACE_WCSNRTOMBS.
28549         * modules/wchar (Makefile.am): Substitute REPLACE_WCSNRTOMBS.
28550         * modules/wcsnrtombs (Files): Add m4/mbrtowc.m4, m4/locale-ja.m4,
28551         m4/locale-zh.m4, m4/codeset.m4.
28552
28553         * m4/wcsrtombs.m4 (gl_FUNC_WCSNRTOMBS): Invoke gl_MBSTATE_T_BROKEN, and
28554         set REPLACE_WCSRTOMBS if mbstate_t must be replaced.
28555         * modules/wcsrtombs (Files): Add m4/mbrtowc.m4, m4/locale-ja.m4,
28556         m4/locale-zh.m4.
28557
28558         * m4/wcrtomb.m4 (gl_FUNC_WCRTOMB): Invoke gl_MBSTATE_T_BROKEN, and set
28559         REPLACE_WCRTOMB if mbstate_t must be replaced.
28560         * modules/wcrtomb (Files): Add m4/mbrtowc.m4.
28561         Reported by Jens Rehsack <rehsack@googlemail.com> via Eric Blake.
28562
28563 2009-05-01  Bruno Haible  <bruno@clisp.org>
28564
28565         Avoid compiler warnings when redefining macros defined by <libintl.h>.
28566         * lib/gettext.h [!ENABLE_NLS] (gettext, dgettext, dcgettext, ngettext,
28567         dngettext, dcngettext, textdomain, bindtextdomain,
28568         bind_textdomain_codeset): Undefine before redefining.
28569
28570 2009-04-30  Bruno Haible  <bruno@clisp.org>
28571
28572         Fix bug introduced on 2009-04-25.
28573         * lib/math.in.h (gl_signbitf_OPTIMIZED_MACRO,
28574         gl_signbitd_OPTIMIZED_MACRO, gl_signbitl_OPTIMIZED_MACRO): New macros.
28575         * lib/signbitf.c (gl_signbitd): Undefine if gl_signbitf_OPTIMIZED_MACRO
28576         is defined.
28577         * lib/signbitd.c (gl_signbitd): Undefine if gl_signbitd_OPTIMIZED_MACRO
28578         is defined.
28579         * lib/signbitl.c (gl_signbitd): Undefine if gl_signbitl_OPTIMIZED_MACRO
28580         is defined.
28581         Reported by Elbert_Pol <elbert.pol@gmail.com>.
28582
28583 2009-04-28  Bruno Haible  <bruno@clisp.org>
28584
28585         Comment tweaks.
28586         * lib/unistr.h (u*_cmp2): Clarify what memcmp2 is.
28587         * lib/uninorm.h (u*_normxfrm): Fix description of return value.
28588         * lib/unicase.h (u*_casexfrm): Likewise.
28589         Reported by Paolo Bonzini.
28590
28591 2009-04-28  Bruno Haible  <bruno@clisp.org>
28592
28593         Fix a compilation error.
28594         * lib/mbsrtowcs-state.c (_gl_mbsrtowcs_state): Fix initializer.
28595         * lib/wcsrtombs-state.c (_gl_wcsrtombs_state): Likewise.
28596         Reported by Jim Meyering.
28597
28598 2009-04-27  Bruno Haible  <bruno@clisp.org>
28599
28600         New module 'libunistring'.
28601         * modules/libunistring: New file.
28602         * m4/libunistring.m4: New file.
28603         * MODULES.html.sh (Unicode string functions): Add it.
28604
28605 2009-04-27  Eric Blake  <ebb9@byu.net>
28606
28607         maint.mk: allow package-specific header to provide <config.h>
28608         * top/maint.mk (sc_require_config_h): New variable.
28609         (sc_require_config_h, sc_require_config_h_first): Use it.
28610
28611 2009-04-27  Simon Josefsson  <simon@josefsson.org>
28612
28613         * top/maint.mk (sc_avoid_if_before_free): Except
28614         useless-if-before-free script.
28615
28616 2009-04-27  Eric Blake  <ebb9@byu.net>
28617
28618         maintainer-makefile: depend on all required helper scripts
28619         * modules/maintainer-makefile (Depends-on): Add vc-list-files and
28620         useless-if-before-free.
28621         * top/maint.mk (VC_LIST, sc_avoid_if_before_free): Use local
28622         version, rather than assuming gnulib checkout is available.
28623         Reported by Simen Josefsson.
28624
28625 2009-04-26  Bruno Haible  <bruno@clisp.org>
28626
28627         Make the lib vs. lib64 recognition work on openSUSE 11 with "gcc -m32".
28628         * m4/lib-prefix.m4 (AC_LIB_PREPARE_MULTILIB): Ignore paths that end in
28629         "../" or "..".
28630
28631 2009-04-26  Bruno Haible  <bruno@clisp.org>
28632
28633         * m4/lib-link.m4 (AC_LIB_HAVE_LINKFLAGS): Accept a fifth argument.
28634         * m4/libsigsegv.m4 (gl_LIBSIGSEGV): Simplify by using
28635         AC_LIB_HAVE_LINKFLAGS.
28636
28637 2009-04-26  Bruno Haible  <bruno@clisp.org>
28638
28639         Simplify calling convention of u*_conv_from_encoding.
28640         * lib/uniconv.h (u8_conv_from_encoding, u16_conv_from_encoding,
28641         u32_conv_from_encoding): Expect a resultbuf argument and return the
28642         result directly as a pointer.
28643         * lib/uniconv/u8-conv-from-enc.c (u8_conv_from_encoding): Likewise.
28644         * lib/uniconv/u-conv-from-enc.h (FUNC): Likewise.
28645         * lib/uniconv/u-strconv-from-enc.h (FUNC): Update.
28646         * lib/unicase/ulc-casecmp.c (ulc_u8_casefold): Update.
28647         * lib/unicase/ulc-casexfrm.c (ulc_casexfrm): Update.
28648         * lib/unilbrk/ulc-possible-linebreaks.c (ulc_possible_linebreaks):
28649         Update.
28650         * lib/unilbrk/ulc-width-linebreaks.c (ulc_width_linebreaks): Update.
28651         * lib/uniwbrk/ulc-wordbreaks.c (ulc_wordbreaks): Update.
28652         * lib/vasnprintf.c (VASNPRINTF): Update.
28653         * tests/uniconv/test-u8-conv-from-enc.c (main): Update.
28654         * tests/uniconv/test-u16-conv-from-enc.c (main): Update.
28655         * tests/uniconv/test-u32-conv-from-enc.c (main): Update.
28656         * NEWS: Mention the change.
28657
28658 2009-04-26  Bruno Haible  <bruno@clisp.org>
28659
28660         Simplify calling convention of u*_conv_to_encoding.
28661         * lib/uniconv.h (u8_conv_to_encoding, u16_conv_to_encoding,
28662         u32_conv_to_encoding): Expect a resultbuf argument and return the
28663         result directly as a pointer.
28664         * lib/uniconv/u8-conv-to-enc.c (u8_conv_to_encoding): Likewise.
28665         * lib/uniconv/u-conv-to-enc.h (FUNC): Likewise. Preserve errno while
28666         freeing scaled_offsets if mem_iconveha failed.
28667         * lib/unicase/u-casexfrm.h (FUNC): Update.
28668         * lib/uninorm/u-normxfrm.h (FUNC): Update.
28669         * lib/vasnprintf.c (VASNPRINTF): Update.
28670         * tests/uniconv/test-u8-conv-to-enc.c (main): Update.
28671         * tests/uniconv/test-u16-conv-to-enc.c (main): Update.
28672         * tests/uniconv/test-u32-conv-to-enc.c (main): Update.
28673         * NEWS: Mention the change.
28674
28675 2009-04-26  Bruno Haible  <bruno@clisp.org>
28676
28677         Avoid test failures on AIX and OSF/1.
28678         * lib/uniconv/u8-conv-from-enc.c (u8_conv_from_encoding): Avoid calling
28679         malloc(0).
28680         * lib/uniconv/u8-conv-to-enc.c (u8_conv_to_encoding): Likewise.
28681         * lib/unilbrk/ulc-possible-linebreaks.c (ulc_possible_linebreaks):
28682         Likewise.
28683         * lib/unilbrk/ulc-width-linebreaks.c (ulc_width_linebreaks): Likewise.
28684         * lib/uniwbrk/ulc-wordbreaks.c (ulc_wordbreaks): Likewise.
28685         * lib/uniconv/u-conv-to-enc.h (FUNC): Likewise. Fix memory leak.
28686         * lib/unistr/u-cpy-alloc.h (FUNC): Call malloc(1) instead of malloc(0).
28687         * doc/posix-functions/malloc.texi: Document the portability problem
28688         related to malloc(0).
28689
28690 2009-04-26  Bruno Haible  <bruno@clisp.org>
28691
28692         * modules/unistr/u8-cpy-alloc (Depends-on): Add malloc-posix.
28693         * modules/unistr/u16-cpy-alloc (Depends-on): Likewise.
28694         * modules/unistr/u32-cpy-alloc (Depends-on): Likewise.
28695
28696 2009-04-25  Bruno Haible  <bruno@clisp.org>
28697
28698         Avoid link error when creating a namespace clean library.
28699         * lib/math.in.h (gl_signbitf, gl_signbitd, gl_signbitl): Don't define
28700         as macro with arguments if already defined as an alias.
28701         * lib/signbitf.c (gl_signbitf): Don't undefine.
28702         * lib/signbitd.c (gl_signbitd): Don't undefine.
28703         * lib/signbitl.c (gl_signbitl): Don't undefine.
28704
28705 2009-04-25  Jim Meyering  <meyering@redhat.com>
28706
28707         vc-list-files: fix another quoting bug
28708         * build-aux/vc-list-files: Avoid sed backslash expansion
28709         of pathological directory names.
28710
28711 2009-04-25  Eric Blake  <ebb9@byu.net>
28712
28713         vc-list-files: fix shell quoting error
28714         * build-aux/vc-list-files: Protect against $ in $dir.  Normalize
28715         timestamp.
28716
28717 2009-04-25  Jim Meyering  <meyering@redhat.com>
28718
28719         vc-list-files: restore lost functionality with subdir argument
28720         * build-aux/vc-list-files: When given a non-"." sub-directory
28721         argument, substitute the $dir/ prefix back onto each resulting name.
28722         Otherwise, coreutils' root_tests check would fail.
28723
28724 2009-04-24  Eric Blake  <ebb9@byu.net>
28725
28726         vc-list-files: ignore git symlinks
28727         * build-aux/vc-list-files (.git): Use ls-tree and a filter, rather
28728         than ls-files, to ignore git symlinks.
28729
28730         maint.mk: import improvements from m4
28731         * top/maint.mk (VC-tag): Use signing key from cfg.mk.
28732         (move_if_change): Delete unused macro.
28733         (news-date-check, vc-diff-check): Support VPATH builds.
28734         (announcement): Likewise.  Split --bootstrap-tools list...
28735         (boostrap-tools): ...into separate list, which can be overridden
28736         in cfg.mk.
28737         (sc_avoid_if_before_free): Point to $(gnulib_dir), rather than
28738         requiring dependency on useless-if-before-free module.
28739         (VC_LIST, VC_LIST_EXCEPT): Likewise for vc-list-files module.
28740         Support VPATH builds.
28741
28742 2009-04-24  Jim Meyering  <meyering@redhat.com>
28743
28744         maint.mk: remove coreutils-specific rules and variables
28745         * top/maint.mk (bin, taint-distcheck, coreutils-path-check, t): Remove.
28746         (fake_home, install-transform-check, my-instcheck, pfx, TMPDIR): Remove.
28747         (t_prefix, t_taint, tp, warn_cflags, write_loser, my-distcheck): Remove.
28748
28749         maint.mk: remove obsolete rule
28750         * top/maint.mk (rel-check): Remove rule.
28751         (WGET, WGETFLAGS): Remove now-unused variables.
28752
28753 2009-04-24  Simon Josefsson  <simon@josefsson.org>
28754
28755         * top/maint.mk (makefile-check): Renamed to sc_makefile_check for
28756         consistency.
28757
28758         * modules/vc-list-files-tests (TESTS_ENVIRONMENT): Use
28759         '$(PATH_SEPARATOR)' instead of ':'.
28760
28761 2009-04-24  Simon Josefsson  <simon@josefsson.org>
28762
28763         * lib/getopt1.c (main): Use 'const' for static array.
28764
28765 2009-04-24  Simon Josefsson  <simon@josefsson.org>
28766
28767         * top/maint.mk: Sync with coreutils.
28768         * NEWS: Explain incompatibilities.
28769
28770 2009-04-22  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
28771             Bruno Haible  <bruno@clisp.org>
28772
28773         Fix cross-compilation results.
28774         * m4/btowc.m4 (gl_FUNC_BTOWC): Use no-op statement, rather than empty
28775         statement, as third argument of AC_TRY_RUN.
28776         * m4/mbrtowc.m4 (gl_MBRTOWC_INCOMPLETE_STATE, gl_MBRTOWC_SANITYCHECK,
28777         gl_MBRTOWC_NULL_ARG, gl_MBRTOWC_RETVAL, gl_MBRTOWC_NUL_RETVAL):
28778         Likewise.
28779         * m4/mbsrtowcs.m4 (gl_MBSRTOWCS_WORKS): Likewise.
28780         * m4/wcsrtombs.m4 (gl_WCSRTOMBS_TERMINATION, gl_WCSRTOMBS_NULL):
28781         Likewise.
28782         * m4/wctob.m4 (gl_FUNC_WCTOB): Likewise.
28783         * m4/wcrtomb.m4 (gl_FUNC_WCRTOMB): Likewise. Update for AIX 4.3.
28784         * doc/posix-functions/wcrtomb.texi: Mention the bug on AIX 4.3.
28785
28786 2009-04-20  Bruno Haible  <bruno@clisp.org>
28787
28788         Avoid test failure on mingw.
28789         * tests/uniwidth/test-uc_width2.sh: Convert newlines in output.
28790
28791 2009-04-20  Bruno Haible  <bruno@clisp.org>
28792
28793         Avoid compilation error on mingw.
28794         * modules/localename-tests (Depends-on): Add locale.
28795
28796 2009-04-19  Bruno Haible  <bruno@clisp.org>
28797
28798         Support for building a shared library on Windows platforms.
28799         * tests/uninorm/test-nfc.c (n): Don't define if WOE32DLL.
28800         (main): Test the presence of UNINORM_NFC here.
28801         * tests/uninorm/test-nfd.c (n): Don't define if WOE32DLL.
28802         (main): Test the presence of UNINORM_NFD here.
28803         * tests/uninorm/test-nfkc.c (n): Don't define if WOE32DLL.
28804         (main): Test the presence of UNINORM_NFKC here.
28805         * tests/uninorm/test-nfkd.c (n): Don't define if WOE32DLL.
28806         (main): Test the presence of UNINORM_NFKD here.
28807
28808 2009-04-19  Bruno Haible  <bruno@clisp.org>
28809
28810         Avoid a compiler warning.
28811         * tests/uninorm/test-u32-normalize-big.c (read_normalization_test_file):
28812         Change type of variable 'sequence'.
28813
28814 2009-04-19  Bruno Haible  <bruno@clisp.org>
28815
28816         * modules/configmake (Makefile.am): When the contents of configmake.h
28817         does not change, arrange to preserve its modification time.
28818
28819 2009-04-17  Simon Josefsson  <simon@josefsson.org>
28820
28821         * top/maint.mk (PO_DOMAIN): New variable, allows overriding of
28822         gettext domain.
28823
28824 2009-04-16  Jim Meyering  <meyering@redhat.com>
28825
28826         useless-if-before-free: improve conversion code
28827         * build-aux/useless-if-before-free: Adjust code-in-comment to match
28828         "...!= 0" as well as "...!= NULL".  emacs has one of the former.
28829
28830 2009-04-14  Bruno Haible  <bruno@clisp.org>
28831
28832         * modules/fcntl (Depends-on): Add extensions.
28833         * m4/fcntl_h.m4 (gl_FCNTL_H): Add a comment.
28834
28835 2009-04-12  Ben Pfaff  <blp@gnu.org>
28836
28837         Make fcntl module detect O_NOATIME, O_NOFOLLOW on GNU/Linux.
28838         * m4/fcntl_h.m4 (gl_FCNTL_H): Require AC_USE_SYSTEM_EXTENSIONS.
28839
28840 2009-03-20  Ben Pfaff  <blp@gnu.org>
28841
28842         Make rename replace existing destinations on Windows.
28843         * m4/rename.m4: Add test for Mingw.
28844         * lib/rename.c: Add rename replacement that uses MoveFileEx with
28845         MOVEFILE_REPLACE_EXISTING to replace existing destination files.
28846         * doc/posix-functions/rename.texi: Document.
28847
28848 2009-04-10  Bruno Haible  <bruno@clisp.org>
28849
28850         New include file "iconveh.h".
28851         * lib/iconveh.h: New file, extracted from lib/striconveh.h.
28852         * lib/striconveh.h: Include it.
28853         (enum iconv_ilseq_handler): Remove definition.
28854         * lib/striconveha.h: Include <stddef.h> and iconveh.h instead of
28855         striconveh.h.
28856         * lib/striconveha.c: Include striconveh.h.
28857         * lib/uniconv.h: Include iconveh.h instead of striconveh.h.
28858         * modules/striconveh (Files): Add lib/iconveh.h.
28859         * modules/uniconv/base (Files): Add lib/iconveh.h. Remove
28860         lib/striconveh.h.
28861
28862 2009-04-10  Bruno Haible  <bruno@clisp.org>
28863
28864         * lib/uniconv.h: Update comment.
28865
28866 2009-04-10  Bruno Haible  <bruno@clisp.org>
28867
28868         * lib/unistr/u8-mbtouc-aux.c: Inside libunistring, define the function
28869         always.
28870         * lib/unistr/u8-mbtouc-unsafe-aux.c: Likewise.
28871         * lib/unistr/u16-mbtouc-aux.c: Likewise.
28872         * lib/unistr/u16-mbtouc-unsafe-aux.c: Likewise.
28873         * lib/unistr/u8-mbtouc.c: Inside libunistring, include
28874         "unistring-notinline.h", so that the function gets defined always.
28875         * lib/unistr/u8-mbtouc-unsafe.c: Likewise.
28876         * lib/unistr/u8-uctomb.c: Likewise.
28877         * lib/unistr/u16-mbtouc.c: Likewise.
28878         * lib/unistr/u16-mbtouc-unsafe.c: Likewise.
28879         * lib/unistr/u16-uctomb.c: Likewise.
28880         * lib/unistr/u32-mbtouc.c: Likewise.
28881         * lib/unistr/u32-mbtouc-unsafe.c: Likewise.
28882         * lib/unistr/u32-uctomb.c: Likewise.
28883
28884 2009-04-10  Bruno Haible  <bruno@clisp.org>
28885
28886         Mark 'utime' obsolete.
28887         * modules/utime (Status, Notice): New sections.
28888         Suggested by Jim Meyering.
28889
28890         Fix cross-compile guess for utime test.
28891         * m4/utime.m4 (AC_FUNC_UTIME_NULL): Add definition from newest unstable
28892         autoconf.
28893         * doc/posix-functions/utime.texi: Give more precisions.
28894         Reported by Jan <ipif@ymail.com>.
28895
28896 2009-04-09  Kamil Dudka  <kdudka@redhat.com>
28897
28898         filevercmp: correct today's change
28899         * lib/filevercmp.c: Also handle coreutils' test inputs.
28900         * tests/test-filevercmp.c: Add inputs from one of coreutils' test scripts.
28901
28902         Fix regression in 'filevercmp' module. Thanks Sven Joachim
28903         for reporting it.
28904         * lib/filevercmp.c: Special handle for "", "." and "..".
28905         * tests/test-filevercmp.c: Enlarge the set suite.
28906
28907 2009-04-07  Jim Meyering  <meyering@redhat.com>
28908
28909         useless-if-before-free: show how to remove braced useless free, too
28910         * build-aux/useless-if-before-free: still only in a comment, though.
28911
28912 2009-04-07  Reuben Thomas  <rrt@sc3d.org>
28913
28914         maint.mk: import changes to syntax-check macros from coreutils
28915         * top/maint.mk (_prohibit_regexp, _header_without_use): Define.
28916         Use them in the relevant macros.
28917
28918 2009-04-06  Bruno Haible  <bruno@clisp.org>
28919
28920         Fix unportable use of bit-fields.
28921         * lib/unicase/special-casing.h (struct special_casing_rule): Change the
28922         bit-field type from 'int' to 'signed int'. Otherwise Solaris cc,
28923         AIX xlc, and OSF/1 cc interpret it as 'unsigned int'.
28924
28925 2009-04-06  Bruno Haible  <bruno@clisp.org>
28926
28927         Avoid test failures on AIX and OSF/1.
28928         * tests/unicase/test-u8-casefold.c (check): Account for the possibility
28929         that malloc(0) = NULL.
28930         * tests/unicase/test-u8-tolower.c (check): Likewise.
28931         * tests/unicase/test-u8-totitle.c (check): Likewise.
28932         * tests/unicase/test-u8-toupper.c (check): Likewise.
28933         * tests/unicase/test-u16-casefold.c (check): Likewise.
28934         * tests/unicase/test-u16-tolower.c (check): Likewise.
28935         * tests/unicase/test-u16-totitle.c (check): Likewise.
28936         * tests/unicase/test-u16-toupper.c (check): Likewise.
28937         * tests/unicase/test-u32-casefold.c (check): Likewise.
28938         * tests/unicase/test-u32-tolower.c (check): Likewise.
28939         * tests/unicase/test-u32-totitle.c (check): Likewise.
28940         * tests/unicase/test-u32-toupper.c (check): Likewise.
28941         * tests/uninorm/test-u8-nfc.c (check): Likewise.
28942         * tests/uninorm/test-u8-nfd.c (check): Likewise.
28943         * tests/uninorm/test-u8-nfkc.c (check): Likewise.
28944         * tests/uninorm/test-u8-nfkd.c (check): Likewise.
28945         * tests/uninorm/test-u16-nfc.c (check): Likewise.
28946         * tests/uninorm/test-u16-nfd.c (check): Likewise.
28947         * tests/uninorm/test-u16-nfkc.c (check): Likewise.
28948         * tests/uninorm/test-u16-nfkd.c (check): Likewise.
28949         * tests/uninorm/test-u32-nfc.c (check): Likewise.
28950         * tests/uninorm/test-u32-nfd.c (check): Likewise.
28951         * tests/uninorm/test-u32-nfkc.c (check): Likewise.
28952         * tests/uninorm/test-u32-nfkd.c (check): Likewise.
28953
28954 2009-04-05  Bruno Haible  <bruno@clisp.org>
28955
28956         Work around an autoconf limitation.
28957         * gnulib-tool (func_emit_lib_Makefile_am): Omit the "Reproduce by"
28958         comment line if it would be longer than 3 KB.
28959
28960 2009-04-05  Bruno Haible  <bruno@clisp.org>
28961
28962         Avoid test failure with libiconv-1.13.
28963         * tests/test-striconveh.c (main): Allow result of libiconv 1.13 as one
28964         of the expected test results.
28965
28966 2009-04-05  Bruno Haible  <bruno@clisp.org>
28967
28968         * gnulib-tool (func_emit_lib_Makefile_am): Don't add the library to
28969         noinst_LTLIBRARIES if the Makefile.am in the same directory specifies
28970         that it should be installed.
28971
28972 2009-04-05  Bruno Haible  <bruno@clisp.org>
28973
28974         * gnulib-tool: New option --copy-file.
28975         (func_usage): Document it.
28976         (func_dest_tmpfilename): Moved out of func_import.
28977         (func_add_file, func_update_file): New functions, extracted from
28978         func_import.
28979         (func_import): Update.
28980
28981 2009-04-05  Karl Berry  <karl@gnu.org>
28982
28983         * README: prominently mention gnulib-tool.
28984         Rearrange sections so getting the code is near the top.
28985
28986 2009-04-05  Bruno Haible  <bruno@clisp.org>
28987
28988         * lib/unicase.h: Mention u*_cmp2.
28989         * lib/unicase/u-casecmp.h (FUNC): Invoke U_CMP2 instead of U_CMP.
28990         * lib/unicase/u8-casecmp.c: Use u8_cmp2 instead of u8_cmp.
28991         * lib/unicase/ulc-casecmp.c: Likewise.
28992         * lib/unicase/u16-casecmp.c: Use u16_cmp2 instead of u16_cmp.
28993         * lib/unicase/u32-casecmp.c: Use u32_cmp2 instead of u32_cmp.
28994         * modules/unicase/u8-casecmp (Depends-on): Add unistr/u8-cmp2, remove
28995         unistr/u8-cmp.
28996         * modules/unicase/ulc-casecmp (Depends-on): Likewise.
28997         * modules/unicase/u16-casecmp (Depends-on): Add unistr/u16-cmp2, remove
28998         unistr/u16-cmp.
28999         * modules/unicase/u32-casecmp (Depends-on): Add unistr/u32-cmp2, remove
29000         unistr/u32-cmp.
29001
29002         * lib/uninorm.h: Mention u*_cmp2.
29003         * lib/uninorm/u-normcmp.h (FUNC): Invoke U_CMP2 instead of U_CMP.
29004         * lib/uninorm/u8-normcmp.c: Use u8_cmp2 instead of u8_cmp.
29005         * lib/uninorm/u16-normcmp.c: Use u16_cmp2 instead of u16_cmp.
29006         * lib/uninorm/u32-normcmp.c: Use u32_cmp2 instead of u32_cmp.
29007         * modules/uninorm/u8-normcmp (Depends-on): Add unistr/u8-cmp2, remove
29008         unistr/u8-cmp.
29009         * modules/uninorm/u16-normcmp (Depends-on): Add unistr/u16-cmp2, remove
29010         unistr/u16-cmp.
29011         * modules/uninorm/u32-normcmp (Depends-on): Add unistr/u32-cmp2, remove
29012         unistr/u32-cmp.
29013
29014         New module 'unistr/u32-cmp2'.
29015         * lib/unistr/u32-cmp2.c: New file.
29016         * modules/unistr/u32-cmp2: New file.
29017
29018         New module 'unistr/u16-cmp2'.
29019         * lib/unistr/u16-cmp2.c: New file.
29020         * modules/unistr/u16-cmp2: New file.
29021
29022         New module 'unistr/u8-cmp2'.
29023         * lib/unistr.h (u8_cmp2, u16_cmp2, u32_cmp2): New declarations.
29024         * lib/unistr/u8-cmp2.c: New file.
29025         * lib/unistr/u-cmp2.h: New file.
29026         * modules/unistr/u8-cmp2: New file.
29027
29028 2009-04-05  Bruno Haible  <bruno@clisp.org>
29029
29030         * lib/unictype.h (uc_property_is_valid): New macro.
29031         * tests/unictype/test-pr_byname.c (main): Use it.
29032
29033         * lib/unistr.h: Doc fixes.
29034         * lib/uniconv.h: Doc fixes.
29035         * lib/unictype.h: Doc fixes.
29036
29037 2009-04-03  Paul Eggert  <eggert@cs.ucla.edu>
29038
29039         Port coreutils 7.2 to Solaris 8.
29040
29041         * modules/arpa_inet (arpa/inet.h): Depend on arpa_inet.in.h.
29042         * m4/inet_ntop.m4 (gl_INET_NTOP): Search for inet_ntop in -lnsl,
29043         for Solaris 8.  This is a bit of a hack, as it means it's the
29044         caller's responsibility to add -lnsl if needed, but most likely it
29045         won't be needed since only getaddrinfo uses this and getaddrinfo
29046         isn't needed on Solaris 8.
29047
29048         * modules/fnmatch (Depends-on): Add mbsrtowcs, to fix a porting
29049         problem to Solaris 8 encountered with coreutils 7.2, which
29050         resulted in a message "fnmatch.c:292: warning: passing argument 4
29051         of 'mbsrtowcs' from incompatible pointer type".  Also, add mbsinit
29052         at the suggestion of Bruno Haible, since fnmatch uses mbsinit.
29053
29054 2009-04-03  Simon Josefsson  <simon@josefsson.org>
29055
29056         * m4/ld-version-script.m4: Add FIXME comment.
29057
29058 2009-04-02  Simon Josefsson  <simon@josefsson.org>
29059
29060         * doc/ld-output-def.texi: Use DLL_VERSION instead of confusing
29061         SOVERSION variable.
29062
29063 2009-04-02  Bruno Haible  <bruno@clisp.org>
29064
29065         * Makefile (info, html, dvi, pdf): Combine the rules.
29066         Suggested by Jim Meyering.
29067
29068 2009-04-01  Bruno Haible  <bruno@clisp.org>
29069
29070         * Makefile (info, html, dvi, pdf): New targets.
29071         Reported by Reuben Thomas <rrt@sc3d.org>.
29072
29073 2009-04-01  Bruno Haible  <bruno@clisp.org>
29074
29075         * doc/gnulib-tool.texi (Invoking gnulib-tool): Document how gnulib-tool
29076         can be put into PATH.
29077         Reported by Reuben Thomas <rrt@sc3d.org>. Suggested by Karl Berry.
29078
29079 2009-04-01  Bruno Haible  <bruno@clisp.org>
29080
29081         * doc/lib-symbol-visibility.texi: Follow texinfo style conventions.
29082
29083 2009-04-01  Bruno Haible  <bruno@clisp.org>
29084
29085         Rename module 'visibility'.
29086         * modules/lib-symbol-visibility: Renamed from modules/visibility.
29087         * doc/lib-symbol-visibility.texi: Renamed from visibility.texi.
29088         * doc/gnulib.texi: Update.
29089         * MODULES.html.sh (Misc): Update.
29090         * NEWS: Mention the change.
29091
29092 2009-04-01  Simon Josefsson  <simon@josefsson.org>
29093
29094         * modules/lib-msvc-compat: New module.  Thanks to Bruno Haible
29095         <bruno@clisp.org>, Ralf Wildenhues <Ralf.Wildenhues@gmx.de>, and
29096         Eric Blake <ebb9@byu.net> for review.
29097         * MODULES.html.sh: Add lib-msvc-compat.
29098         * doc/gnulib.texi: Link to new section.
29099         * m4/ld-output-def.m4: New file.
29100         * doc/ld-output-def.texi: New file.
29101
29102 2009-04-01  Simon Josefsson  <simon@josefsson.org>
29103
29104         Rename ld-version-script to lib-symbol-versions.  Suggested by
29105         Bruno Haible <bruno@clisp.org>.
29106         * modules/ld-version-script: Renamed to lib-symbol-versions.
29107         * doc/ld-version-script.texi: Fix module name.
29108         * MODULES.html.sh: Add lib-symbol-versions.
29109
29110 2009-03-31  Simon Josefsson  <simon@josefsson.org>
29111
29112         * modules/u64-tests: New file.
29113         * tests/test-u64.c: New file.
29114
29115 2009-03-04  Simon Josefsson  <simon@josefsson.org>
29116
29117         * MODULES.html.sh: Mention u64.
29118         * modules/u64: New module.
29119         * modules/crypto/sha512: Depend on u64 module instead of providing
29120         u64.h.
29121
29122 2009-03-27  Eric Blake  <ebb9@byu.net>
29123
29124         test-strerror: make debugging EAI_SYSTEM easier
29125         * modules/getaddrinfo-tests (Depends-on): Add strerror.
29126         * test-getaddrinfo.c (simple) [ENABLE_DEBUGGING]: Report errno if
29127         failure was EAI_SYSTEM.
29128
29129 2009-03-25  Bruno Haible  <bruno@clisp.org>
29130
29131         Fix a problem with --enable-relocatable on Solaris 7.
29132         * modules/relocatable-prog-wrapper (Depends-on): Add environ. Needed
29133         since 2008-02-24.
29134
29135 2009-03-25  Eric Blake  <ebb9@byu.net>
29136
29137         test-sockets: avoid gcc warning
29138         * tests/test-sockets.c (main): Silence compiler warning.
29139
29140 2009-03-25  Paul Eggert  <eggert@cs.ucla.edu>
29141
29142         New modules nproc, pthread, contributed by Glen Lenker.
29143
29144         * MODULES.html.sh: Add pthread, nproc.
29145         * lib/nproc.c: New file.
29146         * lib/nproc.h: New file.
29147         * lib/pthread.in.h: New file.
29148         * m4/pthread.m4: New file.
29149         * modules/nproc: New file.
29150         * modules/pthread: New file.
29151
29152 2009-03-24  Simon Josefsson  <simon@josefsson.org>
29153
29154         * modules/unicase/locale-language-tests (test_locale_language_LDADD):
29155         New variable.
29156
29157 2009-03-24  Kamil Dudka  <kdudka@redhat.com>
29158
29159         filevercmp: handle simple~ and numbered.~3~ backup suffixes
29160         * lib/filevercmp.c: Handle simple~ and numbered.~3~ backup suffixes.
29161         * tests/test-filevercmp.c: Add tests for backup suffixes.
29162
29163 2009-03-24  Simon Josefsson  <simon@josefsson.org>
29164
29165         * modules/stdlib (Depends-on): Add stdint, needed when defining
29166         struct random_data on, for example, HP-UX 10.20.  Reported by
29167         Albert Chin <bug-gnulib@mlists.thewrittenword.com>.
29168
29169 2009-03-24  Simon Josefsson  <simon@josefsson.org>
29170
29171         * lib/readline.c (readline): Call fflush on stdout after printing
29172         prompt.
29173
29174 2009-03-20  Bruno Haible  <bruno@clisp.org>
29175
29176         Remove dependency from 'close' module to -lws2_32 on native Windows.
29177         * lib/close-hook.h: New file.
29178         * lib/close-hook.c: New file.
29179         * lib/close.c: Include close-hook.h. Don't include <sys/socket.h>,
29180         w32sock.h.
29181         (_gl_close_fd_maybe_socket): Remove function.
29182         (rpl_close): Invoke execute_all_close_hooks instead of
29183         _gl_close_fd_maybe_socket.
29184         * lib/sockets.c: Include close-hook.h, w32sock.h.
29185         (close_fd_maybe_socket): New function, essentially from lib/close.c.
29186         (close_sockets_hook): New variable.
29187         (gl_sockets_startup): Register close_fd_maybe_socket as a hook.
29188         (gl_sockets_cleanup): Unregister it.
29189         * lib/unistd.in.h (HAVE__GL_CLOSE_FD_MAYBE_SOCKET): Remove macro.
29190         * m4/close.m4 (gl_REPLACE_CLOSE): Undo 2009-02-05 change.
29191         * modules/close-hook: New file.
29192         * modules/close (Files): Remove lib/w32sock.h.
29193         (Depends-on): Add close-hook.
29194         (Link): Remove section.
29195         * modules/sockets (Files): Add lib/w32sock.h.
29196         (Depends-on): Add close-hook.
29197         * modules/sys_socket (configure.ac): Remove gl_MODULE_INDICATOR
29198         invocation.
29199         * NEWS: Mention that LIB_CLOSE is gone.
29200
29201 2009-03-23  Eric Blake  <ebb9@byu.net>
29202
29203         signal-tests: test previous patch
29204         * tests/test-signal.c: New file.
29205         * modules/signal-tests: Likewise.
29206
29207         signal.h: always support 'volatile sig_atomic_t'
29208         * m4/signal_h.m4 (gl_SIGNAL_H): Check for AIX limitation.
29209         (gl_SIGNAL_H_DEFAULTS): Add a default.
29210         * modules/signal (Makefile.am): Substitute if needed.
29211         * lib/signal.in.h (sig_atomic_t): Redefine if needed, so that
29212         users can blindly add volatile.
29213         * doc/posix-headers/signal.texi (signal.h): Document it.
29214         Reported by Matthew Woehlke.
29215
29216 2009-03-23  Jim Meyering  <meyering@redhat.com>
29217
29218         pathmax: PATH_MAX: use pathconf only when available
29219         * lib/pathmax.h (PATH_MAX): Select the pathconf-using definition
29220         only if HAVE_PATHCONF is defined.  Patch by Sylvain Beucler.
29221         * m4/pathmax.m4 (gl_PATHMAX): Check for pathconf.
29222         This avoids a link failure in a PSP cross-compilation environment
29223         described in http://thread.gmane.org/gmane.comp.lib.gnulib.bugs/17048
29224
29225         * lib/vasnprintf.c (divide): Fix typo in comment.
29226
29227 2009-03-23  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
29228
29229         * gnulib-tool (func_filter_filelist): Fix comment.
29230
29231 2009-03-20  Bruno Haible  <bruno@clisp.org>
29232
29233         Make sockets.h self-contained.
29234         * lib/sockets.c: Include sockets.h first.
29235         * lib/sockets.h: Include <sys/socket.h> before using the SOCKET type.
29236
29237 2009-03-19  Eric Blake  <ebb9@byu.net>
29238
29239         doc: mention more functions added in cygwin 1.7.0
29240         * doc/posix-functions/log2.texi: Mention recent cygwin 1.7.0
29241         addition.
29242         * doc/posix-functions/log2f.texi: Likewise.
29243
29244 2009-03-19  Jim Meyering  <meyering@redhat.com>
29245
29246         fsusage: avoid syntax error due to statement-before-declaration
29247         * lib/fsusage.c (get_fs_usage): Put warning-avoidance statement
29248         after all declarations.  Reported by Matthew Woehlke in
29249         http://thread.gmane.org/gmane.comp.gnu.coreutils.bugs/16231
29250
29251 2009-03-18  Eric Blake  <ebb9@byu.net>
29252
29253         build-aux/compile: sync from automake
29254         * build-aux/compile: New file, from automake.
29255         * config/srclist.txt: Mention build-aux/compile.
29256
29257 2009-03-17  Bruno Haible  <bruno@clisp.org>
29258
29259         * lib/git-merge-changelog.c: Fix typo in comment.
29260         Reported by Reuben Thomas <rrt@sc3d.org>.
29261
29262 2009-03-17  Reuben Thomas  <rrt@sc3d.org>
29263
29264         * m4/regex.m4: update and improve help for
29265         --without-included-regex.
29266
29267 2009-03-17  Simon Josefsson  <simon@josefsson.org>
29268
29269         * modules/isnanl-nolibm-tests (Files): Add tests/nan.h to avoid
29270         failure on missing include files.
29271
29272 2009-03-17  Eric Blake  <ebb9@byu.net>
29273
29274         doc: mention more functions added in cygwin 1.7.0
29275         * doc/posix-functions/fwprintf.texi: Mention recent cygwin 1.7.0
29276         addition.
29277         * doc/posix-functions/fwscanf.texi: Likewise.
29278         * doc/posix-functions/swprintf.texi: Likewise.
29279         * doc/posix-functions/swscanf.texi: Likewise.
29280         * doc/posix-functions/vfwprintf.texi: Likewise.
29281         * doc/posix-functions/vfwscanf.texi: Likewise.
29282         * doc/posix-functions/vswprintf.texi: Likewise.
29283         * doc/posix-functions/vswscanf.texi: Likewise.
29284         * doc/posix-functions/vwprintf.texi: Likewise.
29285         * doc/posix-functions/vwscanf.texi: Likewise.
29286         * doc/posix-functions/wcscasecmp.texi: Likewise.
29287         * doc/posix-functions/wcsdup.texi: Likewise.
29288         * doc/posix-functions/wcsftime.texi: Likewise.
29289         * doc/posix-functions/wcsncasecmp.texi: Likewise.
29290         * doc/posix-functions/wprintf.texi: Likewise.
29291         * doc/posix-functions/wscanf.texi: Likewise.
29292         * doc/glibc-functions/gethostbyname2.texi: Likewise.
29293
29294 2009-03-14  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
29295
29296         maint.mk: really add $(AM_MAKEFLAGS)
29297         * top/maint.mk (init-coverage, build-coverage): `$(AM_MAKEFLAGS)'
29298         was inadvertently omitted in the last commit.
29299         Spotted by Bruno Haible.
29300
29301         maint.mk: use $(MAKE) $(AM_MAKEFLAGS) not make
29302         * top/maint.mk (init-coverage, build-coverage): Use `$(MAKE)
29303         $(AM_MAKEFLAGS)' rather than plain `make'.
29304
29305         gnulib-tool: execute $MAKE not make
29306         * gnulib-tool: Default $MAKE to 'make'.
29307         (func_create_testdir, func_create_megatestdir): Use $MAKE rather
29308         than make.  Initialize $MAKE in the do-autobuild script.
29309
29310         gnulib-tool: use $MAKE not make in generated files
29311         * gnulib-tool (func_create_megatestdir): Use $MAKE rather than
29312         make, in generated files.  Initialize $MAKE in the do-autobuild
29313         script.
29314
29315         * top/GNUmakefile (_have-git-version-gen): Fix typo.
29316
29317         GNUmakefile: disable parallelism only for multiple, recursive targets
29318         * top/GNUmakefile (ALL_RECURSIVE_TARGETS): New macro; allow user
29319         additions in the Makefile.
29320         (AM_RECURSIVE_TARGETS): New macro, override only if not provided
29321         by Automake.
29322         (.NOTPARALLEL): Only disable parallel builds if multiple targets
29323         are listed on the command line and at least one of them is
29324         listed in $(ALL_RECURSIVE_TARGETS).
29325
29326 2009-03-14  Bruno Haible  <bruno@clisp.org>
29327
29328         * modules/unilbrk/u8-possible-linebreaks (Depends-on): Replace
29329         utf8-ucs4-unsafe with unistr/u8-mbtouc-unsafe.
29330         * modules/unilbrk/u8-width-linebreaks (Depends-on): Likewise.
29331         * modules/unilbrk/u16-possible-linebreaks (Depends-on): Replace
29332         utf16-ucs4-unsafe with unistr/u16-mbtouc-unsafe.
29333         * modules/unilbrk/u16-width-linebreaks (Depends-on): Likewise.
29334         * modules/unistr/u8-chr (Depends-on): Replace ucs4-utf8 with
29335         unistr/u8-uctomb.
29336         * modules/unistr/u8-strchr (Depends-on): Likewise.
29337         * modules/unistr/u8-strrchr (Depends-on): Likewise.
29338         * modules/unistr/u16-chr (Depends-on): Replace ucs4-utf16 with
29339         unistr/u16-uctomb.
29340         * modules/unistr/u16-strchr (Depends-on): Likewise.
29341         * modules/unistr/u16-strrchr (Depends-on): Likewise.
29342
29343 2009-03-12  Bruno Haible  <bruno@clisp.org>
29344
29345         Work around select() bug on Interix 3.5.
29346         * lib/sys_select.in.h (select): Also replace if REPLACE_SELECT is 1.
29347         * lib/select.c (rpl_select): Add an implementation for Unix platforms.
29348         * m4/select.m4: New file.
29349         * m4/sys_select_h.m4 (gl_SYS_SELECT_H_DEFAULTS): Initialize REPLACE_SELECT.
29350         * modules/sys_select (Makefile.am): Substitute REPLACE_SELECT.
29351         * modules/select (Files): Add m4/select.m4.
29352         (configure.ac): Move conditional to m4/select.m4. Invoke gl_FUNC_SELECT.
29353         * modules/nanosleep (Depends-on): Add select.
29354         * modules/poll (Depends-on): Likewise.
29355         * doc/posix-functions/select.texi: Mention the Interix bug.
29356         Reported by Markus Duft <mduft@gentoo.org>.
29357
29358         * lib/select.c: Renamed from lib/winsock-select.c.
29359         * modules/select (Files): Add lib/select.c, remove
29360         lib/winsock-select.c.
29361         (configure.ac): Update.
29362
29363 2009-03-12  Jim Meyering  <meyering@redhat.com>
29364
29365         avoid gcc warnings about unused macro definitions
29366         * lib/readtokens.c (STREQ): Remove unused definition.
29367         * lib/xmalloc.c (SIZE_MAX): Likewise.
29368         * lib/openat-die.c (N_): Likewise.
29369         * lib/mountlist.c (SIZE_MAX): Remove definition.
29370         Instead, include <stdint.h>.
29371         * lib/readutmp.c: Likewise.
29372         * modules/readutmp (Depends-on): Add stdint.
29373         * modules/mountlist (Depends-on): Add stdint.
29374         * lib/userspec.c (ISDIGIT): Move definition into #if block where used.
29375
29376 2009-03-10  Bruno Haible  <bruno@clisp.org>
29377
29378         Tests for module 'mbmemcasecoll'.
29379         * modules/mbmemcasecoll-tests: New file.
29380         * tests/test-mbmemcasecoll1.sh: New file.
29381         * tests/test-mbmemcasecoll2.sh: New file.
29382         * tests/test-mbmemcasecoll3.sh: New file.
29383         * tests/test-mbmemcasecoll.c: New file.
29384
29385         New module 'mbmemcasecoll'.
29386         * lib/mbmemcasecoll.h: New file.
29387         * lib/mbmemcasecoll.c: New file.
29388         * modules/mbmemcasecoll: New file.
29389
29390         * tests/test-mbmemcasecmp.h: New file, extracted from
29391         tests/test-mbmemcasecmp.c.
29392         * tests/test-mbmemcasecmp.c: Include test-mbmemcasecmp.h.
29393         (test_ascii, test_iso_8859_1, test_utf_8): Remove functions.
29394         (main): Update.
29395         * modules/mbmemcasecmp-tests (Files): Add tests/test-mbmemcasecmp.h.
29396
29397 2009-03-09  Bruno Haible  <bruno@clisp.org>
29398
29399         Tests for module 'mbmemcasecmp'.
29400         * modules/mbmemcasecmp-tests: New file.
29401         * tests/test-mbmemcasecmp1.sh: New file.
29402         * tests/test-mbmemcasecmp2.sh: New file.
29403         * tests/test-mbmemcasecmp3.sh: New file.
29404         * tests/test-mbmemcasecmp.c: New file.
29405
29406         New module 'mbmemcasecmp'.
29407         * lib/mbmemcasecmp.h: New file.
29408         * lib/mbmemcasecmp.c: New file.
29409         * modules/mbmemcasecmp: New file.
29410
29411 2009-03-09  Bruno Haible  <bruno@clisp.org>
29412
29413         Tests for module 'unicase/ulc-casecoll'.
29414         * modules/unicase/ulc-casecoll-tests: New file.
29415         * tests/unicase/test-ulc-casecoll1.sh: New file.
29416         * tests/unicase/test-ulc-casecoll2.sh: New file.
29417         * tests/unicase/test-ulc-casecoll.c: New file.
29418
29419         New module 'unicase/ulc-casecoll'.
29420         * lib/unicase.h (ulc_casecoll): New declaration.
29421         * lib/unicase/ulc-casecoll.c: New file.
29422         * modules/unicase/ulc-casecoll: New file.
29423
29424         New module 'unicase/ulc-casexfrm'.
29425         * lib/unicase.h (ulc_casexfrm): New declaration.
29426         * lib/unicase/ulc-casexfrm.c: New file.
29427         * modules/unicase/ulc-casexfrm: New file.
29428
29429 2009-03-09  Bruno Haible  <bruno@clisp.org>
29430
29431         Followup to 2008-12-22 commit: Remove unnecessary AC_FUNC_MBRTOWC
29432         invocations.
29433
29434         * m4/mbscasecmp.m4: Remove file.
29435         * modules/mbscasecmp (Files): Remove it and m4/mbrtowc.m4
29436         (configure.ac): Remove gl_FUNC_MBSCASECMP invocation.
29437
29438         * m4/mbscasestr.m4: Remove file.
29439         * modules/mbscasestr (Files): Remove it and m4/mbrtowc.m4
29440         (configure.ac): Remove gl_FUNC_MBSCASESTR invocation.
29441
29442         * m4/mbschr.m4: Remove file.
29443         * modules/mbschr (Files): Remove it and m4/mbrtowc.m4
29444         (configure.ac): Remove gl_FUNC_MBSCHR invocation.
29445
29446         * m4/mbscspn.m4: Remove file.
29447         * modules/mbscspn (Files): Remove it and m4/mbrtowc.m4
29448         (configure.ac): Remove gl_FUNC_MBSCSPN invocation.
29449
29450         * m4/mbslen.m4: Remove file.
29451         * modules/mbslen (Files): Remove it and m4/mbrtowc.m4
29452         (configure.ac): Remove gl_FUNC_MBSLEN invocation.
29453
29454         * m4/mbsncasecmp.m4: Remove file.
29455         * modules/mbsncasecmp (Files): Remove it and m4/mbrtowc.m4
29456         (configure.ac): Remove gl_FUNC_MBSNCASECMP invocation.
29457
29458         * m4/mbsnlen.m4: Remove file.
29459         * modules/mbsnlen (Files): Remove it and m4/mbrtowc.m4
29460         (configure.ac): Remove gl_FUNC_MBSNLEN invocation.
29461
29462         * m4/mbspbrk.m4: Remove file.
29463         * modules/mbspbrk (Files): Remove it and m4/mbrtowc.m4
29464         (configure.ac): Remove gl_FUNC_MBSPBRK invocation.
29465
29466         * m4/mbspcasecmp.m4: Remove file.
29467         * modules/mbspcasecmp (Files): Remove it and m4/mbrtowc.m4
29468         (configure.ac): Remove gl_FUNC_MBSPCASECMP invocation.
29469
29470         * m4/mbsrchr.m4: Remove file.
29471         * modules/mbsrchr (Files): Remove it and m4/mbrtowc.m4
29472         (configure.ac): Remove gl_FUNC_MBSRCHR invocation.
29473
29474         * m4/mbssep.m4: Remove file.
29475         * modules/mbssep (Files): Remove it and m4/mbrtowc.m4
29476         (configure.ac): Remove gl_FUNC_MBSSEP invocation.
29477
29478         * m4/mbsspn.m4: Remove file.
29479         * modules/mbsspn (Files): Remove it and m4/mbrtowc.m4
29480         (configure.ac): Remove gl_FUNC_MBSSPN invocation.
29481
29482         * m4/mbsstr.m4: Remove file.
29483         * modules/mbsstr (Files): Remove it and m4/mbrtowc.m4
29484         (configure.ac): Remove gl_FUNC_MBSSTR invocation.
29485
29486         * m4/mbstok_r.m4: Remove file.
29487         * modules/mbstok_r (Files): Remove it and m4/mbrtowc.m4
29488         (configure.ac): Remove gl_FUNC_MBSTOK_R invocation.
29489
29490         * m4/mbswidth.m4 (gl_MBSWIDTH): Remove AC_FUNC_MBRTOWC invocation.
29491
29492         * m4/quotearg.m4 (gl_QUOTEARG): Remove mbsinit test and
29493         AC_TYPE_MBSTATE_T, AC_FUNC_MBRTOWC invocations.
29494
29495         * modules/trim (configure.ac): Remove AC_FUNC_MBRTOWC invocation.
29496
29497 2009-03-08  Bruno Haible  <bruno@clisp.org>
29498
29499         Tests for module 'unicase/ulc-casecmp'.
29500         * modules/unicase/ulc-casecmp-tests: New file.
29501         * tests/unicase/test-ulc-casecmp1.sh: New file.
29502         * tests/unicase/test-ulc-casecmp2.sh: New file.
29503         * tests/unicase/test-ulc-casecmp.c: New file.
29504
29505         New module 'unicase/ulc-casecmp'.
29506         * lib/unicase.h (ulc_casecmp): New declaration.
29507         * lib/unicase/ulc-casecmp.c: New file.
29508         * lib/unicase/u-casecmp.h (FUNC): Change argument types to
29509         'const SRC_UNIT *'.
29510         * lib/unicase/u8-casecmp.c (SRC_UNIT): Define like UNIT.
29511         * lib/unicase/u16-casecmp.c (SRC_UNIT): Likewise.
29512         * lib/unicase/u32-casecmp.c (SRC_UNIT): Likewise.
29513         * modules/unicase/ulc-casecmp: New file.
29514
29515         Tests for module 'unicase/u32-is-cased'.
29516         * modules/unicase/u32-is-cased-tests: New file.
29517         * tests/unicase/test-u32-is-cased.c: New file.
29518
29519         Tests for module 'unicase/u16-is-cased'.
29520         * modules/unicase/u16-is-cased-tests: New file.
29521         * tests/unicase/test-u16-is-cased.c: New file.
29522
29523         Tests for module 'unicase/u8-is-cased'.
29524         * modules/unicase/u8-is-cased-tests: New file.
29525         * tests/unicase/test-u8-is-cased.c: New file.
29526         * tests/unicase/test-is-cased.h: New file.
29527
29528         New module 'unicase/u32-is-cased'.
29529         * lib/unicase/u32-is-cased.c: New file.
29530         * modules/unicase/u32-is-cased: New file.
29531
29532         New module 'unicase/u16-is-cased'.
29533         * lib/unicase/u16-is-cased.c: New file.
29534         * modules/unicase/u16-is-cased: New file.
29535
29536         New module 'unicase/u8-is-cased'.
29537         * lib/unicase/u8-is-cased.c: New file.
29538         * lib/unicase/u-is-cased.h: New file.
29539         * modules/unicase/u8-is-cased: New file.
29540
29541         Tests for module 'unicase/u32-is-casefolded'.
29542         * modules/unicase/u32-is-casefolded-tests: New file.
29543         * tests/unicase/test-u32-is-casefolded.c: New file.
29544
29545         Tests for module 'unicase/u16-is-casefolded'.
29546         * modules/unicase/u16-is-casefolded-tests: New file.
29547         * tests/unicase/test-u16-is-casefolded.c: New file.
29548
29549         Tests for module 'unicase/u8-is-casefolded'.
29550         * modules/unicase/u8-is-casefolded-tests: New file.
29551         * tests/unicase/test-u8-is-casefolded.c: New file.
29552         * tests/unicase/test-is-casefolded.h: New file.
29553
29554         New module 'unicase/u32-is-casefolded'.
29555         * lib/unicase/u32-is-casefolded.c: New file.
29556         * modules/unicase/u32-is-casefolded: New file.
29557
29558         New module 'unicase/u16-is-casefolded'.
29559         * lib/unicase/u16-is-casefolded.c: New file.
29560         * modules/unicase/u16-is-casefolded: New file.
29561
29562         New module 'unicase/u8-is-casefolded'.
29563         * lib/unicase/u8-is-casefolded.c: New file.
29564         * modules/unicase/u8-is-casefolded: New file.
29565
29566         Tests for module 'unicase/u32-is-titlecase'.
29567         * modules/unicase/u32-is-titlecase-tests: New file.
29568         * tests/unicase/test-u32-is-titlecase.c: New file.
29569
29570         Tests for module 'unicase/u16-is-titlecase'.
29571         * modules/unicase/u16-is-titlecase-tests: New file.
29572         * tests/unicase/test-u16-is-titlecase.c: New file.
29573
29574         Tests for module 'unicase/u8-is-titlecase'.
29575         * modules/unicase/u8-is-titlecase-tests: New file.
29576         * tests/unicase/test-u8-is-titlecase.c: New file.
29577         * tests/unicase/test-is-titlecase.h: New file.
29578
29579         New module 'unicase/u32-is-titlecase'.
29580         * lib/unicase/u32-is-titlecase.c: New file.
29581         * modules/unicase/u32-is-titlecase: New file.
29582
29583         New module 'unicase/u16-is-titlecase'.
29584         * lib/unicase/u16-is-titlecase.c: New file.
29585         * modules/unicase/u16-is-titlecase: New file.
29586
29587         New module 'unicase/u8-is-titlecase'.
29588         * lib/unicase/u8-is-titlecase.c: New file.
29589         * modules/unicase/u8-is-titlecase: New file.
29590
29591         Tests for module 'unicase/u32-is-lowercase'.
29592         * modules/unicase/u32-is-lowercase-tests: New file.
29593         * tests/unicase/test-u32-is-lowercase.c: New file.
29594
29595         Tests for module 'unicase/u16-is-lowercase'.
29596         * modules/unicase/u16-is-lowercase-tests: New file.
29597         * tests/unicase/test-u16-is-lowercase.c: New file.
29598
29599         Tests for module 'unicase/u8-is-lowercase'.
29600         * modules/unicase/u8-is-lowercase-tests: New file.
29601         * tests/unicase/test-u8-is-lowercase.c: New file.
29602         * tests/unicase/test-is-lowercase.h: New file.
29603
29604         New module 'unicase/u32-is-lowercase'.
29605         * lib/unicase/u32-is-lowercase.c: New file.
29606         * modules/unicase/u32-is-lowercase: New file.
29607
29608         New module 'unicase/u16-is-lowercase'.
29609         * lib/unicase/u16-is-lowercase.c: New file.
29610         * modules/unicase/u16-is-lowercase: New file.
29611
29612         New module 'unicase/u8-is-lowercase'.
29613         * lib/unicase/u8-is-lowercase.c: New file.
29614         * modules/unicase/u8-is-lowercase: New file.
29615
29616         Tests for module 'unicase/u32-is-uppercase'.
29617         * modules/unicase/u32-is-uppercase-tests: New file.
29618         * tests/unicase/test-u32-is-uppercase.c: New file.
29619
29620         Tests for module 'unicase/u16-is-uppercase'.
29621         * modules/unicase/u16-is-uppercase-tests: New file.
29622         * tests/unicase/test-u16-is-uppercase.c: New file.
29623
29624         Tests for module 'unicase/u8-is-uppercase'.
29625         * modules/unicase/u8-is-uppercase-tests: New file.
29626         * tests/unicase/test-u8-is-uppercase.c: New file.
29627         * tests/unicase/test-is-uppercase.h: New file.
29628
29629         New module 'unicase/u32-is-uppercase'.
29630         * lib/unicase/u32-is-uppercase.c: New file.
29631         * modules/unicase/u32-is-uppercase: New file.
29632
29633         New module 'unicase/u16-is-uppercase'.
29634         * lib/unicase/u16-is-uppercase.c: New file.
29635         * modules/unicase/u16-is-uppercase: New file.
29636
29637         New module 'unicase/u8-is-uppercase'.
29638         * lib/unicase/u8-is-uppercase.c: New file.
29639         * modules/unicase/u8-is-uppercase: New file.
29640
29641         New module 'unicase/u32-is-invariant'.
29642         * lib/unicase/u32-is-invariant.c: New file.
29643         * modules/unicase/u32-is-invariant: New file.
29644
29645         New module 'unicase/u16-is-invariant'.
29646         * lib/unicase/u16-is-invariant.c: New file.
29647         * modules/unicase/u16-is-invariant: New file.
29648
29649         New module 'unicase/u8-is-invariant'.
29650         * lib/unicase/u8-is-invariant.c: New file.
29651         * lib/unicase/invariant.h: New file.
29652         * lib/unicase/u-is-invariant.h: New file.
29653         * modules/unicase/u8-is-invariant: New file.
29654
29655         Tests for module 'unicase/u32-casecoll'.
29656         * modules/unicase/u32-casecoll-tests: New file.
29657         * tests/unicase/test-u32-casecoll.c: New file.
29658
29659         Tests for module 'unicase/u16-casecoll'.
29660         * modules/unicase/u16-casecoll-tests: New file.
29661         * tests/unicase/test-u16-casecoll.c: New file.
29662
29663         Tests for module 'unicase/u8-casecoll'.
29664         * modules/unicase/u8-casecoll-tests: New file.
29665         * tests/unicase/test-u8-casecoll.c: New file.
29666
29667         New module 'unicase/u32-casecoll'.
29668         * lib/unicase/u32-casecoll.c: New file.
29669         * modules/unicase/u32-casecoll: New file.
29670
29671         New module 'unicase/u16-casecoll'.
29672         * lib/unicase/u16-casecoll.c: New file.
29673         * modules/unicase/u16-casecoll: New file.
29674
29675         New module 'unicase/u8-casecoll'.
29676         * lib/unicase/u8-casecoll.c: New file.
29677         * lib/unicase/u-casecoll.h: New file.
29678         * modules/unicase/u8-casecoll: New file.
29679
29680         New module 'unicase/u32-casexfrm'.
29681         * lib/unicase/u32-casexfrm.c: New file.
29682         * modules/unicase/u32-casexfrm: New file.
29683
29684         New module 'unicase/u16-casexfrm'.
29685         * lib/unicase/u16-casexfrm.c: New file.
29686         * modules/unicase/u16-casexfrm: New file.
29687
29688         New module 'unicase/u8-casexfrm'.
29689         * lib/unicase/u8-casexfrm.c: New file.
29690         * lib/unicase/u-casexfrm.h: New file.
29691         * modules/unicase/u8-casexfrm: New file.
29692
29693         Tests for module 'unicase/u32-casecmp'.
29694         * modules/unicase/u32-casecmp-tests: New file.
29695         * tests/unicase/test-u32-casecmp.c: New file.
29696
29697         Tests for module 'unicase/u16-casecmp'.
29698         * modules/unicase/u16-casecmp-tests: New file.
29699         * tests/unicase/test-u16-casecmp.c: New file.
29700
29701         Tests for module 'unicase/u8-casecmp'.
29702         * modules/unicase/u8-casecmp-tests: New file.
29703         * tests/unicase/test-u8-casecmp.c: New file.
29704         * tests/unicase/test-casecmp.h: New file.
29705
29706         New module 'unicase/u32-casecmp'.
29707         * lib/unicase/u32-casecmp.c: New file.
29708         * modules/unicase/u32-casecmp: New file.
29709
29710         New module 'unicase/u16-casecmp'.
29711         * lib/unicase/u16-casecmp.c: New file.
29712         * modules/unicase/u16-casecmp: New file.
29713
29714         New module 'unicase/u8-casecmp'.
29715         * lib/unicase/u8-casecmp.c: New file.
29716         * lib/unicase/u-casecmp.h: New file.
29717         * modules/unicase/u8-casecmp: New file.
29718
29719         Tests for module 'unicase/u32-casefold'.
29720         * modules/unicase/u32-casefold-tests: New file.
29721         * tests/unicase/test-u32-casefold.c: New file.
29722
29723         Tests for module 'unicase/u16-casefold'.
29724         * modules/unicase/u16-casefold-tests: New file.
29725         * tests/unicase/test-u16-casefold.c: New file.
29726
29727         Tests for module 'unicase/u8-casefold'.
29728         * modules/unicase/u8-casefold-tests: New file.
29729         * tests/unicase/test-u8-casefold.c: New file.
29730
29731         New module 'unicase/u32-casefold'.
29732         * lib/unicase/u32-casefold.c: New file.
29733         * modules/unicase/u32-casefold: New file.
29734
29735         New module 'unicase/u16-casefold'.
29736         * lib/unicase/u16-casefold.c: New file.
29737         * modules/unicase/u16-casefold: New file.
29738
29739         New module 'unicase/u8-casefold'.
29740         * lib/unicase/u8-casefold.c: New file.
29741         * lib/unicase/u-casefold.h: New file.
29742         * modules/unicase/u8-casefold: New file.
29743
29744         New module 'unicase/tocasefold'.
29745         * lib/unicase/casefold.h: New file.
29746         * lib/unicase/tocasefold.c: New file.
29747         * lib/unicase/tocasefold.h: New file, generated by gen-uni-tables.c.
29748         * modules/unicase/tocasefold: New file.
29749
29750         Tests for module 'unicase/u32-totitle'.
29751         * modules/unicase/u32-totitle-tests: New file.
29752         * tests/unicase/test-u32-totitle.c: New file.
29753
29754         Tests for module 'unicase/u16-totitle'.
29755         * modules/unicase/u16-totitle-tests: New file.
29756         * tests/unicase/test-u16-totitle.c: New file.
29757
29758         Tests for module 'unicase/u8-totitle'.
29759         * modules/unicase/u8-totitle-tests: New file.
29760         * tests/unicase/test-u8-totitle.c: New file.
29761
29762         New module 'unicase/u32-totitle'.
29763         * lib/unicase/u32-totitle.c: New file.
29764         * modules/unicase/u32-totitle: New file.
29765
29766         New module 'unicase/u16-totitle'.
29767         * lib/unicase/u16-totitle.c: New file.
29768         * modules/unicase/u16-totitle: New file.
29769
29770         New module 'unicase/u8-totitle'.
29771         * lib/unicase/u8-totitle.c: New file.
29772         * lib/unicase/u-totitle.h: New file.
29773         * modules/unicase/u8-totitle: New file.
29774
29775         Tests for module 'unicase/u32-tolower'.
29776         * modules/unicase/u32-tolower-tests: New file.
29777         * tests/unicase/test-u32-tolower.c: New file.
29778
29779         Tests for module 'unicase/u16-tolower'.
29780         * modules/unicase/u16-tolower-tests: New file.
29781         * tests/unicase/test-u16-tolower.c: New file.
29782
29783         Tests for module 'unicase/u8-tolower'.
29784         * modules/unicase/u8-tolower-tests: New file.
29785         * tests/unicase/test-u8-tolower.c: New file.
29786
29787         New module 'unicase/u32-tolower'.
29788         * lib/unicase/u32-tolower.c: New file.
29789         * modules/unicase/u32-tolower: New file.
29790
29791         New module 'unicase/u16-tolower'.
29792         * lib/unicase/u16-tolower.c: New file.
29793         * modules/unicase/u16-tolower: New file.
29794
29795         New module 'unicase/u8-tolower'.
29796         * lib/unicase/u8-tolower.c: New file.
29797         * modules/unicase/u8-tolower: New file.
29798
29799         Tests for module 'unicase/u32-toupper'.
29800         * modules/unicase/u32-toupper-tests: New file.
29801         * tests/unicase/test-u32-toupper.c: New file.
29802
29803         Tests for module 'unicase/u16-toupper'.
29804         * modules/unicase/u16-toupper-tests: New file.
29805         * tests/unicase/test-u16-toupper.c: New file.
29806
29807         Tests for module 'unicase/u8-toupper'.
29808         * modules/unicase/u8-toupper-tests: New file.
29809         * tests/unicase/test-u8-toupper.c: New file.
29810
29811         New module 'unicase/u32-toupper'.
29812         * lib/unicase/u32-toupper.c: New file.
29813         * modules/unicase/u32-toupper: New file.
29814
29815         New module 'unicase/u16-toupper'.
29816         * lib/unicase/u16-toupper.c: New file.
29817         * modules/unicase/u16-toupper: New file.
29818
29819         New module 'unicase/u8-toupper'.
29820         * lib/unicase/u8-toupper.c: New file.
29821         * modules/unicase/u8-toupper: New file.
29822
29823         New module 'unicase/u32-casemap'.
29824         * lib/unicase/u32-casemap.c: New file.
29825         * modules/unicase/u32-casemap: New file.
29826
29827         New module 'unicase/u16-casemap'.
29828         * lib/unicase/u16-casemap.c: New file.
29829         * modules/unicase/u16-casemap: New file.
29830
29831         New module 'unicase/u8-casemap'.
29832         * lib/unicase/unicasemap.h: New file.
29833         * lib/unicase/u8-casemap.c: New file.
29834         * lib/unicase/u-casemap.h: New file.
29835         * modules/unicase/u8-casemap: New file.
29836
29837         New module 'unicase/special-casing'.
29838         * lib/unicase/special-casing.h: New file.
29839         * lib/unicase/special-casing.c: New file.
29840         * lib/unicase/special-casing-table.gperf: New file, generated by
29841         gen-uni-tables.c.
29842         * modules/unicase/special-casing: New file.
29843
29844         Tests for module 'unicase/locale-language'.
29845         * modules/unicase/locale-language-tests: New file.
29846         * tests/unicase/test-locale-language.sh: New file.
29847         * tests/unicase/test-locale-language.c: New file.
29848
29849         New module 'unicase/locale-language'.
29850         * lib/unicase/locale-language.c: New file.
29851         * lib/unicase/locale-languages.gperf: New file.
29852         * modules/unicase/locale-language: New file.
29853
29854         Generate more tables for case conversion and case folding.
29855         * lib/gen-uni-tables.c (SCC_*): New enum items.
29856         (struct special_casing_rule): New type.
29857         (casing_rules, num_casing_rules, allocated_casing_rules): New
29858         variables.
29859         (add_casing_rule, fill_casing_rules): New functions.
29860         (struct casefold_rule): New type.
29861         (casefolding_rules, num_casefolding_rules,
29862         allocated_casefolding_rules): New variables.
29863         (fill_casefolding_rules): New function.
29864         (unicode_casefold): New variable.
29865         (to_casefold, redistribute_casefolding_rules, compare_casing_rules,
29866         sort_casing_rules, output_casing_rules): New functions.
29867         (main): Accept to more arguments: SpecialCasing.txt and
29868         CaseFolding.txt. Invoke fill_casing_rules, fill_casefolding_rules,
29869         redistribute_casefolding_rules, sort_casing_rules, output_casing_rules.
29870         Output mapping for casefolding.
29871
29872         * lib/unicase.h: Include stdbool.h, uninorm.h.
29873         (u8_toupper, u16_toupper, u32_toupper, u8_tolower, u16_tolower,
29874         u32_tolower, u8_totitle, u16_totitle, u32_totitle): Add nf argument.
29875         (u8_casefold, u16_casefold, u32_casefold): Add iso639_language and nf
29876         arguments.
29877         (u8_casecmp, u16_casecmp, u32_casecmp): Add iso639_language, nf,
29878         resultp arguments.
29879         (u8_casexfrm, u16_casexfrm, u32_casexfrm): New declarations.
29880         (u8_casecoll, u16_casecoll, u32_casecoll): Add iso639_language, nf,
29881         resultp arguments.
29882         (u8_is_uppercase, u16_is_uppercase, u32_is_uppercase, u8_is_lowercase,
29883         u16_is_lowercase, u32_is_lowercase, u8_is_titlecase, u16_is_titlecase,
29884         u32_is_titlecase, u8_is_casefolded, u16_is_casefolded,
29885         u32_is_casefolded, u8_is_cased, u16_is_cased, u32_is_cased): New
29886         declarations.
29887         * modules/unicase/base (Depends-on): Add uninorm/base, stdbool.
29888
29889 2009-03-08  Bruno Haible  <bruno@clisp.org>
29890
29891         * lib/uninorm.h (u8_normcmp, u16_normcmp, u32_normcmp, u8_normcoll,
29892         u16_normcoll, u32_normcoll): Rename argument 'result' to 'resultp'.
29893         * lib/uninorm/u-normcmp.h (FUNC): Likewise.
29894         * lib/uninorm/u-normcoll.h (FUNC): Likewise.
29895
29896 2009-03-07  Bruno Haible  <bruno@clisp.org>
29897
29898         Adjust u*_normcmp, u*_normcoll API.
29899         * lib/uninorm.h (u8_normcmp, u16_normcmp, u32_normcmp, u8_normcoll,
29900         u16_normcoll, u32_normcoll): Change failure conventions.
29901         * lib/uninorm/u-normcmp.h (FUNC): Upon failure, store the error code in
29902         errno and return -1.
29903         * lib/uninorm/u-normcoll.h (FUNC): Likewise.
29904
29905 2009-03-07  Bruno Haible  <bruno@clisp.org>
29906
29907         Tests for module 'uninorm/u32-normcoll'.
29908         * modules/uninorm/u32-normcoll-tests: New file.
29909         * tests/uninorm/test-u32-normcoll.c: New file.
29910
29911         Tests for module 'uninorm/u16-normcoll'.
29912         * modules/uninorm/u16-normcoll-tests: New file.
29913         * tests/uninorm/test-u16-normcoll.c: New file.
29914
29915         Tests for module 'uninorm/u8-normcoll'.
29916         * modules/uninorm/u8-normcoll-tests: New file.
29917         * tests/uninorm/test-u8-normcoll.c: New file.
29918
29919 2009-03-07  Bruno Haible  <bruno@clisp.org>
29920
29921         * tests/uninorm/test-u32-normcmp.h: New file, extracted from
29922         tests/uninorm/test-u32-normcmp.c.
29923         * tests/uninorm/test-u32-normcmp.c: Include it.
29924         (test_nonascii): New function, extracted from main. Add some more
29925         tests.
29926         (main): Invoke test_ascii and test_nonascii.
29927         * modules/uninorm/u32-normcmp-tests (Files): Add
29928         tests/uninorm/test-u32-normcmp.h.
29929         (Depends-on): Remove uninorm/u32-normcmp.
29930
29931         * tests/uninorm/test-u16-normcmp.h: New file, extracted from
29932         tests/uninorm/test-u16-normcmp.c.
29933         * tests/uninorm/test-u16-normcmp.c: Include it.
29934         (test_nonascii): New function, extracted from main. Add some more
29935         tests.
29936         (main): Invoke test_ascii and test_nonascii.
29937         * modules/uninorm/u16-normcmp-tests (Files): Add
29938         tests/uninorm/test-u16-normcmp.h.
29939         (Depends-on): Remove uninorm/u16-normcmp.
29940
29941         * tests/uninorm/test-u8-normcmp.h: New file, extracted from
29942         tests/uninorm/test-u8-normcmp.c.
29943         * tests/uninorm/test-u8-normcmp.c: Include it.
29944         (test_nonascii): New function, extracted from main. Add some more
29945         tests.
29946         (main): Invoke test_ascii and test_nonascii.
29947         * modules/uninorm/u8-normcmp-tests (Files): Add
29948         tests/uninorm/test-u8-normcmp.h.
29949         (Depends-on): Remove uninorm/u8-normcmp.
29950
29951 2009-03-07  Bruno Haible  <bruno@clisp.org>
29952
29953         New module 'uninorm/u32-normcoll'.
29954         * lib/uninorm/u32-normcoll.c: New file.
29955         * modules/uninorm/u32-normcoll: New file.
29956
29957         New module 'uninorm/u16-normcoll'.
29958         * lib/uninorm/u16-normcoll.c: New file.
29959         * modules/uninorm/u16-normcoll: New file.
29960
29961         New module 'uninorm/u8-normcoll'.
29962         * lib/uninorm.h (u8_normcoll, u16_normcoll, u32_normcoll): New
29963         declarations.
29964         * lib/uninorm/u8-normcoll.c: New file.
29965         * lib/uninorm/u-normcoll.h: New file.
29966         * modules/uninorm/u8-normcoll: New file.
29967
29968         New module 'uninorm/u32-normxfrm'.
29969         * lib/uninorm/u32-normxfrm.c: New file.
29970         * modules/uninorm/u32-normxfrm: New file.
29971
29972         New module 'uninorm/u16-normxfrm'.
29973         * lib/uninorm/u16-normxfrm.c: New file.
29974         * modules/uninorm/u16-normxfrm: New file.
29975
29976         New module 'uninorm/u8-normxfrm'.
29977         * lib/uninorm.h (u8_normxfrm, u16_normxfrm, u32_normxfrm): New
29978         declarations.
29979         * lib/uninorm/u8-normxfrm.c: New file.
29980         * lib/uninorm/u-normxfrm.h: New file.
29981         * modules/uninorm/u8-normxfrm: New file.
29982
29983 2009-03-07  Bruno Haible  <bruno@clisp.org>
29984
29985         * modules/uninorm/u8-normcmp (Depends-on): Add uninorm/base.
29986         * modules/uninorm/u16-normcmp (Depends-on): Likewise.
29987         * modules/uninorm/u32-normcmp (Depends-on): Likewise.
29988
29989 2009-03-07  Bruno Haible  <bruno@clisp.org>
29990
29991         New module 'memxfrm'.
29992         * lib/memxfrm.h: New file.
29993         * lib/memxfrm.c: New file.
29994         * modules/memxfrm: New file.
29995
29996 2009-03-07  Bruno Haible  <bruno@clisp.org>
29997
29998         New module 'memcmp2'.
29999         * lib/memcmp2.h: New file.
30000         * lib/memcmp2.c: New file.
30001         * modules/memcmp2: New file.
30002
30003 2009-03-07  Bruno Haible  <bruno@clisp.org>
30004
30005         Tests for module 'uninorm/decomposing-form'.
30006         * modules/uninorm/decomposing-form-tests: New file.
30007         * tests/uninorm/test-decomposing-form.c: New file.
30008
30009         New module 'uninorm/decomposing-form'.
30010         * lib/uninorm.h (uninorm_decomposing_form): New declaration.
30011         * lib/uninorm/normalize-internal.h (struct unicode_normalization_form):
30012         Add 'decomposing_variant' field.
30013         * lib/uninorm/decomposing-form.c: New file.
30014         * lib/uninorm/nfc.c (uninorm_nfc): Update.
30015         * lib/uninorm/nfd.c (uninorm_nfd): Update.
30016         * lib/uninorm/nfkc.c (uninorm_nfkc): Update.
30017         * lib/uninorm/nfkd.c (uninorm_nfkd): Update.
30018         * modules/uninorm/decomposing-form: New file.
30019         * modules/uninorm/nfc (Depends-on): Add uninorm/nfd.
30020         * modules/uninorm/nfkc (Depends-on): Add uninorm/nfkd.
30021
30022 2009-03-07  Bruno Haible  <bruno@clisp.org>
30023
30024         * lib/uninorm/u-normcmp.h (FUNC): Use stack=allocated buffers for small
30025         strings.
30026
30027 2009-03-06  Bruno Haible  <bruno@clisp.org>
30028
30029         Tests for module 'uninorm/u32-normcmp'.
30030         * tests/uninorm/test-u32-normcmp.c: New file.
30031         * modules/uninorm/u32-normcmp-tests: New file.
30032
30033         Tests for module 'uninorm/u16-normcmp'.
30034         * tests/uninorm/test-u16-normcmp.c: New file.
30035         * modules/uninorm/u16-normcmp-tests: New file.
30036
30037         Tests for module 'uninorm/u8-normcmp'.
30038         * tests/uninorm/test-u8-normcmp.c: New file.
30039         * modules/uninorm/u8-normcmp-tests: New file.
30040
30041         New module 'uninorm/u32-normcmp'.
30042         * lib/uninorm/u32-normcmp.c: New file.
30043         * modules/uninorm/u32-normcmp: New file.
30044
30045         New module 'uninorm/u16-normcmp'.
30046         * lib/uninorm/u16-normcmp.c: New file.
30047         * modules/uninorm/u16-normcmp: New file.
30048
30049         New module 'uninorm/u8-normcmp'.
30050         * lib/uninorm.h (u8_normcmp, u16_normcmp, u32_normcmp): New
30051         declarations.
30052         * lib/uninorm/u8-normcmp.c: New file.
30053         * lib/uninorm/u-normcmp.h: New file.
30054         * modules/uninorm/u8-normcmp: New file.
30055
30056 2009-03-06  Bruno Haible  <bruno@clisp.org>
30057
30058         * lib/w32spawn.h (dup_noinherit): Add cast, to avoid gcc warning.
30059         Reported by Eric Blake.
30060
30061 2009-03-06  Eric Blake  <ebb9@byu.net>
30062             Bruno Haible  <bruno@clisp.org>
30063
30064         * lib/spawni.c (__spawni) [WIN32_NATIVE]: Define as a stub.
30065         * modules/posix_spawn-tests (configure.ac): Define POSIX_SPAWN_PORTED
30066         condition.
30067         (Makefile.am): Do nothing if POSIX_SPAWN_PORTED is false.
30068         * modules/posix_spawnp-tests (configure.ac): Define POSIX_SPAWN_PORTED
30069         condition.
30070         (Makefile.am): Do nothing if POSIX_SPAWN_PORTED is false.
30071
30072 2009-03-06  Eric Blake  <ebb9@byu.net>
30073
30074         * lib/execute.c (execute) [WIN32_NATIVE]: Cast arguments of spawnvpe,
30075         to avoid compiler warnings.
30076         * lib/pipe.c (create_pipe) [WIN32_NATIVE]: Likewise.
30077
30078 2009-03-05  Bruno Haible  <bruno@clisp.org>
30079
30080         * tests/test-ftell.c (main): Disable test beyond end of file on
30081         FreeMiNT.
30082         Patch by Alan Hourihane <alanh@fairlite.co.uk>.
30083
30084 2009-03-05  Kamil Dudka  <kdudka@redhat.com>
30085
30086         * lib/filevercmp.c: Move hidden files up in ordering.
30087         * tests/test-filevercmp.c: Add tests for hidden files.
30088
30089 2009-03-04  Bruno Haible  <bruno@clisp.org>
30090
30091         * modules/visibility (Makefile.am): Augment AM_CFLAGS.
30092         * gnulib-tool (func_emit_lib_Makefile_am): Emit initialization of
30093         AM_CFLAGS.
30094         Reported by Simon Josefsson.
30095
30096 2009-03-03  Bruno Haible  <bruno@clisp.org>
30097
30098         * doc/visibility.texi: Recommend to use HAVE_VISIBILITY as a C macro.
30099         Reported by Simon Josefsson.
30100
30101         * doc/ld-version-script.texi: Update node reference.
30102
30103 2009-03-03  Bruno Haible  <bruno@clisp.org>
30104
30105         * modules/visibility (License): Change to 'unlimited'.
30106         Suggested by Simon Josefsson.
30107
30108 2009-03-03  Jim Meyering  <meyering@redhat.com>
30109
30110         unlinkdir: cannot_unlink_dir may modify process state
30111         * lib/unlinkdir.c (cannot_unlink_dir): Add a comment warning that
30112         it's neither thread-safe nor appropriate for use in a library.
30113
30114 2009-03-03  Eric Blake  <ebb9@byu.net>
30115
30116         test-closein: silence test under Darwin
30117         * tests/test-closein.sh: Ignore stderr from cat, since we don't
30118         care if it dies from EPIPE or EBADF.
30119
30120 2009-03-03  Bruno Haible  <bruno@clisp.org>
30121
30122         * doc/gnulib.texi: Include visibility.texi and ld-version-script.texi
30123         earlier.
30124         * doc/visibility.texi: Fix @node and @section.
30125
30126 2009-03-03  Simon Josefsson  <simon@josefsson.org>
30127
30128         * doc/gnulib.texi: Link to sections for ld version script and
30129         visibility.
30130         * doc/visibility.texi: Add @node and @section.
30131         * modules/ld-version-script: New module.
30132         * m4/ld-version-script.m4: New file.
30133         * doc/ld-version-script.texi: New file.
30134
30135 2009-03-02  David Lutterkort  <lutter@redhat.com>
30136
30137         * lib/safe-alloc.h (__GNUC_PREREQ): New macro.
30138         Reported by Tom G. Christensen <tgc@jupiterrise.com>.
30139
30140 2009-03-02  Bruno Haible  <bruno@clisp.org>
30141
30142         * doc/visibility.texi: Mention libtool's -export-symbols option.
30143
30144 2009-03-02  Jim Meyering  <meyering@redhat.com>
30145
30146         announce-gen: new option: --no-print-checksums
30147         * build-aux/announce-gen (usage): Describe it.
30148         (print_checksums): Print a newline here, not in the [*] footnote.
30149         (main): Honor it.
30150
30151 2009-03-01  Bruno Haible  <bruno@clisp.org>
30152
30153         Use socklen_t in the native Windows replacements prototypes.
30154         * lib/sys_socket.in.h (rpl_getsockopt, rpl_setsockopt): Use socklen_t
30155         instead of 'int'.
30156         * lib/getsockopt.c (rpl_getsockopt): Likewise.
30157         * lib/setsockopt.c (rpl_setsockopt): Likewise.
30158         * modules/getsockopt (Depends-on): Add socklen.
30159         * modules/setsockopt (Depends-on): Add socklen.
30160
30161 2009-03-01  Bruno Haible  <bruno@clisp.org>
30162
30163         * gnulib-tool (sed): Do alias as "sed --posix" if sed's version is at
30164         least 4.2.
30165
30166 2009-03-01  Eric Blake  <ebb9@byu.net>
30167             Bruno Haible  <bruno@clisp.org>
30168
30169         * lib/wait-process.h (wait_subprocess): Describe effect of termsigp on
30170         error messages.
30171         * lib/wait-process.c (wait_subprocess): Omit error message about
30172         deadly signal sent to the child of termsigp != NULL.
30173
30174 2009-03-01  Eric Blake  <ebb9@byu.net>
30175
30176         * lib/wait-process.c (wait_subprocess): Remove unnecessary cast.
30177
30178 2009-03-01  Bruno Haible  <bruno@clisp.org>
30179
30180         Avoid a gcc warning.
30181         * tests/test-sched.c (b): Make global.
30182         Reported by Eric Blake.
30183
30184 2009-01-19  Martin Lambers  <marlam@marlam.de>
30185
30186         Provide POSIX semantics for socket timeout options on W32.
30187         * lib/setsockopt.c: Convert struct timeval to milliseconds on W32.
30188         * lib/getsockopt.c: Convert milliseconds to struct timeval on W32.
30189         * modules/setsockopt: Depend on sys_time module for struct timeval.
30190         * modules/getsockopt: Depend on sys_time module for struct timeval.
30191
30192 2009-03-01  Simon Josefsson  <simon@josefsson.org>
30193
30194         * lib/gai_strerror.c (values): Use EAI_INPROGRESS instead of
30195         __USE_GNU, for consistency with netdb.in.h.
30196         Reported by Alan Hourihane <alanh@fairlite.co.uk>.
30197
30198 2009-03-01  Bruno Haible  <bruno@clisp.org>
30199
30200         More support for FreeMiNT.
30201         * lib/fseeko.c (rpl_fseeko): Complete last commit.
30202         Reported by Alan Hourihane <alanh@fairlite.co.uk>.
30203
30204 2009-03-01  Bruno Haible  <bruno@clisp.org>
30205
30206         More support for FreeMiNT.
30207         * lib/fpurge.c (fpurge): Correct last commit.
30208         Reported by Alan Hourihane <alanh@fairlite.co.uk>.
30209
30210 2009-03-01  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
30211
30212         Fix unportable awk script in vc-list-files.
30213         * build-aux/vc-list-files: In the replacement awk script, use
30214         substr with a second argument of 1, not zero.
30215         Report by Simon Josefsson.
30216
30217 2009-02-28  Bruno Haible  <bruno@clisp.org>
30218
30219         More support for FreeMiNT.
30220         * lib/freading.c (freading) [__MINT__]: Use new macros that were added
30221         to FreeMiNT today.
30222         * lib/fwriting.c (fwriting): Likewise.
30223         Based on patch by Alan Hourihane <alanh@fairlite.co.uk>.
30224
30225 2009-02-28  Bruno Haible  <bruno@clisp.org>
30226
30227         * tests/test-freadseek.c (main): Disable test beyond end of file on
30228         FreeMiNT.
30229         * tests/test-ftello.c (main): Likewise.
30230         Patch by Alan Hourihane <alanh@fairlite.co.uk>.
30231
30232 2009-02-28  Bruno Haible  <bruno@clisp.org>
30233
30234         Add tentative support for FreeMiNT.
30235         * lib/fbufmode.c (fbufmode) [__MINT__]: Add conditional code.
30236         * lib/fpurge.c (fpurge): Likewise.
30237         * lib/freadable.c (freadable): Likewise.
30238         * lib/freading.c (freading): Likewise.
30239         * lib/freadptr.c (freadptr): Likewise.
30240         * lib/freadseek.c (freadptrinc): Likewise.
30241         * lib/fseeko.c (rpl_fseeko): Likewise.
30242         * lib/fseterr.c (fseterr): Likewise.
30243         * lib/fwritable.c (fwritable): Likewise.
30244         * lib/fwriting.c (fwriting): Likewise.
30245         * lib/freadahead.c (freadahead): Likewise, based on code by Alan
30246         Hourihane.
30247         Reported by Alan Hourihane <alanh@fairlite.co.uk>.
30248
30249 2009-02-28  Bruno Haible  <bruno@clisp.org>
30250
30251         * lib/wait-process.h (wait_subprocess): Clarify restriction regarding
30252         SIGCHLD.
30253         Reported by Jim Meyering.
30254
30255 2009-02-28  Bruno Haible  <bruno@clisp.org>
30256
30257         * m4/printf.m4 (gl_PRINTF_DIRECTIVE_LS): Separate the two first tests.
30258         Mention the results of these tests on various platforms.
30259         * doc/posix-functions/fprintf.texi: Mention platforms in canonical
30260         order.
30261         * doc/posix-functions/printf.texi: Likewise.
30262         * doc/posix-functions/snprintf.texi: Likewise.
30263         * doc/posix-functions/sprintf.texi: Likewise.
30264         * doc/posix-functions/vfprintf.texi: Likewise.
30265         * doc/posix-functions/vprintf.texi: Likewise.
30266         * doc/posix-functions/vsnprintf.texi: Likewise.
30267         * doc/posix-functions/vsprintf.texi: Likewise.
30268         * doc/glibc-functions/obstack_printf.texi: Likewise.
30269         * doc/glibc-functions/obstack_vprintf.texi: Likewise.
30270
30271 2009-02-28  Bruno Haible  <bruno@clisp.org>
30272
30273         * build-aux/po/Makefile.in.in: Update from GNU gettext 0.17.
30274         Reported by Loïc Minier <lool@dooz.org>.
30275
30276 2009-02-27  Bruno Haible  <bruno@clisp.org>
30277
30278         * gnulib-tool (func_import): Make the sed expression used to create the
30279         sed script for updating the .gitignore file POSIX compliant.
30280         Reported by Eric Blake.
30281
30282 2009-02-27  Bruno Haible  <bruno@clisp.org>
30283
30284         * gnulib-tool (sed): Don't alias as "sed --posix".
30285         Reported by Eric Blake.
30286
30287 2009-02-27  Bruno Haible  <bruno@clisp.org>
30288
30289         Avoid test link errors.
30290         * modules/uninorm/nfc-tests (test_u32_nfc_big_LDADD): New variable.
30291         * modules/uninorm/nfd-tests (test_u32_nfd_big_LDADD): New variable.
30292         * modules/uninorm/nfkc-tests (test_u32_nfkc_big_LDADD): New variable.
30293         * modules/uninorm/nfkd-tests (test_u32_nfkd_big_LDADD): New variable.
30294         Reported by Tom G. Christensen <tgc@jupiterrise.com>.
30295
30296 2009-02-27  Bruno Haible  <bruno@clisp.org>
30297
30298         Avoid spurious "(cached)" in configure output.
30299         * m4/gnulib-common.m4 (gl_CACHE_VAL_SILENT): New macro.
30300         * m4/ceil.m4 (gl_FUNC_CEIL_LIBS): Use it instead of AC_CACHE_VAL.
30301         * m4/ceilf.m4 (gl_FUNC_CEILF_LIBS): Likewise.
30302         * m4/ceill.m4 (gl_FUNC_CEILL_LIBS): Likewise.
30303         * m4/floor.m4 (gl_FUNC_FLOOR_LIBS): Likewise.
30304         * m4/floorf.m4 (gl_FUNC_FLOORF_LIBS): Likewise.
30305         * m4/floorl.m4 (gl_FUNC_FLOORL_LIBS): Likewise.
30306         * m4/stdarg.m4 (gl_STDARG_H): Likewise.
30307         Reported by Eric Blake.
30308
30309 2009-02-27  Eric Blake  <ebb9@byu.net>
30310
30311         printf: fix regression in previous patch
30312         * m4/printf.m4 (gl_PRINTF_DIRECTIVE_LS): Fix compilation error.
30313
30314 2009-02-27  Bruno Haible  <bruno@clisp.org>
30315
30316         * lib/inttypes.in.h: Test merely whether _LP64 is defined, not its
30317         value.
30318         * lib/stdint.in.h: Likewise.
30319         Suggested by Eric Blake. Reported by Peter Bray <pdb_ml@yahoo.com.au>.
30320
30321 2009-02-27  Eric Blake  <ebb9@byu.net>
30322
30323         doc: mention more functions added in cygwin 1.7.0
30324         * doc/posix-functions/mbsnrtowcs.texi: Mention recent cygwin 1.7.0
30325         addition.
30326         * doc/posix-functions/open_wmemstream.texi: Likewise.
30327         * doc/posix-functions/wcsnlen.texi: Likewise.
30328         * doc/posix-functions/wcsnrtombs.texi: Likewise.
30329         * doc/posix-functions/wcstod.texi: Likewise.
30330         * doc/posix-functions/wcstof.texi: Likewise.
30331         * doc/posix-functions/wcstoimax.texi: Likewise.
30332         * doc/posix-functions/wcstok.texi: Likewise.
30333         * doc/posix-functions/wcstoumax.texi: Likewise.
30334
30335         Detect bug in cygwin 1.5.x *printf on 1-character %ls.
30336         * m4/printf.m4 (gl_PRINTF_DIRECTIVE_LS): Enhance filter.
30337         * doc/posix-functions/fprintf.texi: Update.
30338         * doc/posix-functions/printf.texi: Update.
30339         * doc/posix-functions/snprintf.texi: Update.
30340         * doc/posix-functions/sprintf.texi: Update.
30341         * doc/posix-functions/vfprintf.texi: Update.
30342         * doc/posix-functions/vprintf.texi: Update.
30343         * doc/posix-functions/vsnprintf.texi: Update.
30344         * doc/posix-functions/vsprintf.texi: Update.
30345         * doc/glibc-functions/obstack_printf.texi: Update.
30346         * doc/glibc-functions/obstack_vprintf.texi: Update.
30347
30348 2009-02-26  Eric Blake  <ebb9@byu.net>
30349
30350         avoid gcc 3.4.3 bug on long double NaN on Irix 6.5
30351         * tests/nan.h (NaNl): Rewrite as function on Irix, to avoid
30352         compilation bug by using runtime conversion.
30353         * m4/isfinite.m4 (gl_ISFINITE): Likewise.
30354         * m4/isnanl.m4 (gl_FUNC_ISNANL): Likewise.
30355         * modules/ceill-tests (Files): Use nan.h.
30356         * modules/floorl-tests (Files): Likewise.
30357         * modules/frexpl-tests (Files): Likewise.
30358         * modules/isnanl-tests (Files): Likewise.
30359         * modules/ldexpl-tests (Files): Likewise.
30360         * modules/roundl-tests (Files): Likewise.
30361         * modules/truncl-tests (Files): Likewise.
30362         * tests/test-ceill.c (main): Use a working NaN.
30363         * tests/test-floorl.c (main): Likewise.
30364         * tests/test-frexpl.c (main): Likewise.
30365         * tests/test-isnan.c (test_long_double): Likewise.
30366         * tests/test-isnanl.h (main): Likewise.
30367         * tests/test-ldexpl.h (main): Likewise.
30368         * tests/test-roundl.h (main): Likewise.
30369         * tests/test-truncl.h (main): Likewise.
30370         See http://lists.gnu.org/archive/html/bug-gnulib/2009-02/msg00190.html.
30371
30372 2009-02-26  Eric Blake  <ebb9@byu.net>
30373             Bruno Haible  <bruno@clisp.org>
30374
30375         Work around a *printf bug with %ls on Solaris.
30376         * m4/printf.m4 (gl_PRINTF_DIRECTIVE_LS): Also test whether, when a
30377         precision is specified, sprintf stops converting the wide string
30378         argument when the number of bytes that have been produced by this
30379         conversion equals or exceeds the precision.
30380         * doc/posix-functions/fprintf.texi: Update.
30381         * doc/posix-functions/printf.texi: Update.
30382         * doc/posix-functions/snprintf.texi: Update.
30383         * doc/posix-functions/sprintf.texi: Update.
30384         * doc/posix-functions/vfprintf.texi: Update.
30385         * doc/posix-functions/vprintf.texi: Update.
30386         * doc/posix-functions/vsnprintf.texi: Update.
30387         * doc/posix-functions/vsprintf.texi: Update.
30388         * doc/glibc-functions/obstack_printf.texi: Update.
30389         * doc/glibc-functions/obstack_vprintf.texi: Update.
30390
30391 2009-02-26  Eric Blake  <ebb9@byu.net>
30392
30393         stdlib: favor compiler check of random.h
30394         * m4/stdlib_h.m4 (gl_STDLIB_H): Skip preprocessor check.  Needed
30395         to avoid an ObjC random.h installed by Swarm.
30396
30397 2009-02-26  Bruno Haible  <bruno@clisp.org>
30398
30399         Work around *printf bug with %g directive and 0.0 on HP-UX 10.20.
30400         * m4/printf.m4 (gl_PRINTF_INFINITE): Also test for %g output of -0.0.
30401         Reported by Gary V. Vaughan <gary@gnu.org>.
30402
30403 2009-02-26  Bruno Haible  <bruno@clisp.org>
30404
30405         Fix *printf behaviour regarding the %ls directive.
30406         * m4/printf.m4 (gl_PRINTF_DIRECTIVE_LS): New macro.
30407         * lib/vasnprintf.c (local_wcslen, VASNPRINTF): Handle
30408         NEED_PRINTF_DIRECTIVE_LS.
30409         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF_DIRECTIVE_LS): New macro.
30410         (gl_PREREQ_VASNPRINTF_WITH_EXTRAS): Invoke it.
30411         * m4/fprintf-posix.m4 (gl_FUNC_FPRINTF_POSIX): Invoke
30412         gl_PREREQ_VASNPRINTF_DIRECTIVE_LS and test its result. Invoke
30413         gl_PREREQ_VASNPRINTF_DIRECTIVE_LS.
30414         * m4/dprintf-posix.m4 (gl_FUNC_DPRINTF_POSIX): Likewise.
30415         * m4/obstack-printf-posix.m4 (gl_FUNC_OBSTACK_PRINTF_POSIX): Likewise.
30416         * m4/snprintf-posix.m4 (gl_FUNC_SNPRINTF_POSIX): Likewise.
30417         * m4/sprintf-posix.m4 (gl_FUNC_SPRINTF_POSIX): Likewise.
30418         * m4/vasnprintf-posix.m4 (gl_FUNC_VASNPRINTF_POSIX): Likewise.
30419         * m4/vasprintf-posix.m4 (gl_FUNC_VASPRINTF_POSIX): Likewise.
30420         * m4/vdprintf-posix.m4 (gl_FUNC_VDPRINTF_POSIX): Likewise.
30421         * m4/vfprintf-posix.m4 (gl_FUNC_VFPRINTF_POSIX): Likewise.
30422         * m4/vsnprintf-posix.m4 (gl_FUNC_VSNPRINTF_POSIX): Likewise.
30423         * m4/vsprintf-posix.m4 (gl_FUNC_VSPRINTF_POSIX): Likewise.
30424         * doc/posix-functions/fprintf.texi: Update.
30425         * doc/posix-functions/printf.texi: Update.
30426         * doc/posix-functions/snprintf.texi: Update.
30427         * doc/posix-functions/sprintf.texi: Update.
30428         * doc/posix-functions/vfprintf.texi: Update.
30429         * doc/posix-functions/vprintf.texi: Update.
30430         * doc/posix-functions/vsnprintf.texi: Update.
30431         * doc/posix-functions/vsprintf.texi: Update.
30432         * doc/glibc-functions/obstack_printf.texi: Update.
30433         * doc/glibc-functions/obstack_vprintf.texi: Update.
30434         Reported by Eric Blake.
30435
30436 2009-02-25  Bruno Haible  <bruno@clisp.org>
30437
30438         * m4/mbrtowc.m4 (gl_MBRTOWC_NUL_RETVAL): Update guess for Solaris 8
30439         with known value.
30440         Reported by Gary V. Vaughan <gary@gnu.org>.
30441
30442 2009-02-25  Bruno Haible  <bruno@clisp.org>
30443
30444         Work around mbrtowc bug in zh_CN.GB18030 locale on Solaris 8.
30445         * m4/mbrtowc.m4 (gl_MBRTOWC_SANITYCHECK): New macro.
30446         (gl_MBSTATE_T_BROKEN): Invoke it. Replace mbstate_t when it says "no".
30447         * doc/posix-functions/mbrtowc.texi: Document the Solaris 8 bug.
30448         Reported by Gary V. Vaughan <gary@gnu.org>.
30449
30450 2009-02-25  Bruno Haible  <bruno@clisp.org>
30451
30452         Work around broken INT8_MAX, UINT8_MAX etc. values on HP-UX 11.23.
30453         * m4/stdint.m4 (gl_STDINT_H): Also check whether the expansions of
30454         INT8_MAX, UINT8_MAX etc. contain casts to elementary types.
30455         * doc/posix-headers/stdint.texi: Mention the HP-UX bug.
30456         Reported by Gary V. Vaughan <gary@gnu.org>.
30457
30458 2009-02-25  Eric Blake  <ebb9@byu.net>
30459
30460         tests: skip fseek/ftell tests if ungetc is broken
30461         * m4/ungetc.m4: New file.
30462         * modules/fseek-tests: Split test, so ungetc dependency is
30463         separate from rest of test.
30464         * modules/fseeko-tests: Likewise.
30465         * modules/ftell-tests: Likewise.
30466         * modules/ftello-tests: Likewise.
30467         * tests/test-fseek.c (main): Isolate ungetc dependency.
30468         * tests/test-fseeko.c (main): Likewise.
30469         * tests/test-ftell.c (main): Likewise.
30470         * tests/test-ftello.c (main): Likewise.
30471         * tests/test-fseek2.sh: New file.
30472         * tests/test-fseeko2.sh: Likewise.
30473         * tests/test-ftell2.sh: Likewise.
30474         * tests/test-ftello2.sh: Likewise.
30475
30476 2009-02-25  OndÅ™ej Vašík  <ovasik@redhat.com>
30477
30478         test-getaddrinfo: fix usage of skip return code 77
30479         * tests/test-gettaddrinfo.c: Return skip code 77 only
30480         for first occurance of skip (4x77 is not 77)
30481
30482 2009-02-25  Gary V. Vaughan  <gary@gnu.org>
30483
30484         strtod: avoid C99 decl-after-statement
30485         * m4/strtod.m4 (gl_FUNC_STRTOD): Rearrange declaration.
30486
30487 2009-02-24  Eric Blake  <ebb9@byu.net>
30488
30489         strtod: detect HP-UX 11.31 bug
30490         * m4/strtod.m4 (gl_FUNC_STRTOD): Detect errno handling bug.
30491         Reported by Gary V. Vaughan.
30492
30493 2009-02-23  Bruno Haible  <bruno@clisp.org>
30494
30495         Fix invalid read past end of memory block.
30496         * lib/vasnprintf.c (DCHAR_SET): Define.
30497         (local_wcslen): Define only when needed.
30498         (local_strnlen, local_wcsnlen): New functions.
30499         (VASNPRINTF) [!USE_SNPRINTF && HAVE_WCHAR_T]: Implement the %s and %ls
30500         directives that involve a conversion ourselves.
30501         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF): Also check for strnlen,
30502         wcsnlen, mbrtowc, wcrtomb.
30503         * tests/test-vasnprintf-posix.c (test_function): Add tests for %.*s.
30504         * tests/test-vasprintf-posix.c (test_function): Likewise.
30505         * tests/test-snprintf-posix.h (test_function): Likewise.
30506         * tests/test-sprintf-posix.h (test_function): Likewise.
30507         Reported by Ben Pfaff <blp@cs.stanford.edu>.
30508
30509 2009-02-22  Bruno Haible  <bruno@clisp.org>
30510
30511         Implement new clarified decomposition of Hangul syllables.
30512         * lib/uninorm/decomposition.c (uc_decomposition): For Hangul syllables
30513         of type LTV, return only a pairwise decomposition.
30514         * lib/uninorm/canonical-decomposition.c (uc_canonical_decomposition):
30515         Likewise.
30516         * tests/uninorm/test-decomposition.c (main): Updated expected result.
30517         * tests/uninorm/test-canonical-decomposition.c (main): Likewise.
30518         * tests/uninorm/test-compat-decomposition.c (main): Likewise.
30519
30520 2009-02-22  Bruno Haible  <bruno@clisp.org>
30521
30522         * lib/uninorm/u-normalize-internal.h (FUNC): At the end, handle
30523         zero-length results and shrink excess allocated memory.
30524         * tests/uninorm/test-u8-nfc.c (test_u8_nfc): Check empty string result.
30525         * tests/uninorm/test-u8-nfd.c (test_u8_nfd): Likewise.
30526         * tests/uninorm/test-u8-nfkc.c (test_u8_nfkc): Likewise.
30527         * tests/uninorm/test-u8-nfkd.c (test_u8_nfkd): Likewise.
30528         * tests/uninorm/test-u16-nfc.c (test_u16_nfc): Likewise.
30529         * tests/uninorm/test-u16-nfd.c (test_u16_nfd): Likewise.
30530         * tests/uninorm/test-u16-nfkc.c (test_u16_nfkc): Likewise.
30531         * tests/uninorm/test-u16-nfkd.c (test_u16_nfkd): Likewise.
30532         * tests/uninorm/test-u32-nfc.c (test_u32_nfc): Likewise.
30533         * tests/uninorm/test-u32-nfd.c (test_u32_nfd): Likewise.
30534         * tests/uninorm/test-u32-nfkc.c (test_u32_nfkc): Likewise.
30535         * tests/uninorm/test-u32-nfkd.c (test_u32_nfkd): Likewise.
30536
30537 2009-02-21  Bruno Haible  <bruno@clisp.org>
30538
30539         * doc/gnulib.texi: Include safe-alloc.texi earlier.
30540         * doc/safe-alloc.texi: Terminate sentences with a period. Use two
30541         spaces after a period. Put a space between a macro name and its
30542         argument list. Trivial rewordings.
30543         * lib/safe-alloc.c: Include safe-alloc.h right after config.h.
30544         * tests/test-safe-alloc.c: Likewise. Include stdlib.h.
30545         (main): Return 0 explicitly.
30546
30547 2009-02-21  Bruno Haible  <bruno@clisp.org>
30548
30549         Tests for module 'uninorm/filter'.
30550         * tests/uninorm/test-uninorm-filter-nfc.c: New file.
30551         * modules/uninorm/filter-tests: New file.
30552
30553         New module 'uninorm/filter'.
30554         * lib/uninorm.h (uninorm_filter_create, uninorm_filter_write,
30555         uninorm_filter_flush, uninorm_filter_free): New declarations.
30556         * lib/uninorm/uninorm-filter.c: New file.
30557         * modules/uninorm/filter: New file.
30558
30559 2009-02-21  Bruno Haible  <bruno@clisp.org>
30560
30561         Tests for module 'uninorm/nfkc'.
30562         * tests/uninorm/test-nfkc.c: New file.
30563         * tests/uninorm/test-u8-nfkc.c: New file.
30564         * tests/uninorm/test-u16-nfkc.c: New file.
30565         * tests/uninorm/test-u32-nfkc.c: New file.
30566         * tests/uninorm/test-u32-nfkc-big.sh: New file.
30567         * tests/uninorm/test-u32-nfkc-big.c: New file.
30568         * modules/uninorm/nfkc-tests: New file.
30569
30570         New module 'uninorm/nfkc'.
30571         * lib/uninorm/nfkc.c: New file.
30572         * modules/uninorm/nfkc: New file.
30573
30574         Tests for module 'uninorm/nfkd'.
30575         * tests/uninorm/test-nfkd.c: New file.
30576         * tests/uninorm/test-u8-nfkd.c: New file.
30577         * tests/uninorm/test-u16-nfkd.c: New file.
30578         * tests/uninorm/test-u32-nfkd.c: New file.
30579         * tests/uninorm/test-u32-nfkd-big.sh: New file.
30580         * tests/uninorm/test-u32-nfkd-big.c: New file.
30581         * modules/uninorm/nfkd-tests: New file.
30582
30583         New module 'uninorm/nfkd'.
30584         * lib/uninorm/nfkd.c: New file.
30585         * modules/uninorm/nfkd: New file.
30586
30587         Tests for module 'uninorm/nfc'.
30588         * tests/uninorm/test-nfc.c: New file.
30589         * tests/uninorm/test-u8-nfc.c: New file.
30590         * tests/uninorm/test-u16-nfc.c: New file.
30591         * tests/uninorm/test-u32-nfc.c: New file.
30592         * tests/uninorm/test-u32-nfc-big.sh: New file.
30593         * tests/uninorm/test-u32-nfc-big.c: New file.
30594         * modules/uninorm/nfc-tests: New file.
30595
30596         New module 'uninorm/nfc'.
30597         * lib/uninorm/nfc.c: New file.
30598         * modules/uninorm/nfc: New file.
30599
30600         Tests for module 'uninorm/nfd'.
30601         * tests/uninorm/test-nfd.c: New file.
30602         * tests/uninorm/test-u8-nfd.c: New file.
30603         * tests/uninorm/test-u16-nfd.c: New file.
30604         * tests/uninorm/test-u32-nfd.c: New file.
30605         * tests/uninorm/test-u32-nfd-big.sh: New file.
30606         * tests/uninorm/test-u32-nfd-big.c: New file.
30607         * tests/uninorm/test-u32-normalize-big.h: New file.
30608         * tests/uninorm/test-u32-normalize-big.c: New file.
30609         * tests/uninorm/NormalizationTest.txt: New file, created from
30610         Unicode 5.1.0 NormalizationTest.txt.
30611         * modules/uninorm/nfd-tests: New file.
30612
30613         New module 'uninorm/nfd'.
30614         * lib/uninorm/nfd.c: New file.
30615         * modules/uninorm/nfd: New file.
30616
30617         New module 'uninorm/u32-normalize'.
30618         * lib/uninorm/u32-normalize.c: New file.
30619         * modules/uninorm/u32-normalize: New file.
30620
30621         New module 'uninorm/u16-normalize'.
30622         * lib/uninorm/u16-normalize.c: New file.
30623         * modules/uninorm/u16-normalize: New file.
30624
30625         New module 'uninorm/u8-normalize'.
30626         * lib/uninorm/u8-normalize.c: New file.
30627         * lib/uninorm/normalize-internal.h: New file.
30628         * lib/uninorm/u-normalize-internal.h: New file.
30629         * modules/uninorm/u8-normalize: New file.
30630
30631         New module 'uninorm/decompose-internal'.
30632         * lib/uninorm/decompose-internal.c: New file.
30633         * modules/uninorm/decompose-internal: New file.
30634
30635         Tests for module 'uninorm/composition'.
30636         * tests/uninorm/test-composition.c: New file.
30637         * modules/uninorm/composition-tests: New file.
30638
30639         New module 'uninorm/composition'.
30640         * lib/uninorm/composition.c: New file.
30641         * lib/uninorm/composition-table.gperf: New file, generated by
30642         gen-uni-tables.
30643         * modules/uninorm/composition: New file.
30644
30645         Tests for module 'uninorm/compat-decomposition'.
30646         * tests/uninorm/test-compat-decomposition.c: New file.
30647         * modules/uninorm/compat-decomposition-tests: New file.
30648
30649         New module 'uninorm/compat-decomposition'.
30650         * lib/uninorm/decompose-internal.h: New file.
30651         * lib/uninorm/compat-decomposition.c: New file.
30652         * modules/uninorm/compat-decomposition: New file.
30653
30654         Tests for module 'uninorm/canonical-decomposition'.
30655         * tests/uninorm/test-canonical-decomposition.c: New file.
30656         * modules/uninorm/canonical-decomposition-tests: New file.
30657
30658         New module 'uninorm/canonical-decomposition'.
30659         * lib/uninorm/canonical-decomposition.c: New file.
30660         * modules/uninorm/canonical-decomposition: New file.
30661
30662         Tests for module 'uninorm/decomposition'.
30663         * tests/uninorm/test-decomposition.c: New file.
30664         * modules/uninorm/decomposition-tests: New file.
30665
30666         New module 'uninorm/decomposition'.
30667         * lib/uninorm/decomposition.c: New file.
30668         * modules/uninorm/decomposition: New file.
30669
30670         New module 'uninorm/decomposition-table'.
30671         * lib/uninorm/decomposition-table.h: New file.
30672         * lib/uninorm/decomposition-table.c: New file.
30673         * lib/uninorm/decomposition-table1.h: New file, generated by
30674         gen-uni-tables.
30675         * lib/uninorm/decomposition-table2.h: New file, generated by
30676         gen-uni-tables.
30677         * modules/uninorm/decomposition-table: New file.
30678
30679         * lib/gen-uni-tables.c (MAX_DECOMP_LENGTH): New macro.
30680         (UC_DECOMP_*): New enumeration items.
30681         (get_decomposition): New function.
30682         (struct decomp_table): New type.
30683         (output_decomposition, output_decomposition_tables): New functions.
30684         (unicode_composition_exclusions): New variable.
30685         (fill_composition_exclusions, debug_output_composition_tables): New
30686         functions.
30687         (main): Accept one more argument. Invoke fill_composition_exclusions.
30688         Output decomposition and composition tables.
30689
30690         New module 'uninorm/base'.
30691         * lib/uninorm.h: New file.
30692         * lib/unictype.h: Update comment.
30693         * modules/uninorm/base: New file.
30694
30695 2009-02-21  David Lutterkort  <lutter@redhat.com>
30696
30697         Tests for module 'safe-alloc'.
30698         * tests/test-safe-alloc.c: New file.
30699         * modules/safe-alloc-tests: New file.
30700
30701         New module 'safe-alloc'.
30702         * lib/safe-alloc.h: New file.
30703         * lib/safe-alloc.c: New file.
30704         * m4/safe-alloc.m4: New file.
30705         * modules/safe-alloc: New file.
30706         * doc/safe-alloc.texi: New file.
30707         * doc/gnulib.texi: Include it.
30708         * MODULES.html.sh (Memory management functions <stdlib.h>): Add
30709         safe-alloc.
30710
30711 2009-02-18  Bruno Haible  <bruno@clisp.org>
30712
30713         Fix link error on non-glibc systems.
30714         * modules/uniwbrk/ulc-wordbreaks-tests (test_ulc_wordbreaks_LDADD): New
30715         variable.
30716         Reported by Tom G. Christensen <tgc@jupiterrise.com>.
30717
30718 2009-02-18  Jim Meyering  <meyering@redhat.com>
30719
30720         fts: avoid used-uninitialized error due to recent change
30721         * lib/fts.c (fts_read): Guard uses of the new member,
30722         parent->fts_n_dirs_remaining, since it's not relevant for
30723         the parent of a directory specified on the command-line.
30724
30725 2009-02-17  James Youngman  <jay@gnu.org>
30726             Bruno Haible  <bruno@clisp.org>
30727
30728         * m4/include_next.m4: Reformulate comment.
30729
30730 2009-02-16  Jim Meyering  <meyering@redhat.com>
30731
30732         fts: add #if guards so that the fts_lgpl module still builds
30733         * lib/fts.c: Guard just-added hash-table-using parts with
30734         #if GNULIB_FTS, so as not to break builds of the fts_lgpl module.
30735         Reported by Simon Josefsson.
30736
30737 2009-02-15  Bruno Haible  <bruno@clisp.org>
30738
30739         * modules/array-mergesort-tests: New file.
30740         * tests/test-array-mergesort.c: New file.
30741
30742         New module 'array-mergesort'.
30743         * modules/array-mergesort: New file.
30744         * lib/array-mergesort.h: New file.
30745
30746 2009-02-15  Bruno Haible  <bruno@clisp.org>
30747
30748         Fix 2009-02-07 commit.
30749         * lib/gen-uni-tables.c (output_predicate, output_category,
30750         output_combclass, output_bidi_category, output_decimal_digit,
30751         output_digit, output_numeric, output_mirror, output_scripts,
30752         output_ident_category, output_simple_mapping): Fix format directives.
30753         (output_lbp, output_wbp): Don't convert -1 to a size_t implicitly.
30754
30755 2009-02-15  Albert Chin-A-Young  <china@thewrittenword.com>
30756
30757         * m4/include_next.m4: Update comment about IBM C 9.0/10.1 bug, now that
30758         fixes are available from IBM.
30759
30760 2009-02-13  Jim Meyering  <meyering@redhat.com>
30761
30762         fts: arrange not to stat non-directories in more cases
30763         This makes GNU find (when it doesn't need to stat each file)
30764         *much* more efficient at traversing reiserfs file systems.
30765         * lib/fts_.h (struct ftsent) [fts_n_dirs_remaining]: New member.
30766         (struct FTS) [fts_leaf_optimization_works_ht]: Add member.
30767         * lib/fts.c (fts_close): Free ->fts_leaf_optimization_works_ht.
30768         (S_MAGIC_REISERFS, S_MAGIC_PROC): Define.
30769         (leaf_optimization_applies): New function.
30770         (LCO_hash, LCO_compare): New helper functions.
30771         (link_count_optimize_ok): New function.
30772         (fts_stat): Initialize new member (if dir).
30773         (fts_read): Decrement parent's fts_n_dirs_remaining count if
30774         we've just stat'ed a directory.  Skip the stat call when possible.
30775         ---
30776         Note this AFS-related exchange:
30777         http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=143111
30778         and note find's pioctl call in find/fstype.c.
30779         But that is necessary only if you want to enable the
30780         optimization for AFS, and for now, I don't.
30781
30782         fts: move a function definition "up" (no semantic change)
30783         * lib/fts.c (dirent_inode_sort_may_be_useful): Move definition
30784         "up" to precede upcoming use of a related function.
30785
30786 2009-02-11  Jim Meyering  <meyering@redhat.com>
30787
30788         fts: correct internal computation of nlinks (optimization-related)
30789         * lib/fts.c (fts_build): ISSET(FTS_NOSTAT) has no bearing on
30790         whether the current entry is a directory, so don't test it.
30791
30792 2009-02-10  Bruno Haible  <bruno@clisp.org>
30793
30794         Tests for module 'uniwbrk/ulc-wordbreaks'.
30795         * modules/uniwbrk/ulc-wordbreaks-tests: New file.
30796         * tests/uniwbrk/test-ulc-wordbreaks.sh: New file.
30797         * tests/uniwbrk/test-ulc-wordbreaks.c: New file.
30798
30799         Tests for module 'uniwbrk/u32-wordbreaks'.
30800         * modules/uniwbrk/u32-wordbreaks-tests: New file.
30801         * tests/uniwbrk/test-u32-wordbreaks.c: New file.
30802
30803         Tests for module 'uniwbrk/u16-wordbreaks'.
30804         * modules/uniwbrk/u16-wordbreaks-tests: New file.
30805         * tests/uniwbrk/test-u16-wordbreaks.c: New file.
30806
30807         Tests for module 'uniwbrk/u8-wordbreaks'.
30808         * modules/uniwbrk/u8-wordbreaks-tests: New file.
30809         * tests/uniwbrk/test-u8-wordbreaks.c: New file.
30810
30811 2009-02-10  Bruno Haible  <bruno@clisp.org>
30812
30813         * modules/uniwbrk/u8-wordbreaks (Depends-on): Add uniwbrk/wordbreak
30814         property.
30815         * modules/uniwbrk/u16-wordbreaks (Depends-on): Likewise.
30816         * modules/uniwbrk/u32-wordbreaks (Depends-on): Likewise.
30817         * modules/uniwbrk/ulc-wordbreaks (Depends-on): Add localcharset.
30818
30819 2009-02-10  Simon Josefsson  <simon@josefsson.org>
30820
30821         * m4/sockets.m4: Call AC_C_INLINE since sockets.h now can use
30822         inline keywords.  Reported by Bruno Haible <bruno@clisp.org>.
30823
30824 2009-02-10  Bruno Haible  <bruno@clisp.org>
30825
30826         * lib/unilbrk/lbrktables.h: Renamed from lib/unilbrk/tables.h.
30827         * lib/unilbrk/lbrktables.c: Renamed from lib/unilbrk/tables.c.
30828         * modules/unilbrk/tables (Files, Makefile.am, Include): Update.
30829         * lib/unilbrk/u8-possible-linebreaks.c: Update.
30830         * lib/unilbrk/u16-possible-linebreaks.c: Likewise.
30831         * lib/unilbrk/u32-possible-linebreaks.c: Likewise.
30832
30833 2009-02-09  Simon Josefsson  <simon@josefsson.org>
30834
30835         * lib/sockets.h (gl_fd_to_handle): New function.
30836
30837         * tests/test-sockets.c: Call gl_fd_to_handle.
30838
30839 2009-02-09  Bruno Haible  <bruno@clisp.org>
30840
30841         * doc/havelib.texi: Document the conventions on bi-arch systems.
30842
30843 2009-02-08  Bruno Haible  <bruno@clisp.org>
30844
30845         Document the AC_LIB_LINKFLAGS macro.
30846         * doc/havelib.texi: New file, mostly written on 2005-05-24.
30847         * doc/gnulib.texi: Include it.
30848
30849 2009-02-08  Bruno Haible  <bruno@clisp.org>
30850
30851         Fix wrong order of sections, compared to TOC.
30852         * doc/gnulib.texi: Include relocatable-maint.texi after the
30853         "Regular expressions" node, not before.
30854
30855 2009-02-08  Bruno Haible  <bruno@clisp.org>
30856
30857         Tests for module 'unicase/totitle'.
30858         * modules/unicase/totitle-tests: New file.
30859
30860         Tests for module 'unicase/tolower'.
30861         * modules/unicase/tolower-tests: New file.
30862
30863         Tests for module 'unicase/toupper'.
30864         * modules/unicase/toupper-tests: New file.
30865         * tests/unicase/test-mapping-part1.h: New file.
30866         * tests/unicase/test-mapping-part2.h: New file.
30867
30868         New module 'unicase/totitle'.
30869         * modules/unicase/totitle: New file.
30870         * lib/unicase/totitle.c: New file.
30871
30872         New module 'unicase/tolower'.
30873         * modules/unicase/tolower: New file.
30874         * lib/unicase/tolower.c: New file.
30875
30876         New module 'unicase/toupper'.
30877         * modules/unicase/toupper: New file.
30878         * lib/unicase/toupper.c: New file.
30879         * lib/unicase/simple-mapping.h: New file.
30880
30881         * lib/gen-uni-tables.c (output_simple_mapping_test): New function.
30882         (mapping_table): New structure.
30883         (output_simple_mapping): New function.
30884         (main): Invoke output_simple_mapping_test and output_simple_mapping.
30885         * modules/gen-uni-tables (Description): Update.
30886         * lib/unicase/toupper.h: New file, automatically generated by
30887         gen-uni-tables.
30888         * lib/unicase/tolower.h: New file, automatically generated by
30889         gen-uni-tables.
30890         * lib/unicase/totitle.h: New file, automatically generated by
30891         gen-uni-tables.
30892         * tests/unicase/test-uc_toupper.c: New file, automatically generated by
30893         gen-uni-tables.
30894         * tests/unicase/test-uc_tolower.c: New file, automatically generated by
30895         gen-uni-tables.
30896         * tests/unicase/test-uc_totitle.c: New file, automatically generated by
30897         gen-uni-tables.
30898
30899         New module 'unicase/base'.
30900         * modules/unicase/base: New file.
30901         * lib/unicase.h: New file.
30902
30903 2009-02-08  Bruno Haible  <bruno@clisp.org>
30904
30905         New module 'uniwbrk/ulc-wordbreaks'.
30906         * modules/uniwbrk/ulc-wordbreaks: New file.
30907         * lib/uniwbrk/ulc-wordbreaks.c: New file.
30908
30909         New module 'uniwbrk/u32-wordbreaks'.
30910         * modules/uniwbrk/u32-wordbreaks: New file.
30911         * lib/uniwbrk/u32-wordbreaks.c: New file.
30912
30913         New module 'uniwbrk/u16-wordbreaks'.
30914         * modules/uniwbrk/u16-wordbreaks: New file.
30915         * lib/uniwbrk/u16-wordbreaks.c: New file.
30916
30917         New module 'uniwbrk/u8-wordbreaks'.
30918         * modules/uniwbrk/u8-wordbreaks: New file.
30919         * lib/uniwbrk/u8-wordbreaks.c: New file.
30920         * lib/uniwbrk/u-wordbreaks.h: New file.
30921
30922         New module 'uniwbrk/table'.
30923         * modules/uniwbrk/table: New file.
30924         * lib/uniwbrk/wbrktable.h: New file.
30925         * lib/uniwbrk/wbrktable.c: New file.
30926
30927         New module 'uniwbrk/wordbreak-property'.
30928         * modules/uniwbrk/wordbreak-property: New file.
30929         * lib/uniwbrk/wordbreak-property.c: New file.
30930
30931         * lib/gen-uni-tables.c (WBP_*): New enum items.
30932         (get_wbp, debug_output_wbp, debug_output_wbrk_tables): New functions.
30933         (unicode_org_wbp): New variable.
30934         (fill_org_wbp, debug_output_org_wbp, debug_output_org_wbrk_tables):
30935         New functions.
30936         (wbp_table): New structure.
30937         (output_wbp, output_wbrk_tables): New functions.
30938         (main): Accept additional argument. Invoke fill_org_wbp,
30939         debug_output_wbrk_tables, debug_output_org_wbrk_tables,
30940         output_wbrk_tables.
30941         * modules/gen-uni-tables (Description): Update.
30942         * lib/uniwbrk/wbrkprop.h: New file, automatically generated by
30943         gen-uni-tables.
30944
30945         New module 'uniwbrk/base'.
30946         * modules/uniwbrk/base: New file.
30947         * lib/uniwbrk.h: New file.
30948
30949 2009-02-08  Bruno Haible  <bruno@clisp.org>
30950
30951         Update to Unicode 5.1.0.
30952         * lib/gen-uni-tables.c (is_property_alphabetic): Include
30953         U+2185..U+2188.
30954         (is_property_default_ignorable_code_point): Don't include characters
30955         of category Cc or Cs and not-a-characters.
30956         (get_lbp): Assume REVISION_22. Special handling of U+0609, U+060A,
30957         U+0D79, U+109E, U+109F, U+A60C.
30958         * lib/unictype/bidi_of.h: Regenerated.
30959         * lib/unictype/blocks.h: Regenerated.
30960         * lib/unictype/categ_C.h: Regenerated.
30961         * lib/unictype/categ_Cf.h: Regenerated.
30962         * lib/unictype/categ_Cn.h: Regenerated.
30963         * lib/unictype/categ_L.h: Regenerated.
30964         * lib/unictype/categ_Ll.h: Regenerated.
30965         * lib/unictype/categ_Lm.h: Regenerated.
30966         * lib/unictype/categ_Lo.h: Regenerated.
30967         * lib/unictype/categ_Lu.h: Regenerated.
30968         * lib/unictype/categ_M.h: Regenerated.
30969         * lib/unictype/categ_Mc.h: Regenerated.
30970         * lib/unictype/categ_Me.h: Regenerated.
30971         * lib/unictype/categ_Mn.h: Regenerated.
30972         * lib/unictype/categ_N.h: Regenerated.
30973         * lib/unictype/categ_Nd.h: Regenerated.
30974         * lib/unictype/categ_Nl.h: Regenerated.
30975         * lib/unictype/categ_No.h: Regenerated.
30976         * lib/unictype/categ_P.h: Regenerated.
30977         * lib/unictype/categ_Pd.h: Regenerated.
30978         * lib/unictype/categ_Pe.h: Regenerated.
30979         * lib/unictype/categ_Pf.h: Regenerated.
30980         * lib/unictype/categ_Pi.h: Regenerated.
30981         * lib/unictype/categ_Po.h: Regenerated.
30982         * lib/unictype/categ_Ps.h: Regenerated.
30983         * lib/unictype/categ_S.h: Regenerated.
30984         * lib/unictype/categ_Sk.h: Regenerated.
30985         * lib/unictype/categ_Sm.h: Regenerated.
30986         * lib/unictype/categ_So.h: Regenerated.
30987         * lib/unictype/categ_of.h: Regenerated.
30988         * lib/unictype/combining.h: Regenerated.
30989         * lib/unictype/ctype_alnum.h: Regenerated.
30990         * lib/unictype/ctype_alpha.h: Regenerated.
30991         * lib/unictype/ctype_graph.h: Regenerated.
30992         * lib/unictype/ctype_lower.h: Regenerated.
30993         * lib/unictype/ctype_print.h: Regenerated.
30994         * lib/unictype/ctype_punct.h: Regenerated.
30995         * lib/unictype/ctype_upper.h: Regenerated.
30996         * lib/unictype/decdigit.h: Regenerated.
30997         * lib/unictype/digit.h: Regenerated.
30998         * lib/unictype/mirror.h: Regenerated.
30999         * lib/unictype/numeric.h: Regenerated.
31000         * lib/unictype/pr_alphabetic.h: Regenerated.
31001         * lib/unictype/pr_bidi_arabic_digit.h: Regenerated.
31002         * lib/unictype/pr_bidi_arabic_right_to_left.h: Regenerated.
31003         * lib/unictype/pr_bidi_boundary_neutral.h: Regenerated.
31004         * lib/unictype/pr_bidi_eur_num_terminator.h: Regenerated.
31005         * lib/unictype/pr_bidi_left_to_right.h: Regenerated.
31006         * lib/unictype/pr_bidi_non_spacing_mark.h: Regenerated.
31007         * lib/unictype/pr_bidi_other_neutral.h: Regenerated.
31008         * lib/unictype/pr_combining.h: Regenerated.
31009         * lib/unictype/pr_dash.h: Regenerated.
31010         * lib/unictype/pr_decimal_digit.h: Regenerated.
31011         * lib/unictype/pr_default_ignorable_code_point.h: Regenerated.
31012         * lib/unictype/pr_deprecated.h: Regenerated.
31013         * lib/unictype/pr_diacritic.h: Regenerated.
31014         * lib/unictype/pr_extender.h: Regenerated.
31015         * lib/unictype/pr_format_control.h: Regenerated.
31016         * lib/unictype/pr_grapheme_base.h: Regenerated.
31017         * lib/unictype/pr_grapheme_extend.h: Regenerated.
31018         * lib/unictype/pr_grapheme_link.h: Regenerated.
31019         * lib/unictype/pr_id_continue.h: Regenerated.
31020         * lib/unictype/pr_id_start.h: Regenerated.
31021         * lib/unictype/pr_ideographic.h: Regenerated.
31022         * lib/unictype/pr_ignorable_control.h: Regenerated.
31023         * lib/unictype/pr_lowercase.h: Regenerated.
31024         * lib/unictype/pr_math.h: Regenerated.
31025         * lib/unictype/pr_numeric.h: Regenerated.
31026         * lib/unictype/pr_other_alphabetic.h: Regenerated.
31027         * lib/unictype/pr_other_default_ignorable_code_point.h: Regenerated.
31028         * lib/unictype/pr_other_grapheme_extend.h: Regenerated.
31029         * lib/unictype/pr_other_id_continue.h: Regenerated.
31030         * lib/unictype/pr_other_lowercase.h: Regenerated.
31031         * lib/unictype/pr_other_math.h: Regenerated.
31032         * lib/unictype/pr_punctuation.h: Regenerated.
31033         * lib/unictype/pr_sentence_terminal.h: Regenerated.
31034         * lib/unictype/pr_soft_dotted.h: Regenerated.
31035         * lib/unictype/pr_terminal_punctuation.h: Regenerated.
31036         * lib/unictype/pr_unassigned_code_value.h: Regenerated.
31037         * lib/unictype/pr_unified_ideograph.h: Regenerated.
31038         * lib/unictype/pr_uppercase.h: Regenerated.
31039         * lib/unictype/pr_xid_continue.h: Regenerated.
31040         * lib/unictype/pr_xid_start.h: Regenerated.
31041         * lib/unictype/pr_zero_width.h: Regenerated.
31042         * lib/unictype/scripts.h: Regenerated.
31043         * lib/unictype/scripts_byname.gperf: Regenerated.
31044         * lib/unictype/sy_java_ident.h: Regenerated.
31045         * lib/unilbrk/lbrkprop1.h: Regenerated.
31046         * lib/unilbrk/lbrkprop2.h: Regenerated.
31047         * tests/unictype/test-categ_C.c: Regenerated.
31048         * tests/unictype/test-categ_Cf.c: Regenerated.
31049         * tests/unictype/test-categ_Cn.c: Regenerated.
31050         * tests/unictype/test-categ_L.c: Regenerated.
31051         * tests/unictype/test-categ_Ll.c: Regenerated.
31052         * tests/unictype/test-categ_Lm.c: Regenerated.
31053         * tests/unictype/test-categ_Lo.c: Regenerated.
31054         * tests/unictype/test-categ_Lu.c: Regenerated.
31055         * tests/unictype/test-categ_M.c: Regenerated.
31056         * tests/unictype/test-categ_Mc.c: Regenerated.
31057         * tests/unictype/test-categ_Me.c: Regenerated.
31058         * tests/unictype/test-categ_Mn.c: Regenerated.
31059         * tests/unictype/test-categ_N.c: Regenerated.
31060         * tests/unictype/test-categ_Nd.c: Regenerated.
31061         * tests/unictype/test-categ_Nl.c: Regenerated.
31062         * tests/unictype/test-categ_No.c: Regenerated.
31063         * tests/unictype/test-categ_P.c: Regenerated.
31064         * tests/unictype/test-categ_Pd.c: Regenerated.
31065         * tests/unictype/test-categ_Pe.c: Regenerated.
31066         * tests/unictype/test-categ_Pf.c: Regenerated.
31067         * tests/unictype/test-categ_Pi.c: Regenerated.
31068         * tests/unictype/test-categ_Po.c: Regenerated.
31069         * tests/unictype/test-categ_Ps.c: Regenerated.
31070         * tests/unictype/test-categ_S.c: Regenerated.
31071         * tests/unictype/test-categ_Sk.c: Regenerated.
31072         * tests/unictype/test-categ_Sm.c: Regenerated.
31073         * tests/unictype/test-categ_So.c: Regenerated.
31074         * tests/unictype/test-ctype_alnum.c: Regenerated.
31075         * tests/unictype/test-ctype_alpha.c: Regenerated.
31076         * tests/unictype/test-ctype_graph.c: Regenerated.
31077         * tests/unictype/test-ctype_lower.c: Regenerated.
31078         * tests/unictype/test-ctype_print.c: Regenerated.
31079         * tests/unictype/test-ctype_punct.c: Regenerated.
31080         * tests/unictype/test-ctype_upper.c: Regenerated.
31081         * tests/unictype/test-decdigit.h: Regenerated.
31082         * tests/unictype/test-digit.h: Regenerated.
31083         * tests/unictype/test-numeric.h: Regenerated.
31084         * tests/unictype/test-pr_alphabetic.c: Regenerated.
31085         * tests/unictype/test-pr_bidi_arabic_digit.c: Regenerated.
31086         * tests/unictype/test-pr_bidi_arabic_right_to_left.c: Regenerated.
31087         * tests/unictype/test-pr_bidi_boundary_neutral.c: Regenerated.
31088         * tests/unictype/test-pr_bidi_eur_num_terminator.c: Regenerated.
31089         * tests/unictype/test-pr_bidi_left_to_right.c: Regenerated.
31090         * tests/unictype/test-pr_bidi_non_spacing_mark.c: Regenerated.
31091         * tests/unictype/test-pr_bidi_other_neutral.c: Regenerated.
31092         * tests/unictype/test-pr_combining.c: Regenerated.
31093         * tests/unictype/test-pr_dash.c: Regenerated.
31094         * tests/unictype/test-pr_decimal_digit.c: Regenerated.
31095         * tests/unictype/test-pr_default_ignorable_code_point.c: Regenerated.
31096         * tests/unictype/test-pr_deprecated.c: Regenerated.
31097         * tests/unictype/test-pr_diacritic.c: Regenerated.
31098         * tests/unictype/test-pr_extender.c: Regenerated.
31099         * tests/unictype/test-pr_format_control.c: Regenerated.
31100         * tests/unictype/test-pr_grapheme_base.c: Regenerated.
31101         * tests/unictype/test-pr_grapheme_extend.c: Regenerated.
31102         * tests/unictype/test-pr_grapheme_link.c: Regenerated.
31103         * tests/unictype/test-pr_id_continue.c: Regenerated.
31104         * tests/unictype/test-pr_id_start.c: Regenerated.
31105         * tests/unictype/test-pr_ideographic.c: Regenerated.
31106         * tests/unictype/test-pr_ignorable_control.c: Regenerated.
31107         * tests/unictype/test-pr_lowercase.c: Regenerated.
31108         * tests/unictype/test-pr_math.c: Regenerated.
31109         * tests/unictype/test-pr_numeric.c: Regenerated.
31110         * tests/unictype/test-pr_other_alphabetic.c: Regenerated.
31111         * tests/unictype/test-pr_other_default_ignorable_code_point.c:
31112         Regenerated.
31113         * tests/unictype/test-pr_other_grapheme_extend.c: Regenerated.
31114         * tests/unictype/test-pr_other_id_continue.c: Regenerated.
31115         * tests/unictype/test-pr_other_lowercase.c: Regenerated.
31116         * tests/unictype/test-pr_other_math.c: Regenerated.
31117         * tests/unictype/test-pr_punctuation.c: Regenerated.
31118         * tests/unictype/test-pr_sentence_terminal.c: Regenerated.
31119         * tests/unictype/test-pr_soft_dotted.c: Regenerated.
31120         * tests/unictype/test-pr_terminal_punctuation.c: Regenerated.
31121         * tests/unictype/test-pr_unassigned_code_value.c: Regenerated.
31122         * tests/unictype/test-pr_unified_ideograph.c: Regenerated.
31123         * tests/unictype/test-pr_uppercase.c: Regenerated.
31124         * tests/unictype/test-pr_xid_continue.c: Regenerated.
31125         * tests/unictype/test-pr_xid_start.c: Regenerated.
31126         * tests/unictype/test-pr_zero_width.c: Regenerated.
31127
31128         Update to Unicode 5.1.0.
31129         * lib/uniwidth/width.c (nonspacing_table_data): Add U+0487,
31130         U+0616..U+061A, U+0A51, U+0A75, U+0B44, U+0B62..U+0B63, U+0C62..U+0C63,
31131         U+0D44, U+0D62..U+0D63, U+1033..U+1035, U+103A, U+103D..U+103E,
31132         U+105E..U+1060, U+1071..U+1074, U+1082, U+1085..U+1086, U+108D,
31133         U+1B80..U+1B81, U+1BA2..U+1BA5, U+1BA8..U+1BA9, U+1C2C..U+1C33,
31134         U+1C36..U+1C37, U+1DCB..U+1DE6, U+2064, U+20F0, U+2DE0..U+2DFF,
31135         U+A66F..U+A672, U+A67C..U+A67D, U+A8C4, U+A926..U+A92D, U+A947..U+A951,
31136         U+AA29..U+AA2E, U+AA31..U+AA32, U+AA35..U+AA36, U+AA43, U+AA4C,
31137         U+FE24..U+FE26, U+101FD. Remove U+1929..U+192B.
31138         (nonspacing_table_ind): Update.
31139         * tests/uniwidth/test-uc_width2.sh: Update expected result.
31140
31141         Update to Unicode 5.1.0.
31142         * lib/uniname/gen-uninames.lisp (main): Add the range 0x1Fxxx to the
31143         code transform.
31144         * lib/uniname/uniname.c (unicode_character_name,
31145         unicode_name_character): Add the range 0x1Fxxx to the code transform.
31146         * lib/uniname/uninames.h: Regenerated.
31147         * tests/uniname/UnicodeDataNames.txt: Update to Unicode 5.1.0.
31148
31149 2009-02-07  Bruno Haible  <bruno@clisp.org>
31150
31151         Merge gen-ctype and gen-lbrk into a single program.
31152         * lib/gen-uni-tables.c: New file, incorporating
31153         lib/unictype/gen-ctype.c and lib/unilbrk/gen-lbrk.c.
31154         Add directory prefixes to the names of the generated files.
31155         * lib/unictype/gen-ctype.c: Remove file.
31156         * lib/unilbrk/gen-lbrk.c: Remove file.
31157         * modules/gen-uni-tables: New file.
31158         * modules/unictype/gen-ctype: Remove file.
31159         * modules/unilbrk/gen-lbrk: Remove file.
31160
31161 2009-02-07  Bruno Haible  <bruno@clisp.org>
31162
31163         * lib/unistr.h (u8_strcoll, u16_strcoll, u32_strcoll): New declations.
31164
31165         New module 'unistr/u32-strcoll'.
31166         * modules/unistr/u32-strcoll: New file.
31167         * lib/unistr/u32-strcoll.c: New file.
31168
31169         New module 'unistr/u16-strcoll'.
31170         * modules/unistr/u16-strcoll: New file.
31171         * lib/unistr/u16-strcoll.c: New file.
31172
31173         New module 'unistr/u8-strcoll'.
31174         * modules/unistr/u8-strcoll: New file.
31175         * lib/unistr/u8-strcoll.c: New file.
31176         * lib/unistr/u-strcoll.h: New file.
31177
31178 2009-02-07  Bruno Haible  <bruno@clisp.org>
31179
31180         * test-mbrtowc4.sh (LOCALE_ZH_CN): Fix default value.
31181         * test-mbsnrtowcs4.sh (LOCALE_ZH_CN): Likewise.
31182         * test-mbsrtowcs4.sh (LOCALE_ZH_CN): Likewise.
31183         * test-wcrtomb.sh (LOCALE_ZH_CN): Likewise.
31184         * test-wcsnrtombs4.sh (LOCALE_ZH_CN): Likewise.
31185         * test-wcsrtombs4.sh (LOCALE_ZH_CN): Likewise.
31186
31187 2009-02-07  Bruno Haible  <bruno@clisp.org>
31188
31189         Make 64-bit clean.
31190         * lib/unictype/gen-ctype.c (output_predicate, output_category,
31191         output_combclass, output_bidi_category, output_decimal_digit,
31192         output_digit, output_numeric, output_mirror, output_scripts,
31193         output_ident_category): Use proper width specifier in format strings.
31194
31195 2009-02-07  Bruno Haible  <bruno@clisp.org>
31196
31197         * doc/posix-functions/dirfd.texi: Clarify situation on mingw. Document
31198         failure behaviour.
31199
31200 2009-02-07  Jim Meyering  <meyering@redhat.com>
31201
31202         regex: avoid compilation failure with upcoming gcc-4.4
31203         * lib/regex_internal.h: Revert e48d8b47fb3eee81d341b71c3e006efe9e3433a7
31204         [workaround for PGC prior to 6.1-2].  Otherwise, we'd get this:
31205         "... error: integer overflow in preprocessor expression".
31206
31207 2009-02-05  Ben Pfaff  <blp@gnu.org>
31208
31209         Fix link errors on Windows when close module is used.
31210         * modules/close: Add $(LIB_CLOSE) to Link section.
31211         * m4/close.m4 (gl_REPLACE_CLOSE): Substitute -lws2_32 into
31212         $(LIB_CLOSE) on Windows.
31213
31214 2009-02-05  Jim Meyering  <meyering@redhat.com>
31215
31216         still avoid unused-parameter warnings, but do it cleanly
31217         * lib/fsusage.c (UNUSED_PARAM): Remove definition.
31218         (get_fs_usage): Cast to void instead.
31219         * lib/mountlist.c (UNUSED_PARAM): Remove definition.
31220         (dev_from_mount_options, read_file_system_list): Cast to void.
31221         Prompted by Bruno Haible.
31222
31223 2009-02-04  Jim Meyering  <meyering@redhat.com>
31224
31225         fsusage.c: correct copyright year
31226         * lib/fsusage.c: Reflect year in which the change is pushed into
31227
31228         avoid misc. warnings
31229         * lib/fsusage.c (UNUSED_PARAM): Define.
31230         (get_fs_usage): Mark parameter "disk" as unused.
31231         * lib/getugroups.c (getgrent): Use "void" in prototype.
31232         * lib/mountlist.c: Mark unused parameters.
31233         (read_file_system_list): Declare a local with "const".
31234         * lib/nanosleep.c (getnow): Declare static.
31235         * lib/strftime.c: Include strftime.h, for declaration of nstrftime.
31236
31237         dirfd: set errno upon failure
31238         * lib/dirfd.c: Include <errno.h>.
31239         Set errno to ENOTSUP when returning -1.
31240         * modules/dirfd (Depends-on): Add errno.
31241         Suggested by John Kodis <kodis@comcast.net>.
31242
31243 2009-02-01  Bruno Haible  <bruno@clisp.org>
31244
31245         Don't assume sizeof (long) >= sizeof (void *).
31246         * lib/memcmp.c: Include stdint.h.
31247         (memcmp_bytes): Change argument types to op_t. Change type of srcp1,
31248         srcp2 to 'const byte *'.
31249         (memcmp_common_alignment, memcmp_not_common_alignment): Change argument
31250         types to uintptr_t.
31251         (rpl_memcmp): Change type of srcp1, srcp2 to 'uintptr_t'.
31252         * modules/memcmp (Depends-on): Add stdint.
31253         Reported by Ozkan Sezer <sezeroz@gmail.com>.
31254
31255 2009-01-30  Eric Blake  <ebb9@byu.net>
31256
31257         fix more require-before-expand issues
31258         * m4/pmccabe2html.m4 (gl_PMCCABE2HTML): Require, rather than
31259         expand, AC_PROG_AWK.
31260         * m4/gnulib-common.m4 (AC_PROG_MKDIR_P): Use AC_DEFUN_ONCE.
31261
31262 2009-01-28  Eric Blake  <ebb9@byu.net>
31263
31264         version-etc: use consistent URL formatting
31265         * lib/version-etc.c (emit_bug_reporting_address, version_etc_va):
31266         Improve formatting.  Use fputs for string without %.
31267
31268 2009-01-28  Jim Meyering  <meyering@redhat.com>
31269
31270         00gnulib.m4: add m4 quotes in shell comment to avoid autoconf warning
31271         * m4/00gnulib.m4 (AC_DEFUN_ONCE): Add quotes to avoid an
31272         "underquoted definition of NAME" from autoconf-2.59.
31273
31274 2009-01-28  Bruno Haible  <bruno@clisp.org>
31275
31276         * doc/gnulib.texi: Add "Obsolete modules" to index.
31277
31278 2009-01-28  Jim Meyering  <meyering@redhat.com>
31279
31280         useless-if-before-free: recognize more variants
31281         * build-aux/useless-if-before-free: Also recognize e.g.,
31282         if (NULL != p) free (p);
31283
31284 2009-01-27  Mark McLoughlin  <markmc@redhat.com>
31285
31286         test-getaddrinfo: skip (don't fail) this test when there's no network
31287         * tests/test-getaddrinfo.c: Skip test upon failure with EAI_AGAIN,
31288         on the presumption that it means you lack network access.
31289
31290 2009-01-26  Jim Meyering  <meyering@redhat.com>
31291
31292         fflush: avoid warnings on modern systems
31293         * lib/fflush.c (rpl_fflush): Move declarations of locals,
31294         pos and result, into scopes where they're used.
31295
31296 2009-01-26  Eric Blake  <ebb9@byu.net>
31297
31298         Silence warning reintroduced by recent extensions patch.
31299         * m4/extensions.m4 (AC_USE_SYSTEM_EXTENSIONS)
31300         (gl_USE_SYSTEM_EXTENSIONS): Use AC_DEFUN_ONCE to silence newer
31301         autoconf.
31302
31303         Backport improved autoconf semantics of AC_DEFUN_ONCE.
31304         * m4/00gnulib.m4: New file.
31305         * gnulib-tool (func_get_filelist): Always use it.
31306         * m4/gnulib-common.m4 (gl_COMMON): Force the file to be used.
31307         Reported by Bruno Haible, with suggestions from Paolo Bonzini.
31308
31309 2009-01-25  Bruno Haible  <bruno@clisp.org>
31310
31311         Make test-quotearg work on MacOS X and AIX.
31312         * tests/test-quotearg.sh: New file.
31313         * tests/locale/fr/LC_MESSAGES/test-quotearg.po: New file.
31314         * tests/locale/fr/LC_MESSAGES/test-quotearg.mo: New file.
31315         * tests/test-quotearg.c: Include <locale.h> and gettext.h. Don't
31316         include <libintl.h>.
31317         (fake_locale): Remove variable.
31318         (gettext, dgettext, dcgettext): Remove functions.
31319         (main): Instead of setting a fake locale, set a real locale. Call
31320         textdomain and bindtextdomain.
31321         * modules/quotearg-tests (Files): Add the new files.
31322         (Depends-on): Add gettext, setenv, unsetenv.
31323         (configure.ac): Invoke gt_LOCALE_FR and gt_LOCALE_FR_UTF8.
31324         (Makefile.am): Add test-quotearg.sh to TESTS, remove test-quotearg.
31325         Augment TESTS_ENVIRONMENT.
31326
31327 2009-01-25  Bruno Haible  <bruno@clisp.org>
31328
31329         * m4/locale-fr.m4 (gt_LOCALE_FR): Remove special code that hid the
31330         fr_FR.ISO8859-1 locale on MacOS X.
31331         * m4/locale-ja.m4 (gt_LOCALE_JA): Remove special code that hid the
31332         ja_JP.eucJP locale on MacOS X.
31333         * m4/locale-zh.m4 (gt_LOCALE_ZH_CN): Remove special code that hid the
31334         zh_CN.GB18030 locale on MacOS X.
31335
31336 2009-01-25  Bruno Haible  <bruno@clisp.org>
31337
31338         Avoid link errors on MacOS X 10.3.
31339         * lib/mbsrtowcs-state.c (_gl_mbsrtowcs_state): Add initializer.
31340         * lib/wcsrtombs-state.c (_gl_wcsrtombs_state): Likewise.
31341
31342 2009-01-25  Bruno Haible  <bruno@clisp.org>
31343
31344         * lib/pipe.c: On Unix, assume HAVE_POSIX_SPAWN and use posix_spawnp.
31345         * m4/pipe.m4 (gl_PIPE): Remove tests for vfork() based code.
31346         * modules/pipe (Files): Remove m4/posix_spawn.m4.
31347         (Depends-on): Add spawn, posix_spawnp, posix_spawn_file_actions_init,
31348         posix_spawn_file_actions_addclose, posix_spawn_file_actions_adddup2,
31349         posix_spawn_file_actions_addopen, posix_spawn_file_actions_destroy,
31350         posix_spawnattr_init, posix_spawnattr_setsigmask,
31351         posix_spawnattr_setflags, posix_spawnattr_destroy.
31352
31353         * lib/execute.c: On Unix, assume HAVE_POSIX_SPAWN and use posix_spawnp.
31354         * m4/execute.m4 (gl_EXECUTE): Remove tests for vfork() based code.
31355         * modules/execute (Files): Remove m4/posix_spawn.m4.
31356         (Depends-on): Add spawn, posix_spawnp, posix_spawn_file_actions_init,
31357         posix_spawn_file_actions_addopen, posix_spawn_file_actions_destroy,
31358         posix_spawnattr_init, posix_spawnattr_setsigmask,
31359         posix_spawnattr_setflags, posix_spawnattr_destroy.
31360
31361 2009-01-25  Bruno Haible  <bruno@clisp.org>
31362
31363         * lib/glthread/threadlib.c: Include <stdlib.h>.
31364
31365 2009-01-25  Bruno Haible  <bruno@clisp.org>
31366
31367         * lib/glthread/threadlib.c (dummy): New declaration.
31368
31369 2009-01-25  Bruno Haible  <bruno@clisp.org>
31370
31371         * lib/mbrtowc.c (mbrtowc): Distinguish invalid and incomplete
31372         multibyte characters also for the GB18030 encoding. Don't crash when
31373         the encoding is unknown and nstate = 0. Needed on OSF/1 5.1.
31374
31375 2009-01-25  Bruno Haible  <bruno@clisp.org>
31376
31377         Avoid redefining 'struct random_data' on OSF/1 5.1.
31378         * lib/stdlib.in.h: Include <random.h> if it exists.
31379         * m4/stdlib_h.m4 (gl_STDLIB_H): Test whether <random.h> exists. Set
31380         HAVE_RANDOM_H. Include <random.h> when testing whether
31381         'struct random_data' exists.
31382         * modules/stdlib (Makefile.am): Substitute HAVE_RANDOM_H.
31383
31384 2009-01-25  Bruno Haible  <bruno@clisp.org>
31385
31386         Don't install charset.alias on MacOS X >= 10.3.
31387         * lib/localcharset.c (DARWIN7): New macro.
31388         (get_charset_aliases): Hardcode the result for Darwin7.
31389         * modules/localcharset (install-exec-local): Don't install
31390         charset.alias on MacOS X >= 10.3, if the file does not yet exist.
31391
31392 2009-01-25  Bruno Haible  <bruno@clisp.org>
31393
31394         Don't install charset.alias on mingw and Cygwin.
31395         * modules/localcharset (install-exec-local): Don't install
31396         charset.alias on mingw and Cygwin, if the file does not yet exist.
31397         The result for these platforms is hardcoded in localcharset.c.
31398
31399 2009-01-25  Bruno Haible  <bruno@clisp.org>
31400
31401         Make it possible again to use AC_GNU_SOURCE together with gnulib.
31402         * m4/extensions.m4 (gl_USE_SYSTEM_EXTENSIONS): Require AC_GNU_SOURCE
31403         before requiring AC_USE_SYSTEM_EXTENSIONS.
31404
31405 2009-01-25  Jim Meyering  <meyering@redhat.com>
31406
31407         c-strtod: avoid warnings
31408         * lib/c-strtod.c (C_STRTOD): Cast nptr to (char *) to avoid
31409         "assignment discards qualifiers from pointer target type" warnings.
31410
31411 2009-01-24  Bruno Haible  <bruno@clisp.org>
31412
31413         Add support for non-UTF-8 locales on MacOS X.
31414         * lib/config.charset: Add CP1131, ARMSCII-8, PT154 to the list of
31415         canonical encodings. For Darwin 7 and newer, don't map traditional
31416         encodings to UTF-8.
31417         Reported by Vincent Lefevre <vincent@vinc17.org>
31418         at <http://savannah.gnu.org/bugs/?25235>.
31419
31420 2009-01-24  Bruno Haible  <bruno@clisp.org>
31421
31422         * doc/gnulib.texi (Obsolete modules): New section.
31423         Reported by Mike Frysinger <vapier@gentoo.org>.
31424
31425 2009-01-24  Bruno Haible  <bruno@clisp.org>
31426
31427         * doc/Makefile (%.pdf): Clarify where to find texmf.cnf.
31428         (%.dvi): New rule.
31429
31430 2009-01-24  Bruno Haible  <bruno@clisp.org>
31431
31432         * lib/c-strtod.h (c_strtod, c_strtold): Adjust specification.
31433         Reported by Eric Blake.
31434
31435 2009-01-24  Bruno Haible  <bruno@clisp.org>
31436
31437         * lib/c-stack.c (segv_handler): If !HAVE_XSI_STACK_OVERFLOW_HEURISTIC,
31438         set signo = 0 also if info->si_code <= 0. Needed on HP-UX 11.11.
31439         Reported by Gary V. Vaughan <gary@gnu.org>.
31440
31441 2009-01-24  Bruno Haible  <bruno@clisp.org>
31442
31443         * lib/c-strtod.h (c_strtod, c_strtold): Add specification.
31444
31445 2009-01-23  Bruno Haible  <bruno@clisp.org>
31446
31447         Make c-strtod, c-strtold usable in libraries.
31448         * lib/c-strtod.c: Include string.h instead of xalloc.h.
31449         (C_STRTOD): Call strdup instead of xstrdup.
31450         * modules/c-strtod (Depends-on): Add strdup-posix, remove xalloc.
31451         * modules/c-strtold (Depends-on): Likewise.
31452         * doc/c-strtod.texi: Remove the sentence mentioning xalloc_die.
31453         * NEWS: Mention the change.
31454         Reported by Michael Gold <mgold@ncf.ca>.
31455
31456 2009-01-23  Jim Meyering  <meyering@redhat.com>
31457
31458         c-strtod: when ENDPTR is non-NULL, set *ENDPTR in new failure path
31459         * lib/c-strtod.c (C_STRTOD) [LC_ALL_MASKC]: Ensure that when
31460         ENDPTR is non-NULL, *ENDPTR is set to NPTR upon failure.
31461
31462 2009-01-23  Simon Josefsson  <simon@josefsson.org>
31463
31464         * lib/version-etc.c: Add emit_bug_reporting_address, inspired by
31465         GNU CoreUtils.
31466         * lib/version-etc.h: Add prototype for emit_bug_reporting_address.
31467         * modules/version-etc (Description): Update.
31468
31469 2009-01-22  Bruno Haible  <bruno@clisp.org>
31470
31471         Cache the C locale object.
31472         * lib/c-strtod.c (c_locale_cache): New variable.
31473         (c_locale): New function.
31474         (C_STRTOD): Use it, and don't call freelocale.
31475         * m4/c-strtod.m4 (gl_C_STRTOD, gl_C_STRTOLD): Require AC_C_INLINE.
31476         Suggested by Paolo Bonzini.
31477
31478 2009-01-21  Bruno Haible  <bruno@clisp.org>
31479
31480         * lib/getloadavg.c (getloadavg): Check c_strtod result against error
31481         conditions other than overflow.
31482
31483 2009-01-21  Bruno Haible  <bruno@clisp.org>
31484
31485         * lib/c-strtod.c: Include errno.h.
31486         (C_STRTOD): Check against NULL return from newlocale. Preserve errno
31487         value from STRTOD_L and STRTOD.
31488
31489 2009-01-21  Bruno Haible  <bruno@clisp.org>
31490         and Jim Meyering  <meyering@redhat.com>
31491
31492         nanosleep: skip configure test (fail it) for apple universal builds
31493         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP): Require gl_MULTIARCH. In Apple
31494         universal builds, assume that nanosleep does not work.
31495         * modules/nanosleep (Depends-on): Add multiarch.
31496
31497         mktime: skip configure test (fail it) for apple universal builds
31498         * m4/mktime.m4 (AC_FUNC_MKTIME): Require gl_MULTIARCH. In Apple
31499         universal builds, assume that mktime does not work.
31500         * modules/mktime (Depends-on): Add multiarch.
31501
31502 2009-01-21  Eric Blake  <ebb9@byu.net>
31503
31504         multiarch: avoid expand-before-require warning
31505         * modules/multiarch (configure.ac): Require, rather than expand,
31506         gl_MULTIARCH.
31507         * m4/multiarch.m4 (gl_MULTIARCH_BODY): Merge...
31508         (gl_MULTIARCH): ...into this macro, and use AC_DEFUN_ONCE to
31509         enforce that all clients require it.  Partial reversion of
31510         2008-12-29 patch.
31511
31512         error: avoid expand-before-require warning
31513         * modules/errno (configure.ac): Require, rather than expand,
31514         gl_HEADER_ERRNO_H.
31515         * m4/errno_h.m4 (gl_HEADER_ERRNO_H_BODY): Merge...
31516         (gl_HEADER_ERRNO_H): ...into this macro, and use AC_DEFUN_ONCE to
31517         enforce that all clients require it.
31518
31519         gnulib-tool: avoid warnings from using obsolete AC_GNU_SOURCE
31520         * gnulib-tool (func_dest_tmpfilename, func_create_testdir): Using
31521         obsolete AC_GNU_SOURCE causes out-of-order expansion; avoid it,
31522         and rely solely on gl_USE_SYSTEM_EXTENSIONS.
31523
31524 2009-01-21  Paolo Bonzini  <bonzini@gnu.org>
31525
31526         Revert:
31527         2009-01-20  Paolo Bonzini  <bonzini@gnu.org>
31528
31529         regex: do not depend on obsolete modules.
31530         * modules/regex: Remove memcmp and memmove.
31531
31532 2009-01-20  Bruno Haible  <bruno@clisp.org>
31533
31534         Make the 'link' module link on Windows NT 4.
31535         * lib/link.c (_WIN32_WINNT): Don't define.
31536         (CreateHardLinkFuncType): New type.
31537         (CreateHardLinkFunc, initialized): New variables.
31538         (initialize): New function.
31539         (link): Invoke CreateHardLink indirectly through the function pointer.
31540
31541 2009-01-20  Bruno Haible  <bruno@clisp.org>
31542
31543         Fix compilation failure on mingw.
31544         * tests/test-link.c (main): Don't assume that EOPNOTSUPP exists.
31545
31546 2009-01-20  Michael Gold  <mgold@ncf.ca>  (tiny change)
31547
31548         * doc/c-strtod.texi: Mention a couple of restrictions.
31549
31550 2009-01-20  Jim Meyering  <meyering@redhat.com>
31551
31552         gettimeofday: move more declarations out of functions
31553         * lib/gettimeofday.c: Move extern declarations of tzset and
31554         gmtime out of containing functions.  Prompted by Bruno Haible.
31555
31556 2009-01-20  Paolo Bonzini  <bonzini@gnu.org>
31557
31558         regex: do not depend on obsolete modules.
31559         * modules/regex: Remove memcmp and memmove.
31560
31561 2009-01-19  Bruno Haible  <bruno@clisp.org>
31562
31563         Don't use AC_REQUIRE([AC_C_BIGENDIAN]).
31564         * modules/uniconv/u16-conv-from-enc (configure.ac): Require
31565         gl_BIGENDIAN, not AC_C_BIGENDIAN.
31566         * modules/uniconv/u16-conv-to-enc (configure.ac): Likewise.
31567         * modules/uniconv/u16-strconv-to-enc (configure.ac): Likewise.
31568
31569 2009-01-19  Bruno Haible  <bruno@clisp.org>
31570
31571         * tests/test-link.c: Include <errno.h>.
31572         (main): Exit with code 77 when a hard link cannot be created due to
31573         the file system.
31574         * tests/test-link.sh: Skip test when a hard link cannot be created due
31575         to the file system.
31576         Suggested by Eric Blake.
31577
31578 2009-01-19  Martin Lambers  <marlam@marlam.de>
31579
31580         * modules/link-tests: New file.
31581         * tests/test-link.sh: New file.
31582         * tests/test-link.c: New file.
31583
31584 2009-01-19  Eric Blake  <ebb9@byu.net>
31585
31586         doc: mention another function added in cygwin 1.7.0
31587         * doc/glibc-functions/glob_pattern_p.texi (glob_pattern_p):
31588         Another new function in cygwin 1.7.
31589
31590 2009-01-19  Bruno Haible  <bruno@clisp.org>
31591
31592         Don't use AC_REQUIRE([AC_C_BIGENDIAN]).
31593         * m4/gnulib-common.m4 (gl_BIGENDIAN): New macro.
31594         * m4/exponentl.m4 (gl_LONG_DOUBLE_EXPONENT_LOCATION): Require
31595         gl_BIGENDIAN, not AC_C_BIGENDIAN.
31596         * m4/isfinite.m4 (gl_ISFINITEL_WORKS): Likewise.
31597         * m4/isinf.m4 (gl_ISINFL_WORKS): Likewise.
31598         * m4/isnanl.m4 (gl_FUNC_ISNANL_WORKS): Likewise.
31599         * m4/md4.m4 (gl_MD4): Likewise.
31600         * m4/md5.m4 (gl_MD5): Likewise.
31601         * m4/printf.m4 (gl_PRINTF_INFINITE_LONG_DOUBLE): Likewise.
31602         * m4/sha1.m4 (gl_SHA1): Likewise.
31603         * m4/sha256.m4 (gl_SHA256): Likewise.
31604         * m4/sha512.m4 (gl_SHA512): Likewise.
31605
31606 2009-01-19  Bruno Haible  <bruno@clisp.org>
31607
31608         * modules/uniname/uniname-tests (Depends-on): Add progname.
31609         * tests/uniname/test-uninames.c: Include progname.h.
31610         (main): Call set_program_name.
31611
31612         * modules/unistdio/u8-vsprintf-tests (Depends-on): Add progname.
31613         * tests/unistdio/test-u8-vsprintf1.c: Include progname.h.
31614         (main): Call set_program_name.
31615
31616         * modules/unistdio/u8-vsnprintf-tests (Depends-on): Add progname.
31617         * tests/unistdio/test-u8-vsnprintf1.c: Include progname.h.
31618         (main): Call set_program_name.
31619
31620         * modules/unistdio/u16-vsprintf-tests (Depends-on): Add progname.
31621         * tests/unistdio/test-u16-vsprintf1.c: Include progname.h.
31622         (main): Call set_program_name.
31623
31624         * modules/unistdio/u16-vsnprintf-tests (Depends-on): Add progname.
31625         * tests/unistdio/test-u16-vsnprintf1.c: Include progname.h.
31626         (main): Call set_program_name.
31627
31628         * modules/unistdio/u32-vsprintf-tests (Depends-on): Add progname.
31629         * tests/unistdio/test-u32-vsprintf1.c: Include progname.h.
31630         (main): Call set_program_name.
31631
31632         * modules/unistdio/u32-vsnprintf-tests (Depends-on): Add progname.
31633         * tests/unistdio/test-u32-vsnprintf1.c: Include progname.h.
31634         (main): Call set_program_name.
31635
31636         * modules/unistdio/ulc-vsprintf-tests (Depends-on): Add progname.
31637         * tests/unistdio/test-ulc-vsprintf1.c: Include progname.h.
31638         (main): Call set_program_name.
31639
31640         * modules/unistdio/ulc-vsnprintf-tests (Depends-on): Add progname.
31641         * tests/unistdio/test-ulc-vsnprintf1.c: Include progname.h.
31642         (main): Call set_program_name.
31643
31644 2009-01-19  Eric Blake  <ebb9@byu.net>
31645
31646         test-unistd: test previous patch
31647         * tests/test-unistd.c: Test *_FILENO macros.
31648
31649         unistd: guarantee STDIN_FILENO here, for OS/2 EMX
31650         * lib/unistd.in.h (STDIN_FILENO, STDOUT_FILENO, STDERR_FILENO):
31651         Guarantee a definition.
31652         * doc/posix-headers/unistd.texi (unistd.h): Document the bug.
31653         * modules/unistd-safer (Depends-on): Add dependency on unistd.
31654         * lib/c-stack.c (STDERR_FILENO): Rely on <unistd.h>.
31655         * lib/dup-safer.c (STDERR_FILENO): Likewise.
31656         * lib/execute.c (STDIN_FILENO, STDOUT_FILENO, STDERR_FILENO):
31657         Likewise.
31658         * lib/fd-safer.c (STDIN_FILENO, STDERR_FILENO): Likewise.
31659         * lib/fopen-safer.c (STDERR_FILENO): Likewise.
31660         * lib/pipe.c (STDIN_FILENO, STDOUT_FILENO, STDERR_FILENO):
31661         Likewise.
31662         * lib/tmpfile-safer.c (STDERR_FILENO): Likewise.
31663         * tests/test-posix_spawn1.c (STDIN_FILENO, STDOUT_FILENO)
31664         (STDERR_FILENO): Likewise.
31665         * tests/test-posix_spawn2.c (STDIN_FILENO, STDOUT_FILENO)
31666         (STDERR_FILENO): Likewise.
31667         * tests/test-posix_spawn3.c (STDIN_FILENO, STDOUT_FILENO)
31668         (STDERR_FILENO): Likewise.
31669         Reported by Elbert Pol.
31670
31671 2009-01-19  Eric Blake  <ebb9@byu.net>
31672
31673         doc: mention more functions added in cygwin 1.7.0
31674         * doc/posix-functions/abort.texi (abort): Update wording related
31675         to cygwin.
31676         * doc/posix-functions/daylight.texi (daylight): Likewise.
31677         * doc/posix-functions/optarg.texi (optarg): Likewise.
31678         * doc/posix-functions/optarg.texi (opterr): Likewise.
31679         * doc/posix-functions/optarg.texi (optind): Likewise.
31680         * doc/posix-functions/optarg.texi (optopt): Likewise.
31681         * doc/posix-functions/wprintf.texi (wprintf): Cygwin wprintf never
31682         worked in 1.5.x, and was withdrawn in 1.7.
31683         * doc/posix-functions/vwprintf.texi (vwprintf): Likewise.
31684         * doc/posix-functions/fprintf.texi (fprintf): Tighten mention of
31685         cygwin versions.
31686         * doc/posix-functions/perror.texi (perror): Likewise.
31687         * doc/posix-functions/printf.texi (printf): Likewise.
31688         * doc/posix-functions/snprintf.texi (snprintf): Likewise.
31689         * doc/posix-functions/sprintf.texi (sprintf): Likewise.
31690         * doc/posix-functions/vfprintf.texi (vfprintf): Likewise.
31691         * doc/posix-functions/vprintf.texi (vprintf): Likewise.
31692         * doc/posix-functions/vsnprintf.texi (vsnprintf): Likewise.
31693         * doc/posix-functions/vsprintf.texi (vsprintf): Likewise.
31694         * doc/glibc-functions/obstack_printf.texi (obstack_printf):
31695         Likewise.
31696         * doc/glibc-functions/obstack_vprintf.texi (obstack_vprintf):
31697         Likewise.
31698         * doc/glibc-functions/cfmakeraw.texi (cfmakeraw): Cygwin 1.7 adds
31699         this function.
31700         * doc/glibc-functions/in6addr_any.texi (in6addr_any): Likewise.
31701         * doc/glibc-functions/in6addr_loopback.texi (in6addr_loopback):
31702         Likewise.
31703         * doc/glibc-functions/updwtmpx.texi (updwtmpx): Likewise.
31704         * doc/posix-functions/_Exit_C99.texi (_Exit): Likewise.
31705         * doc/posix-functions/confstr.texi (confstr): Likewise.
31706         * doc/posix-functions/dprintf.texi (dprintf): Likewise.
31707         * doc/posix-functions/fgetwc.texi (fgetwc): Likewise.
31708         * doc/posix-functions/fgetws.texi (fgetws): Likewise.
31709         * doc/posix-functions/fputwc.texi (fputwc): Likewise.
31710         * doc/posix-functions/fputws.texi (fputws): Likewise.
31711         * doc/posix-functions/fwide.texi (fwide): Likewise.
31712         * doc/posix-functions/getwc.texi (getwc): Likewise.
31713         * doc/posix-functions/getwchar.texi (getwchar): Likewise.
31714         * doc/posix-functions/putwc.texi (putwc): Likewise.
31715         * doc/posix-functions/putwchar.texi (putwchar): Likewise.
31716         * doc/posix-functions/sigignore.texi (sigignore): Likewise.
31717         * doc/posix-functions/ungetwc.texi (ungetwc): Likewise.
31718         * doc/posix-functions/vdprintf.texi (vdprintf): Likewise.
31719         * doc/posix-functions/wcpcpy.texi (wcpcpy): Likewise.
31720         * doc/posix-functions/wcpncpy.texi (wcpncpy): Likewise.
31721         * doc/posix-functions/wcstol.texi (wcstol): Likewise.
31722         * doc/posix-functions/wcstoll.texi (wcstoll): Likewise.
31723         * doc/posix-functions/wcstoul.texi (wcstoul): Likewise.
31724         * doc/posix-functions/wcstoull.texi (wcstoull): Likewise.
31725         * doc/posix-functions/wcsxfrm.texi (wcsxfrm): Likewise.
31726
31727 2009-01-19  Daniel P. Berrange  <berrange@redhat.com>
31728
31729         ioctl: avoid warning: no previous prototype for 'rpl_ioctl'
31730         * lib/ioctl.c: Include <sys/ioctl.h>.
31731
31732 2009-01-19  Simon Josefsson  <simon@josefsson.org>
31733
31734         * modules/getdate-tests (Depends-on): Add progname.
31735         * tests/test-getdate.c: Use progname module, to avoid link errors
31736         on non-glibc systems.
31737
31738 2009-01-18  Simon Josefsson  <simon@josefsson.org>
31739
31740         * modules/filenamecat-tests (Depends-on): Add progname.
31741         * modules/fstrcmp-tests (Depends-on): Likewise.
31742
31743         * tests/test-filenamecat.c: Use progname module, to avoid link
31744         errors on non-glibc systems.
31745         * tests/test-fstrcmp.c: Likewise.
31746
31747 2009-01-19  Daniel P. Berrange  <berrange@redhat.com>
31748
31749         gettimeofday: avoid warning: nested extern declaration of 'localtime'
31750         * lib/gettimeofday.c: Move extern declaration out of function.
31751
31752 2009-01-18  Bruno Haible  <bruno@clisp.org>
31753
31754         * m4/strftime.m4 (gl_FUNC_STRFTIME): Don't test for mblen and mbrlen.
31755         * lib/strftime.c (HAVE_MBLEN, HAVE_MBRLEN): Remove macros.
31756         (MULTIBYTE_IS_FORMAT_SAFE): Define to 1 on all platforms except OSF/1.
31757
31758 2009-01-18  Bruno Haible  <bruno@clisp.org>
31759
31760         * lib/strftime.c (MEMPCPY): Remove unused macro.
31761         * m4/strftime.m4 (gl_FUNC_STRFTIME): Don't test for mempcpy.
31762
31763 2009-01-18  Martin Lambers  <marlam@marlam.de>
31764
31765         New module 'link'.
31766         * lib/unistd.in.h (link): New declaration.
31767         * lib/link.c: New file.
31768         * m4/link.m4: New file.
31769         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize GNULIB_LINK,
31770         HAVE_LINK.
31771         * modules/unistd (Makefile.am): Substitute GNULIB_LINK, HAVE_LINK.
31772         * modules/link: New file.
31773         * doc/posix-functions/link.texi: Mention the new module.
31774
31775 2009-01-18  Bruno Haible  <bruno@clisp.org>
31776
31777         * tests/test-avltree_list.c (main): Call set_program_name.
31778         * tests/test-avltree_oset.c (main): Likewise.
31779         * tests/test-obstack-printf.c: Include progname.h.
31780         (main): Call set_program_name.
31781         * tests/test-quotearg.c: Include progname.h.
31782         (main): Call set_program_name.
31783         * tests/test-xmemdup0.c: Include progname.h.
31784         (main): Call set_program_name.
31785
31786 2009-01-18  Bruno Haible  <bruno@clisp.org>
31787
31788         New module 'alphasort'.
31789         * lib/dirent.in.h (alphasort): New declaration.
31790         * lib/alphasort.c: New file, from glibc with modifications.
31791         * m4/alphasort.m4: New file.
31792         * modules/alphasort: New file.
31793         * m4/dirent_h.m4 (gl_DIRENT_H_DEFAULTS): Initialize GNULIB_ALPHASORT,
31794         HAVE_ALPHASORT.
31795         * modules/dirent (Makefile.am): Substitute GNULIB_ALPHASORT,
31796         HAVE_ALPHASORT.
31797         * doc/posix-functions/alphasort.texi: Mention the new module and the
31798         portability problems.
31799
31800 2009-01-18  Bruno Haible  <bruno@clisp.org>
31801
31802         New module 'scandir'.
31803         * lib/dirent.in.h (scandir): New declaration.
31804         * lib/scandir.c: New file, from glibc with modifications.
31805         * m4/scandir.m4: New file.
31806         * modules/scandir: New file.
31807         * m4/dirent_h.m4 (gl_DIRENT_H_DEFAULTS): Initialize GNULIB_SCANDIR,
31808         HAVE_SCANDIR.
31809         * modules/dirent (Makefile.am): Substitute GNULIB_SCANDIR,
31810         HAVE_SCANDIR.
31811         * doc/posix-functions/scandir.texi: Mention the new module and the
31812         portability problems.
31813
31814 2009-01-17  Bruno Haible  <bruno@clisp.org>
31815
31816         * gnulib-tool (func_remove_prefix): Escape all dots in the prefix.
31817         Update documentation.
31818         (func_remove_suffix): Escape all dots in the suffix. Update
31819         documentation.
31820         (func_filter_filelist): Update documentation.
31821         Reported by Ralf Wildenhues.
31822
31823 2009-01-17  Bruno Haible  <bruno@clisp.org>
31824
31825         * modules/dprintf-posix-tests: New file.
31826         * tests/test-dprintf-posix.sh: New file.
31827         * tests/test-dprintf-posix.c: New file.
31828
31829         New modules 'dprintf', 'dprintf-posix'.
31830         * lib/stdio.in.h (dprintf): New declaration.
31831         * lib/dprintf.c: New file.
31832         * m4/dprintf.m4: New file.
31833         * m4/dprintf-posix.m4: New file.
31834         * modules/dprintf: New file.
31835         * modules/dprintf-posix: New file.
31836         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Initialize GNULIB_DPRINTF,
31837         HAVE_DPRINTF, REPLACE_DPRINTF.
31838         * modules/stdio (Makefile.am): Substitute also GNULIB_DPRINTF,
31839         HAVE_DPRINTF, REPLACE_DPRINTF.
31840         * doc/posix-functions/dprintf.texi: Mention the new modules.
31841
31842 2009-01-17  Bruno Haible  <bruno@clisp.org>
31843
31844         * modules/vdprintf-posix-tests: New file.
31845         * tests/test-vdprintf-posix.sh: New file.
31846         * tests/test-vdprintf-posix.c: New file.
31847
31848         New modules 'vdprintf', 'vdprintf-posix'.
31849         * lib/stdio.in.h (vdprintf): New declaration.
31850         * lib/vdprintf.c: New file.
31851         * m4/vdprintf.m4: New file.
31852         * m4/vdprintf-posix.m4: New file.
31853         * modules/vdprintf: New file.
31854         * modules/vdprintf-posix: New file.
31855         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Initialize GNULIB_VDPRINTF,
31856         HAVE_VDPRINTF, REPLACE_VDPRINTF.
31857         * modules/stdio (Makefile.am): Substitute also GNULIB_VDPRINTF,
31858         HAVE_VDPRINTF, REPLACE_VDPRINTF.
31859         * doc/posix-functions/vdprintf.texi: Mention the new modules.
31860
31861 2009-01-17  Bruno Haible  <bruno@clisp.org>
31862
31863         Fix replacement of fopen on mingw.
31864         * m4/fopen.m4 (gl_FUNC_FOPEN): Define FOPEN_TRAILING_SLASH_BUG also on
31865         mingw.
31866
31867 2009-01-17  Bruno Haible  <bruno@clisp.org>
31868
31869         Fix compilation error on HP-UX 11.00, present since 2008-09-24.
31870         * lib/fopen.c: Include <sys/types.h> and <sys/types.h>.
31871
31872 2009-01-17  Bruno Haible  <bruno@clisp.org>
31873
31874         Avoid test-fflush2.sh failure on mingw.
31875         * tests/test-fflush2.c: Include binary-io.h.
31876         (main): Put standard input into binary mode.
31877         * modules/fflush-tests (Depends-on): Add binary-io.
31878
31879 2009-01-17  Bruno Haible  <bruno@clisp.org>
31880
31881         * lib/wchar.in.h: In another particular situation, include only the
31882         system's <wchar.h> file.
31883         (_GL_ALREADY_INCLUDING_WCHAR_H): New macro.
31884         Reported by Albert Chin-A-Young <china@thewrittenword.com>
31885         and Thomas Guyot-Sionnest <dermoth@aei.ca>.
31886
31887 2009-01-17  Bruno Haible  <bruno@clisp.org>
31888
31889         Support for stripping executables in --enable-relocatable.
31890         * build-aux/install-reloc: Expect one more argument, or an environment
31891         variable RELOC_STRIP_PROG. If set, strip the destination program and
31892         its wrapper.
31893         * m4/relocatable.m4 (gl_RELOCATABLE_BODY): In INSTALL_PROGRAM_ENV, set
31894         RELOC_STRIP_PROG.
31895         * doc/relocatable-maint.texi (Supporting Relocation): Mention the need
31896         to set RELOCATABLE_STRIP.
31897         * NEWS: Mention the new Makefile requirement.
31898
31899 2009-01-17  Bruno Haible  <bruno@clisp.org>
31900
31901         * build-aux/install-reloc: Remove debugging information left over by
31902         C compiler on MacOS X.
31903
31904 2009-01-17  Bruno Haible  <bruno@clisp.org>
31905
31906         Update use of _NSGetExecutablePath after API change in MacOS X 10.4.
31907         * lib/progreloc.c (find_executable): Fix type of pointer passed to
31908         _NSGetExecutablePath.
31909
31910 2009-01-16  Jim Meyering  <meyering@redhat.com>
31911
31912         strerror: avoid warnings about discarding "const"
31913         * lib/strerror.c (rpl_strerror): Instead of returning a const
31914         string from each and every "case", use a variable, and add a single
31915         cast after the switch.
31916
31917 2009-01-16  Albert Chin-A-Young <china@thewrittenword.com>
31918
31919         * lib/arpa_inet.in.h: Add extern "C" block for C++.
31920
31921 2009-01-16  Bruno Haible  <bruno@clisp.org>
31922
31923         * m4/printf.m4 (gl_SNPRINTF_SIZE1, gl_VSNPRINTF_ZEROSIZE_C99): Use an
31924         array initializer syntax that also works in C++ mode.
31925         Reported by Albert Chin <bug-gnulib@mlists.thewrittenword.com>.
31926
31927 2009-01-16  Jim Meyering  <meyering@redhat.com>
31928
31929         poll: suppress a warning
31930         * lib/poll.c: Use #pragma GCC diagnostic ignored "-Wtype-limits"
31931         to ignore "...unsigned expression < 0 is always false" warnings.
31932
31933 2009-01-16  Daniel P. Berrange  <berrange@redhat.com>
31934
31935         poll: remove declarations of unused variables
31936         * lib/poll.c (poll) [WIN32_NATIVE]: Remove declarations of unused
31937         sockbuf and optlen.
31938
31939 2009-01-15  Bruno Haible  <bruno@clisp.org>
31940
31941         Make fflush-after-ungetc POSIX compliant on BSD systems.
31942         * lib/fflush.c (clear_ungetc_buffer_preserving_position): New function.
31943         (clear_ungetc_buffer): Implement also for other systems.
31944         (rpl_fflush): On glibc systems, invoke
31945         clear_ungetc_buffer_preserving_position. Otherwise, invoke
31946         clear_ungetc_buffer after fetching the stream's position, not before.
31947
31948 2009-01-15  Bruno Haible  <bruno@clisp.org>
31949
31950         Make fflush-after-ungetc POSIX compliant on glibc systems.
31951         * m4/fflush.m4 (gl_FUNC_FFLUSH): Test also the behaviour of fflush
31952         after ungetc.
31953         * lib/fflush.c (clear_ungetc_buffer): Implement for glibc systems.
31954         (rpl_fflush): On glibc systems, simply call the system's fflush
31955         function after clearing the ungetc buffer.
31956         * lib/fseeko.c (rpl_fseeko): Don't try to lseek past the end of file.
31957         Instead, lseek only to the end of file, then use the system's fseeko
31958         for the rest. On glibc systems, reset the EOF indicator bit.
31959
31960 2009-01-15  Jim Meyering  <meyering@redhat.com>
31961
31962         openmp.m4: revert quote-adding change, for portability to older autoconf
31963         * m4/openmp.m4: Remove the quotes added on 2009-01-14.
31964         This reverts part of 42d1eda5dcce2d68deab7a642e7f29bcd7144a0d.
31965         Simon Josefsson noticed the problem when using autoconf-2.61.
31966
31967 2009-01-15  Bruno Haible  <bruno@clisp.org>
31968
31969         * tests/test-fflush2.sh: Invoke test-fflush2 twice.
31970         * tests/test-fflush2.c (ASSERT): Always fail.
31971         (main): Add two tests for fflush() after ungetc(), taking into account
31972         the Austin Group's clarification.
31973         Suggested by Eric Blake.
31974
31975 2009-01-15  Albert Chin-A-Young  <china@thewrittenword.com>
31976
31977         mktime.m4: remove K&R-style function prototypes
31978         * m4/mktime.m4 (AC_FUNC_MKTIME): Remove K&R-style function prototypes
31979         for the Sun C++ compiler.
31980
31981 2009-01-14  Bruno Haible  <bruno@clisp.org>
31982
31983         * lib/stdint.in.h (_GL_JUST_INCLUDE_SYSTEM_WCHAR_H): New macro, defined
31984         while including <wchar.h>.
31985         * lib/wchar.in.h: In two particular situations on HP-UX, include only
31986         the system's <wchar.h> file.
31987         Reported by Albert Chin <bug-gnulib@mlists.thewrittenword.com>.
31988
31989 2009-01-14  Bruno Haible  <bruno@clisp.org>
31990
31991         * m4/csharp.m4: Don't mention gettext on the serial number line.
31992         * m4/csharpexec.m4: Likewise.
31993         * m4/eaccess.m4: Likewise.
31994         * m4/javaexec.m4: Likewise.
31995         * m4/sig_atomic_t.m4: Likewise.
31996         * m4/tmpdir.m4: Likewise.
31997         * m4/intldir.m4: Bump gettext version.
31998         * m4/lib-ld.m4: Likewise.
31999
32000 2009-01-14  Bruno Haible  <bruno@clisp.org>
32001
32002         * lib/progname.c (set_program_name): Add more comments.
32003         Reported by Sergey Poznyakoff <gray@gnu.org.ua>.
32004
32005 2009-01-14  Simon Josefsson  <simon@josefsson.org>
32006
32007         * lib/sys_stat.in.h: Include sys/types.h for nlink_t on systems
32008         were sys/stat.h does not define it.
32009
32010 2009-01-14  Jim Meyering  <meyering@redhat.com>
32011
32012         many *.m4 files: improve m4 quoting
32013         99% of this change was performed by running the following commands:
32014         git ls-files | grep '\.m4$' | xargs perl -pi \
32015           -e 's/(AC_\w+\()([^[()]+?)([,)])/$1\[$2]$3/g;' \
32016           -e 's/(AC_\w+\((?:\[[^,]+?\], ){1})([^,[()]+?)([,)])/$1\[$2]$3/g;' \
32017           -e 's/(AC_\w+\((?:\[[^,]+?\], ){2})([^,[()]+?)([,)])/$1\[$2]$3/g;' \
32018           -e 's/(AC_\w+\((?:\[[^,]+?\], ){3})([^,[()]+?)([,)])/$1\[$2]$3/g'
32019         perl -pi -e 's/\[\.\.\.\]/.../' m4/onceonly.m4
32020         The remainder were to add Copyright dates, increment serial numbers,
32021         undo some changes in comments, exclude m4/intl.m4, and add quotes
32022         around the "1" in ",1" where the unusual spacing prohibited the
32023         above regexps from doing the job.  For more details, see
32024         <http://thread.gmane.org/gmane.comp.lib.gnulib.bugs/16175>.
32025         * m4/acl.m4: Modified.
32026         * m4/afs.m4: Likewise.
32027         * m4/alloca.m4: Likewise.
32028         * m4/argp.m4: Likewise.
32029         * m4/argz.m4: Likewise.
32030         * m4/atexit.m4: Likewise.
32031         * m4/bison-i18n.m4: Likewise.
32032         * m4/bison.m4: Likewise.
32033         * m4/byteswap.m4: Likewise.
32034         * m4/c-stack.m4: Likewise.
32035         * m4/c-strtod.m4: Likewise.
32036         * m4/calloc.m4: Likewise.
32037         * m4/canonicalize-lgpl.m4: Likewise.
32038         * m4/chown.m4: Likewise.
32039         * m4/clock_time.m4: Likewise.
32040         * m4/codeset.m4: Likewise.
32041         * m4/copy-file.m4: Likewise.
32042         * m4/csharp.m4: Likewise.
32043         * m4/csharpcomp.m4: Likewise.
32044         * m4/csharpexec.m4: Likewise.
32045         * m4/d-ino.m4: Likewise.
32046         * m4/d-type.m4: Likewise.
32047         * m4/dirfd.m4: Likewise.
32048         * m4/double-slash-root.m4: Likewise.
32049         * m4/eaccess.m4: Likewise.
32050         * m4/eealloc.m4: Likewise.
32051         * m4/environ.m4: Likewise.
32052         * m4/errno_h.m4: Likewise.
32053         * m4/euidaccess.m4: Likewise.
32054         * m4/execute.m4: Likewise.
32055         * m4/fatal-signal.m4: Likewise.
32056         * m4/fchdir.m4: Likewise.
32057         * m4/fcntl_h.m4: Likewise.
32058         * m4/fileblocks.m4: Likewise.
32059         * m4/filenamecat.m4: Likewise.
32060         * m4/findprog.m4: Likewise.
32061         * m4/flexmember.m4: Likewise.
32062         * m4/fnmatch.m4: Likewise.
32063         * m4/fopen.m4: Likewise.
32064         * m4/fpending.m4: Likewise.
32065         * m4/fprintf-posix.m4: Likewise.
32066         * m4/free.m4: Likewise.
32067         * m4/frexp.m4: Likewise.
32068         * m4/frexpl.m4: Likewise.
32069         * m4/fsusage.m4: Likewise.
32070         * m4/ftruncate.m4: Likewise.
32071         * m4/gc-camellia.m4: Likewise.
32072         * m4/gc-random.m4: Likewise.
32073         * m4/gc.m4: Likewise.
32074         * m4/getaddrinfo.m4: Likewise.
32075         * m4/getcwd-abort-bug.m4: Likewise.
32076         * m4/getcwd-path-max.m4: Likewise.
32077         * m4/getdate.m4: Likewise.
32078         * m4/getdomainname.m4: Likewise.
32079         * m4/getgroups.m4: Likewise.
32080         * m4/gethostname.m4: Likewise.
32081         * m4/gethrxtime.m4: Likewise.
32082         * m4/getline.m4: Likewise.
32083         * m4/getloadavg.m4: Likewise.
32084         * m4/getndelim2.m4: Likewise.
32085         * m4/getpass.m4: Likewise.
32086         * m4/gettext.m4: Likewise.
32087         * m4/gettime.m4: Likewise.
32088         * m4/gettimeofday.m4: Likewise.
32089         * m4/gnulib-common.m4: Likewise.
32090         * m4/group-member.m4: Likewise.
32091         * m4/host-os.m4: Likewise.
32092         * m4/iconv.m4: Likewise.
32093         * m4/iconv_open.m4: Likewise.
32094         * m4/inet_ntop.m4: Likewise.
32095         * m4/inet_pton.m4: Likewise.
32096         * m4/inline.m4: Likewise.
32097         * m4/intldir.m4: Likewise.
32098         * m4/intlmacosx.m4: Likewise.
32099         * m4/intmax.m4: Likewise.
32100         * m4/intmax_t.m4: Likewise.
32101         * m4/inttypes.m4: Likewise.
32102         * m4/inttypes_h.m4: Likewise.
32103         * m4/inttypes-pri.m4: Likewise.
32104         * m4/isapipe.m4: Likewise.
32105         * m4/isnand.m4: Likewise.
32106         * m4/isnanf.m4: Likewise.
32107         * m4/isnanl.m4: Likewise.
32108         * m4/javacomp.m4: Likewise.
32109         * m4/javaexec.m4: Likewise.
32110         * m4/jm-winsz1.m4: Likewise.
32111         * m4/jm-winsz2.m4: Likewise.
32112         * m4/lchown.m4: Likewise.
32113         * m4/lcmessage.m4: Likewise.
32114         * m4/ldexpl.m4: Likewise.
32115         * m4/lib-ld.m4: Likewise.
32116         * m4/lib-link.m4: Likewise.
32117         * m4/libsigsegv.m4: Likewise.
32118         * m4/link-follow.m4: Likewise.
32119         * m4/localcharset.m4: Likewise.
32120         * m4/locale-fr.m4: Likewise.
32121         * m4/locale-ja.m4: Likewise.
32122         * m4/locale-tr.m4: Likewise.
32123         * m4/locale-zh.m4: Likewise.
32124         * m4/lock.m4: Likewise.
32125         * m4/longlong.m4: Likewise.
32126         * m4/ls-mntd-fs.m4: Likewise.
32127         * m4/lstat.m4: Likewise.
32128         * m4/malloc.m4: Likewise.
32129         * m4/mathl.m4: Likewise.
32130         * m4/mbrtowc.m4: Likewise.
32131         * m4/mbstate_t.m4: Likewise.
32132         * m4/mbswidth.m4: Likewise.
32133         * m4/memchr.m4: Likewise.
32134         * m4/memcmp.m4: Likewise.
32135         * m4/memcpy.m4: Likewise.
32136         * m4/memmem.m4: Likewise.
32137         * m4/memmove.m4: Likewise.
32138         * m4/mempcpy.m4: Likewise.
32139         * m4/memrchr.m4: Likewise.
32140         * m4/memset.m4: Likewise.
32141         * m4/minmax.m4: Likewise.
32142         * m4/mkdir-slash.m4: Likewise.
32143         * m4/mkdtemp.m4: Likewise.
32144         * m4/mktime.m4: Likewise.
32145         * m4/mmap-anon.m4: Likewise.
32146         * m4/mountlist.m4: Likewise.
32147         * m4/nanosleep.m4: Likewise.
32148         * m4/nls.m4: Likewise.
32149         * m4/nocrash.m4: Likewise.
32150         * m4/open.m4: Likewise.
32151         * m4/openat.m4: Likewise.
32152         * m4/openmp.m4: Likewise.
32153         * m4/pathmax.m4: Likewise.
32154         * m4/perl.m4: Likewise.
32155         * m4/physmem.m4: Likewise.
32156         * m4/pipe.m4: Likewise.
32157         * m4/po.m4: Likewise.
32158         * m4/poll.m4: Likewise.
32159         * m4/posixtm.m4: Likewise.
32160         * m4/posixver.m4: Likewise.
32161         * m4/printf-frexp.m4: Likewise.
32162         * m4/printf-frexpl.m4: Likewise.
32163         * m4/printf-posix.m4: Likewise.
32164         * m4/printf-posix-rpl.m4: Likewise.
32165         * m4/printf.m4: Likewise.
32166         * m4/progtest.m4: Likewise.
32167         * m4/putenv.m4: Likewise.
32168         * m4/readline.m4: Likewise.
32169         * m4/readlink.m4: Likewise.
32170         * m4/readutmp.m4: Likewise.
32171         * m4/realloc.m4: Likewise.
32172         * m4/regex.m4: Likewise.
32173         * m4/relocatable.m4: Likewise.
32174         * m4/relocatable-lib.m4: Likewise.
32175         * m4/rename-dest-slash.m4: Likewise.
32176         * m4/rename.m4: Likewise.
32177         * m4/rmdir-errno.m4: Likewise.
32178         * m4/rmdir.m4: Likewise.
32179         * m4/roundf.m4: Likewise.
32180         * m4/roundl.m4: Likewise.
32181         * m4/rpmatch.m4: Likewise.
32182         * m4/save-cwd.m4: Likewise.
32183         * m4/selinux-selinux-h.m4: Likewise.
32184         * m4/setenv.m4: Likewise.
32185         * m4/settime.m4: Likewise.
32186         * m4/sig2str.m4: Likewise.
32187         * m4/sig_atomic_t.m4: Likewise.
32188         * m4/signalblocking.m4: Likewise.
32189         * m4/signbit.m4: Likewise.
32190         * m4/sigpipe.m4: Likewise.
32191         * m4/sockets.m4: Likewise.
32192         * m4/sockpfaf.m4: Likewise.
32193         * m4/st_dm_mode.m4: Likewise.
32194         * m4/stat-time.m4: Likewise.
32195         * m4/stdbool.m4: Likewise.
32196         * m4/stdint.m4: Likewise.
32197         * m4/stdint_h.m4: Likewise.
32198         * m4/stpcpy.m4: Likewise.
32199         * m4/stpncpy.m4: Likewise.
32200         * m4/strcase.m4: Likewise.
32201         * m4/strchrnul.m4: Likewise.
32202         * m4/strcspn.m4: Likewise.
32203         * m4/strdup.m4: Likewise.
32204         * m4/strftime.m4: Likewise.
32205         * m4/strndup.m4: Likewise.
32206         * m4/strnlen.m4: Likewise.
32207         * m4/strpbrk.m4: Likewise.
32208         * m4/strptime.m4: Likewise.
32209         * m4/strsep.m4: Likewise.
32210         * m4/strtod.m4: Likewise.
32211         * m4/strtoimax.m4: Likewise.
32212         * m4/strtok_r.m4: Likewise.
32213         * m4/strtol.m4: Likewise.
32214         * m4/strtoll.m4: Likewise.
32215         * m4/strtoul.m4: Likewise.
32216         * m4/strtoull.m4: Likewise.
32217         * m4/strtoumax.m4: Likewise.
32218         * m4/strverscmp.m4: Likewise.
32219         * m4/threadlib.m4: Likewise.
32220         * m4/timegm.m4: Likewise.
32221         * m4/tm_gmtoff.m4: Likewise.
32222         * m4/tmpdir.m4: Likewise.
32223         * m4/tmpfile.m4: Likewise.
32224         * m4/tzset.m4: Likewise.
32225         * m4/uintmax_t.m4: Likewise.
32226         * m4/unlinkdir.m4: Likewise.
32227         * m4/unlocked-io.m4: Likewise.
32228         * m4/uptime.m4: Likewise.
32229         * m4/userspec.m4: Likewise.
32230         * m4/utimbuf.m4: Likewise.
32231         * m4/utime.m4: Likewise.
32232         * m4/utimes-null.m4: Likewise.
32233         * m4/utimes.m4: Likewise.
32234         * m4/vararrays.m4: Likewise.
32235         * m4/vasnprintf.m4: Likewise.
32236         * m4/vfprintf-posix.m4: Likewise.
32237         * m4/vprintf-posix.m4: Likewise.
32238         * m4/wait-process.m4: Likewise.
32239         * m4/wchar_t.m4: Likewise.
32240         * m4/wint_t.m4: Likewise.
32241         * m4/write-any-file.m4: Likewise.
32242         * m4/yield.m4: Likewise.
32243
32244 2009-01-13  Bruno Haible  <bruno@clisp.org>
32245
32246         Avoid test-copy-file.sh failures when ACL support insufficient.
32247         * modules/copy-file-tests (Makefile.am): Pass USE_ACL in
32248         TESTS_ENVIRONMENT.
32249         * tests/test-copy-file.sh: Skip the ACL comparisons if USE_ACL is 0.
32250         Reported by Jim Meyering.
32251
32252 2009-01-13  Bruno Haible  <bruno@clisp.org>
32253
32254         * modules/unistdio/u-printf-args (Files): Add m4/stdint_h.m4 and
32255         m4/inttypes_h.m4, needed by m4/intmax_t.m4.
32256         * modules/unistdio/u8-printf-parse (Files): Likewise.
32257         * modules/unistdio/u32-printf-parse (Files): Likewise.
32258         * modules/unistdio/ulc-printf-parse (Files): Likewise.
32259
32260 2009-01-13  Simon Josefsson  <simon@josefsson.org>
32261
32262         * modules/unistdio/u16-printf-parse (Files): Add m4/stdint_h.m4
32263         and m4/inttypes_h.m4 too.
32264
32265 2009-01-12  Eric Blake  <ebb9@byu.net>
32266
32267         tests: IRIX 6.2 cc can't compile -0.0 into .data
32268         * tests/test-ceill.c (minus_zero): Compute -0.0L at runtime,
32269         rather than at compile-time.
32270         * tests/test-floorl.c (minus_zero): Likewise.
32271         * tests/test-frexpl.c (minus_zero): Likewise.
32272         * tests/test-isnan.c (minus_zerol): Likewise.
32273         * tests/test-isnanl.h (minus_zero): Likewise.
32274         * tests/test-ldexpl.c (minus_zero): Likewise.
32275         * tests/test-roundl.c (minus_zero): Likewise.
32276         * tests/test-signbit.c (minus_zerol): Likewise.
32277         * tests/test-snprintf-posix.h (minus_zerol): Likewise.
32278         * tests/test-sprintf-posix.h (minus_zerol): Likewise.
32279         * tests/test-truncl.c (minus_zero): Likewise.
32280         * tests/test-vasnprintf-posix.c (minus_zerol): Likewise.
32281         * tests/test-vasprintf-posix.c (minus_zerol): Likewise.
32282         Reported by Tom G. Christensen and Nelson H. F. Beebe.
32283
32284 2009-01-09  Paolo Bonzini  <bonzini@gnu.org>
32285
32286         regex: fix glibc bug 9697
32287         * lib/regcomp.c (re_compile_fastmap_iter): Rewrite COMPLEX_BRACKET
32288         handling.
32289
32290 2009-01-09  Paolo Bonzini  <bonzini@gnu.org>
32291
32292         regex: fix glibc bug 697
32293         * lib/regexec.c (prune_impossible_nodes): Handle sifted_states[0]
32294         being NULL also if there are no backreferences.
32295
32296 2009-01-09  Paolo Bonzini  <bonzini@gnu.org>
32297
32298         regex: merge glibc changes
32299         * lib/regcomp.c (re_compile_fastmap_iter): Use __mbrtowc.
32300         * lib/regex_internal.c (build_wcs_buffer, build_wcs_upper_buffer,
32301         re_string_skip_chars, re_string_reconstruct): Likewise.
32302         * lib/regex_internal.h [!_LIBC] (__mbrtowc): New #define.
32303
32304 2009-01-07  Jim Meyering  <meyering@redhat.com>
32305
32306         poll: filter through cppi
32307         * lib/poll.c: Indent cpp directives to reflect nesting.
32308
32309 2009-01-07  Daniel P. Berrange  <berrange@redhat.com>
32310
32311         poll: don't return uninitialized
32312         * lib/poll.c (poll) [WIN32_NATIVE]: Initialize "rc".
32313
32314 2009-01-06  Jeremy Olexa <darkside@gentoo.org>  (tiny change)
32315
32316         avoid compile failure on AIX 6.1
32317         * lib/getloadavg.c [HAVE_LIBPERFSTAT]: Include <sys/protosw.h>.
32318         Details in http://thread.gmane.org/gmane.comp.gnu.coreutils.bugs/15465
32319
32320 2009-01-04  Jim Meyering  <meyering@redhat.com>
32321
32322         remove duplicate inclusion of <stdio.h>
32323         * tests/test-fprintf-posix.c: Likewise.
32324         * tests/test-printf-posix.c: Likewise.
32325         * tests/test-snprintf-posix.c: Likewise.
32326         * tests/test-sprintf-posix.c: Likewise.
32327         * tests/test-vasprintf-posix.c: Likewise.
32328         * tests/test-vfprintf-posix.c: Likewise.
32329         * tests/test-vprintf-posix.c: Likewise.
32330         * tests/test-vsnprintf-posix.c: Likewise.
32331         * tests/test-vsprintf-posix.c: Likewise.
32332
32333 2009-01-03  Jim Meyering  <meyering@redhat.com>
32334
32335         gnulib-tool: fix sed-based filtering
32336         * gnulib-tool (func_filter_filelist): Remove extra backslash
32337         in sed_fff_filter definition.
32338
32339 2009-01-02  Jim Meyering  <meyering@redhat.com>
32340
32341         strftime: avoid compilation failure on Solaris 2.6
32342         * modules/strftime (Depends-on): Add mbrlen and mbsinit.
32343         * lib/strftime.c [DO_MULTIBYTE]: Include <wchar.h> unconditionally.
32344         Don't #define mbrlen or mbsinit, since now they're guaranteed to
32345         be available.  Reported by Tom G. Christensen.  Details in
32346         <http://thread.gmane.org/gmane.comp.lib.gnulib.bugs/16180>.
32347
32348 2009-01-01  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
32349             Bruno Haible  <bruno@clisp.org>
32350
32351         Speed up gnulib-tool by doing more string processing through shell
32352         built-ins.
32353         * gnulib-tool (fast_func_append): New variable.
32354         (func_remove_prefix, func_remove_suffix): New functions.
32355         (fast_func_remove_prefix, fast_func_remove_suffix): New variables.
32356         (func_filter_filelist): New function.
32357         (func_get_dependencies): Use func_remove_suffix instead of sed.
32358         (func_get_automake_snippet): Use func_filter_filelist instead of a
32359         subshell and sed invocation.
32360
32361 2009-01-01  Bruno Haible  <bruno@clisp.org>
32362
32363         Fix a security bug.
32364         * gnulib-tool (func_import, import, update): Don't allow the characters
32365         '"', '$', '`', '\' in macro arguments that become part of commands that
32366         are evaluated.
32367
32368 2009-01-01  Bruno Haible  <bruno@clisp.org>
32369
32370         * gnulib-tool (func_reset_sigpipe): Add more comments.
32371
32372 2009-01-01  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
32373
32374         * gnulib-tool (func_modules_add_dummy, func_emit_lib_Makefile_am,
32375         func_emit_tests_Makefile_am, func_import): Abort loops early if we
32376         already know the answer.
32377
32378 2009-01-01  Jim Meyering  <meyering@redhat.com>
32379
32380         * lib/version-etc.c (version_etc_va): Update copyright year.
32381
32382 2008-12-30  Bruno Haible  <bruno@clisp.org>
32383
32384         * m4/lib-prefix.m4 (AC_LIB_LINKFLAGS_BODY): Don't overwrite
32385         LIB${NAME}_PREFIX when considering the dependencies of lib${name}.
32386         Reported by Charles Wilson <cygwin@cwilson.fastmail.fm>.
32387
32388 2008-12-29  Eric Blake  <ebb9@byu.net>
32389
32390         multiarch: avoid autoconf AC_REQUIRE bug
32391         * m4/multiarch.m4 (gl_MULTIARCH): Split body...
32392         (gl_MULTIARCH_BODY): ...into new macro, to work around bug in Autoconf
32393         2.63 and older.
32394         Reported by Bruno Haible, and analyzed in
32395         http://lists.gnu.org/archive/html/bug-autoconf/2008-12/msg00039.html
32396
32397 2008-12-29  Bruno Haible  <bruno@clisp.org>
32398
32399         * gnulib-tool (func_import): When generating sed-ignore-removed, handle
32400         files in subdirectories correctly.
32401         Reported by Ralf Wildenhues.
32402
32403 2008-12-29  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
32404
32405         * gnulib-tool (func_update_ignorelist): Use 'join - FILE'
32406         rather than 'join FILE -', for Solaris join.
32407
32408 2008-12-29  Bruno Haible  <bruno@clisp.org>
32409
32410         * m4/codeset.m4 (AM_LANGINFO_CODESET): More systematic m4 argument
32411         quoting.
32412         * m4/gettext.m4 (AM_GNU_GETTEXT): Likewise.
32413         * m4/glibc2.m4 (gt_GLIBC2): Likewise.
32414         * m4/glibc21.m4 (gl_GLIBC21): Likewise.
32415         * m4/iconv.m4 (AM_ICONV_LINK, AM_ICONV): Likewise.
32416         * m4/intdiv0.m4 (gt_INTDIV0): Likewise.
32417         * m4/intlmacosx.m4 (gt_INTL_MACOSX): Likewise.
32418         * m4/intmax.m4 (gt_TYPE_INTMAX_T): Likewise.
32419         * m4/inttypes-pri.m4 (gt_INTTYPES_PRI): Likewise.
32420         * m4/inttypes_h.m4 (gl_AC_HEADER_INTTYPES_H): Likewise.
32421         * m4/lcmessage.m4 (gt_LC_MESSAGES): Likewise.
32422         * m4/nls.m4 (AM_NLS): Likewise.
32423         * m4/po.m4 (AM_PO_SUBDIRS): Likewise.
32424         * m4/printf-posix.m4 (gt_PRINTF_POSIX): Likewise.
32425         * m4/progtest.m4 (AM_PATH_PROG_WITH_TEST): Likewise.
32426         * m4/size_max.m4 (gl_SIZE_MAX): Likewise.
32427         * m4/stdint_h.m4 (gl_AC_HEADER_STDINT_H): Likewise.
32428         * m4/threadlib.m4 (gl_THREADLIB_BODY): Likewise.
32429         * m4/uintmax_t.m4 (gl_AC_TYPE_UINTMAX_T): Likewise.
32430         * m4/visibility.m4 (gl_VISIBILITY): Likewise.
32431         * m4/wchar_t.m4 (gt_TYPE_WCHAR_T): Likewise.
32432         * m4/wint_t.m4 (gt_TYPE_WINT_T): Likewise.
32433         * m4/xsize.m4 (gl_XSIZE): Likewise.
32434         Suggested by Jim Meyering.
32435
32436 2008-11-17  Bruce Korb  <bkorb@gnu.org>
32437
32438         * lib/parse-duration.h: non-iso form accepts years, months weeks, too
32439         * lib/parse-duration.c: use a switch instead of cascading if's.
32440
32441 2008-12-29  Eric Blake  <ebb9@byu.net>
32442
32443         wchar.h: supply WEOF on Irix 5.3
32444         * lib/wchar.in.h (wint_t): Also supply WEOF.
32445         * lib/wctype.in.h (wint_t): Likewise.
32446         * doc/posix-headers/wchar.texi (wchar.h): Document the bug.
32447         * doc/posix-headers/wctype.texi (wctype.h): Likewise.
32448         Reported by Tom G. Christensen.
32449
32450 2008-12-26  Bruno Haible  <bruno@clisp.org>
32451
32452         * m4/multiarch.m4 (gl_MULTIARCH): Recognize also the architecture names
32453         i486, i586, i686.
32454
32455 2008-12-26  Bruno Haible  <bruno@clisp.org>
32456
32457         * lib/stdlib.in.h (struct random_data): Fix indentation of comments.
32458
32459 2008-12-26  Bruno Haible  <bruno@clisp.org>
32460
32461         * lib/stdint.in.h: Move the include of <wchar.h> down until after all
32462         the types are defined. Also conditionalize it on __STDC_LIMIT_MACROS,
32463         not __STDC_CONSTANT_MACROS.
32464         Reported by Nelson H. F. Beebe <beebe@math.utah.edu> via Eric Blake.
32465
32466 2008-12-25  Bruno Haible  <bruno@clisp.org>
32467
32468         Add support for universal builds to vasnprintf.
32469         * m4/printf.m4 (gl_PRINTF_ENOMEM): Require gl_MULTIARCH. In Apple
32470         universal builds, guess no.
32471         * modules/vasnprintf-posix (Depends-on): Add multiarch.
32472         * modules/vasprintf-posix (Depends-on): Likewise.
32473         * modules/fprintf-posix (Depends-on): Likewise.
32474         * modules/vfprintf-posix (Depends-on): Likewise.
32475         * modules/snprintf-posix (Depends-on): Likewise.
32476         * modules/vsnprintf-posix (Depends-on): Likewise.
32477         * modules/sprintf-posix (Depends-on): Likewise.
32478         * modules/vsprintf-posix (Depends-on): Likewise.
32479         * modules/unistdio/u8-vasnprintf (Depends-on): Likewise.
32480         * modules/unistdio/u8-u8-vasnprintf (Depends-on): Likewise.
32481         * modules/unistdio/u16-vasnprintf (Depends-on): Likewise.
32482         * modules/unistdio/u16-u16-vasnprintf (Depends-on): Likewise.
32483         * modules/unistdio/u32-vasnprintf (Depends-on): Likewise.
32484         * modules/unistdio/u32-u32-vasnprintf (Depends-on): Likewise.
32485         * modules/unistdio/ulc-vasnprintf (Depends-on): Likewise.
32486
32487         Add support for universal builds to <inttypes.h>.
32488         * lib/inttypes.in.h (_PRI64_PREFIX, _PRIu64_PREFIX, _SCN64_PREFIX,
32489         _SCNu64_PREFIX): In Apple
32490         universal builds, define directly, using _LP64.
32491         * m4/inttypes.m4 (gl_INTTYPES_H): In Apple universal builds, set
32492         INT64_MAX_EQ_LONG_MAX and UINT64_MAX_EQ_ULONG_MAX to -1.
32493         * modules/inttypes (Depends-on): Add multiarch.
32494         (Makefile.am): Substitute APPLE_UNIVERSAL_BUILD.
32495
32496         Add support for universal builds to <stdint.h>.
32497         * lib/stdint.in.h (PDFDIFF_MIN, PTRDIFF_MAX, SIZE_MAX): In Apple
32498         universal builds, define directly, using _LP64.
32499         * m4/stdint.m4 (gl_STDINT_TYPE_PROPERTIES): Require gl_MULTIARCH. In
32500         Apple universal builds, don't test for the size and suffix of ptrdiff_t
32501         and size_t.
32502         * modules/stdint (Depends-on): Add multiarch.
32503         (Makefile.am): Substitute APPLE_UNIVERSAL_BUILD.
32504
32505         New module 'multiarch'.
32506         * modules/multiarch: New file.
32507         * m4/multiarch.m4: New file.
32508
32509 2008-12-25  Bruno Haible  <bruno@clisp.org>
32510
32511         * gnulib-tool (func_create_testdir): Avoid failure of mv command.
32512
32513 2008-12-25  Bruno Haible  <bruno@clisp.org>
32514
32515         * modules/btowc (License): Relicense under LGPLv2+.
32516         * modules/mbsinit (License): Likewise.
32517         * modules/mbrtowc (License): Likewise.
32518         * modules/wcrtomb (License): Likewise.
32519         * modules/streq (License): Likewise.
32520         Reported by David Lutterkort <lutter@redhat.com>.
32521
32522 2008-12-23  Bruno Haible  <bruno@clisp.org>
32523
32524         * m4/fsusage.m4 (gl_FILE_SYSTEM_USAGE): Fix conditional and comment.
32525
32526 2008-12-23  Bruno Haible  <bruno@clisp.org>
32527
32528         Module getaddrinfo requires linking with $(GETADDRINFO_LIB).
32529         * m4/getaddrinfo.m4 (gl_GETADDRINFO): Put link options into
32530         GETADDRINFO_LIB, not in LIBS.
32531         * modules/getaddrinfo (Link): Set to $(GETADDRINFO_LIB).
32532         * modules/canon-host (Link): Likewise.
32533         * NEWS: Mention the change.
32534         * modules/getaddrinfo-tests (test_getaddrinfo_LDADD): Add the
32535         GETADDRINFO_LIB.
32536
32537 2008-12-22  Bruno Haible  <bruno@clisp.org>
32538
32539         * doc/posix-functions/iswalnum_l.texi: Mention limitation of wchar_t.
32540         * doc/posix-functions/iswalpha_l.texi: Likewise.
32541         * doc/posix-functions/iswblank_l.texi: Likewise.
32542         * doc/posix-functions/iswcntrl_l.texi: Likewise.
32543         * doc/posix-functions/iswctype_l.texi: Likewise.
32544         * doc/posix-functions/iswdigit_l.texi: Likewise.
32545         * doc/posix-functions/iswgraph_l.texi: Likewise.
32546         * doc/posix-functions/iswlower_l.texi: Likewise.
32547         * doc/posix-functions/iswprint_l.texi: Likewise.
32548         * doc/posix-functions/iswpunct_l.texi: Likewise.
32549         * doc/posix-functions/iswspace_l.texi: Likewise.
32550         * doc/posix-functions/iswupper_l.texi: Likewise.
32551         * doc/posix-functions/iswxdigit_l.texi: Likewise.
32552         * doc/posix-functions/mbsnrtowcs.texi: Likewise.
32553         * doc/posix-functions/open_wmemstream.texi: Likewise.
32554         * doc/posix-functions/swscanf.texi: Likewise.
32555         * doc/posix-functions/towctrans_l.texi: Likewise.
32556         * doc/posix-functions/towlower.texi: Likewise.
32557         * doc/posix-functions/towlower_l.texi: Likewise.
32558         * doc/posix-functions/towupper.texi: Likewise.
32559         * doc/posix-functions/towupper_l.texi: Likewise.
32560         * doc/posix-functions/vfwprintf.texi: Likewise.
32561         * doc/posix-functions/vfwscanf.texi: Likewise.
32562         * doc/posix-functions/vswscanf.texi: Likewise.
32563         * doc/posix-functions/vwprintf.texi: Likewise.
32564         * doc/posix-functions/vwscanf.texi: Likewise.
32565         * doc/posix-functions/wcpcpy.texi: Likewise.
32566         * doc/posix-functions/wcpncpy.texi: Likewise.
32567         * doc/posix-functions/wcscasecmp.texi: Likewise.
32568         * doc/posix-functions/wcscasecmp_l.texi: Likewise.
32569         * doc/posix-functions/wcscoll_l.texi: Likewise.
32570         * doc/posix-functions/wcsdup.texi: Likewise.
32571         * doc/posix-functions/wcsncasecmp.texi: Likewise.
32572         * doc/posix-functions/wcsncasecmp_l.texi: Likewise.
32573         * doc/posix-functions/wcsnlen.texi: Likewise.
32574         * doc/posix-functions/wcsnrtombs.texi: Likewise.
32575         * doc/posix-functions/wcsxfrm_l.texi: Likewise.
32576         * doc/posix-functions/wctrans_l.texi: Likewise.
32577         * doc/posix-functions/wctype_l.texi: Likewise.
32578         * doc/glibc-functions/fgetwc_unlocked.texi: Likewise.
32579         * doc/glibc-functions/fgetws_unlocked.texi: Likewise.
32580         * doc/glibc-functions/fputwc_unlocked.texi: Likewise.
32581         * doc/glibc-functions/fputws_unlocked.texi: Likewise.
32582         * doc/glibc-functions/getwc_unlocked.texi: Likewise.
32583         * doc/glibc-functions/getwchar_unlocked.texi: Likewise.
32584         * doc/glibc-functions/putwc_unlocked.texi: Likewise.
32585         * doc/glibc-functions/putwchar_unlocked.texi: Likewise.
32586         * doc/glibc-functions/wcschrnul.texi: Likewise.
32587         * doc/glibc-functions/wcsftime_l.texi: Likewise.
32588         * doc/glibc-functions/wcstod_l.texi: Likewise.
32589         * doc/glibc-functions/wcstof_l.texi: Likewise.
32590         * doc/glibc-functions/wcstol_l.texi: Likewise.
32591         * doc/glibc-functions/wcstold_l.texi: Likewise.
32592         * doc/glibc-functions/wcstoll_l.texi: Likewise.
32593         * doc/glibc-functions/wcstoq.texi: Likewise.
32594         * doc/glibc-functions/wcstoul_l.texi: Likewise.
32595         * doc/glibc-functions/wcstoull_l.texi: Likewise.
32596         * doc/glibc-functions/wcstouq.texi: Likewise.
32597         * doc/glibc-functions/wmempcpy.texi: Likewise.
32598
32599 2008-12-22  Ingo Weinhold  <ingo_weinhold@gmx.de>  (tiny change)
32600             Eric Blake  <ebb9@byu.net>
32601             Paolo Bonzini  <bonzini@gnu.org>
32602             Bruno Haible  <bruno@clisp.org>
32603
32604         Make c-stack work on Haiku.
32605         * lib/c-stack.c (SA_ONSTACK): Define fallback.
32606         (c_stack_action): Use SA_ONSTACK flag.
32607
32608 2008-12-22  Bruno Haible  <bruno@clisp.org>
32609
32610         * m4/locale-fr.m4 (gt_LOCALE_FR_UTF8): Treat Haiku like BeOS.
32611
32612 2008-12-22  Bruno Haible  <bruno@clisp.org>
32613
32614         Work around mbrlen() bugs on AIX, HP-UX, OSF/1, Solaris.
32615         * m4/mbrlen.m4 (gl_FUNC_MBRLEN): Set REPLACE_MBRLEN if mbrtowc is
32616         being overridden.
32617         (gl_MBRLEN_INCOMPLETE_STATE, gl_MBRLEN_RETVAL, gl_MBRLEN_NUL_RETVAL):
32618         New macros.
32619         * lib/wchar.in.h (mbrlen): Override if REPLACE_MBRLEN is set.
32620         * m4/wchar.m4 (gl_WCHAR_H_DEFAULTS): Initialize REPLACE_MBRLEN.
32621         * modules/wchar (Makefile.am): Substitute REPLACE_MBRLEN.
32622         * doc/posix-functions/mbrlen.texi: Mention the various platform bugs.
32623
32624 2008-12-22  Bruno Haible  <bruno@clisp.org>
32625
32626         * m4/mbrtowc.m4 (gl_MBRTOWC_INCOMPLETE_STATE): Remove unused variable
32627         from test code.
32628
32629 2008-12-22  Eric Blake  <ebb9@byu.net>
32630
32631         Avoid gcc warnings on cygwin.
32632         * lib/regex_internal.c (re_string_reconstruct) [!RE_ENABLE_I18N]:
32633         Avoid unused variable.
32634         * lib/regexec.c (check_arrival_add_next_nodes) [!RE_ENABLE_I18N]:
32635         Likewise.
32636
32637 2008-12-22  Bruno Haible  <bruno@clisp.org>
32638
32639         Remove HAVE_MBRTOWC conditionals.
32640         * lib/mbscasecmp.c: Include mbuiter.h unconditionally.
32641         (mbscasecmp): Assume mbrtowc function.
32642         * lib/mbscasestr.c: Include mbuiter.h unconditionally.
32643         (knuth_morris_pratt_multibyte, mbscasestr): Assume mbrtowc function.
32644         * lib/mbschr.c: Include mbuiter.h unconditionally.
32645         (mbschr): Assume mbrtowc function.
32646         * lib/mbscspn.c: Include mbuiter.h unconditionally.
32647         (mbscspn): Assume mbrtowc function.
32648         * lib/mbslen.c: Include mbuiter.h unconditionally.
32649         (mbslen): Assume mbrtowc function.
32650         * lib/mbsncasecmp.c: Include mbuiter.h unconditionally.
32651         (mbsncasecmp): Assume mbrtowc function.
32652         * lib/mbsnlen.c: Include mbiter.h unconditionally.
32653         (mbsnlen): Assume mbrtowc function.
32654         * lib/mbspbrk.c: Include mbuiter.h unconditionally.
32655         (mbspbrk): Assume mbrtowc function.
32656         * lib/mbspcasecmp.c: Include mbuiter.h unconditionally.
32657         (mbspcasecmp): Assume mbrtowc function.
32658         * lib/mbsrchr.c: Include mbuiter.h unconditionally.
32659         (mbsrchr): Assume mbrtowc function.
32660         * lib/mbssep.c: Include mbuiter.h unconditionally.
32661         (mbssep): Assume mbrtowc function.
32662         * lib/mbsspn.c: Include mbuiter.h unconditionally.
32663         (mbsspn): Assume mbrtowc function.
32664         * lib/mbsstr.c: Include mbuiter.h unconditionally.
32665         (knuth_morris_pratt_multibyte, mbsstr): Assume mbrtowc function.
32666         * lib/mbstok_r.c: Include mbuiter.h unconditionally.
32667         (mbstok_r): Assume mbrtowc function.
32668         * lib/propername.c: Include mbuiter.h unconditionally.
32669         (mbsstr_trimmed_wordbounded): Assume mbrtowc function.
32670         * lib/trim.c: Include mbchar.h, mbiter.h uncondtionally.
32671         (trim2): Assume mbrtowc function.
32672         * lib/mbswidth.c (mbsinit): Remove fallback definition.
32673         (mbsnwidth): Assume mbrtowc function.
32674         * modules/mbswidth (Depends-on): Add mbrtowc, mbsinit.
32675         * lib/quotearg.c (MB_CUR_MAX, mbstate_t, mbrtowc, iswprint): Remove
32676         fallback definitions.
32677         * modules/quotearg (Depends-on): Add mbrtowc, mbsinit.
32678
32679 2008-12-22  Bruno Haible  <bruno@clisp.org>
32680
32681         * doc/posix-functions/mbtowc.texi: Mention a glibc bug.
32682
32683 2008-12-22  Paolo Bonzini  <bonzini@gnu.org>
32684
32685         * modules/regex: Request emulations for the mb*/wc* functions we need.
32686         * m4/regex.m4: Don't look for those functions here.
32687         * lib/regex_internal.h: Do not check HAVE_WCRTOMB and HAVE_MBRTOWC.
32688
32689 2008-12-22  Bruno Haible  <bruno@clisp.org>
32690
32691         * modules/fnmatch (Depends-on): Remove duplicated dependency.
32692
32693 2008-12-21  Bruno Haible  <bruno@clisp.org>
32694
32695         Make mbiter.h, mbuiter.h, mbfile.h usable unconditionally.
32696         * modules/mbiter (Depends-on): Add mbrtowc, mbsinit.
32697         (Include): Remove conditionalization.
32698         * modules/mbuiter (Depends-on): Add mbrtowc, mbsinit.
32699         (Include): Remove conditionalization.
32700         * modules/mbfile (Depends-on): Add mbrtowc, mbsinit.
32701         (Include): Remove conditionalization.
32702         * m4/mbiter.m4 (gl_MBITER): Deprecate the use of AC_FUNC_MBRTOWC.
32703         * m4/mbfile.m4 (gl_MBFILE): Likewise.
32704         * NEWS: Mention the change.
32705         Reported by Alan Hourihane <alanh@fairlite.co.uk>
32706         via Sergey Poznyakoff <gray@gnu.org.ua>.
32707
32708 2008-12-21  Bruno Haible  <bruno@clisp.org>
32709
32710         * MODULES.html.sh (Extended multibyte and wide character utilities
32711         <wchar.h>): Add btowc, wctob, mbsinit, mbrlen, mbrtowc, mbsrtowcs,
32712         wcrtomb, wcsrtombs.
32713         (Support for systems lacking POSIX:2008): Add accept, bind, close,
32714         connect, fclose, getpeername, getsockname, getsockopt, hostent, listen,
32715         mbsnrtowcs, posix_spawn*, recv, recvfrom, sched, select, send, sendto,
32716         setsockopt, shutdown, socket, spawn, sys_wait, wcsnrtombs, write.
32717
32718 2008-12-21  Bruno Haible  <bruno@clisp.org>
32719
32720         * MODULES.html.sh: Change section titles to refer to POSIX:2008.
32721
32722 2008-12-21  Bruno Haible  <bruno@clisp.org>
32723
32724         * modules/wcsnrtombs-tests: New file.
32725         * tests/test-wcsnrtombs1.sh: New file.
32726         * tests/test-wcsnrtombs2.sh: New file.
32727         * tests/test-wcsnrtombs3.sh: New file.
32728         * tests/test-wcsnrtombs4.sh: New file.
32729         * tests/test-wcsnrtombs.c: New file.
32730
32731         New module 'wcsnrtombs'.
32732         * lib/wchar.in.h (wcsnrtombs): New declaration.
32733         * lib/wcsnrtombs.c: New file.
32734         * lib/wcsrtombs-state.c: New file.
32735         * lib/wcsrtombs.c: Refer to _gl_wcsrtombs_state.
32736         (internal_state): Remove variable.
32737         * m4/wcsnrtombs.m4: New file.
32738         * m4/wcsrtombs.m4 (gl_FUNC_WCSRTOMBS): Add wcsrtombs-state.c to the
32739         compilation units.
32740         * m4/wchar.m4 (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCSNRTOMBS,
32741         HAVE_WCSNRTOMBS.
32742         * modules/wchar (Makefile.am): Substitute GNULIB_WCSNRTOMBS,
32743         HAVE_WCSNRTOMBS.
32744         * modules/wcsnrtombs: New file.
32745         * modules/wcsrtombs (Files): Add lib/wcsrtombs-state.c.
32746         * doc/posix-functions/wcsnrtombs.texi: Mention the new module.
32747
32748 2008-12-21  Bruno Haible  <bruno@clisp.org>
32749
32750         * modules/wcsrtombs-tests: New file.
32751         * tests/test-wcsrtombs1.sh: New file.
32752         * tests/test-wcsrtombs2.sh: New file.
32753         * tests/test-wcsrtombs3.sh: New file.
32754         * tests/test-wcsrtombs4.sh: New file.
32755         * tests/test-wcsrtombs.c: New file.
32756
32757         New module 'wcsrtombs'.
32758         * lib/wchar.in.h (wcsrtombs): New declaration.
32759         * lib/wcsrtombs.c: New file.
32760         * m4/wcsrtombs.m4: New file.
32761         * m4/wchar.m4 (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCSRTOMBS,
32762         HAVE_WCSRTOMBS, REPLACE_WCSRTOMBS.
32763         * modules/wchar (Makefile.am): Substitute GNULIB_WCSRTOMBS,
32764         HAVE_WCSRTOMBS, REPLACE_WCSRTOMBS.
32765         * modules/wcsrtombs: New file.
32766         * doc/posix-functions/wcsrtombs.texi: Mention the new module and the
32767         bugs.
32768
32769 2008-12-21  Bruno Haible  <bruno@clisp.org>
32770
32771         Work around a wcrtomb() bug on Solaris 10 and OSF/1 5.1.
32772         * lib/wchar.in.h (wcrtomb): Override if REPLACE_WCRTOMB is set.
32773         * m4/wcrtomb.m4 (gl_FUNC_WCRTOMB): Test the return value of wcrtomb
32774         with NULL destination argument in various locales. Set REPLACE_WCRTOMB
32775         if not correct.
32776         * m4/wchar.m4 (gl_WCHAR_H_DEFAULTS): Initialize REPLACE_WCRTOMB.
32777         * modules/wchar (Makefile.am): Substitute REPLACE_WCRTOMB.
32778         * modules/wcrtomb (Files): Add m4/locale-fr.m4, m4/locale-ja.m4,
32779         m4/locale-zh.m4, m4/codeset.m4.
32780         * doc/posix-functions/wcrtomb.texi: Document the bug.
32781
32782 2008-12-21  Bruno Haible  <bruno@clisp.org>
32783
32784         Work around a btowc() bug on IRIX 6.5.
32785         * lib/wchar.in.h (btowc): Override if REPLACE_BTOWC is set.
32786         * m4/btowc.m4 (gl_FUNC_BTOWC): Test whether btowc(EOF) is correct. Set
32787         REPLACE_WTOBC if not.
32788         * m4/wchar.m4 (gl_WCHAR_H_DEFAULTS): Initialize REPLACE_BTOWC.
32789         * modules/wchar (Makefile.am): Substitute REPLACE_BTOWC.
32790         * doc/posix-functions/btowc.texi: Mention the IRIX bug.
32791
32792 2008-12-21  Bruno Haible  <bruno@clisp.org>
32793
32794         * modules/wcrtomb-tests: New file.
32795         * tests/test-wcrtomb.sh: New file.
32796         * tests/test-wcrtomb.c: New file.
32797
32798         New module 'wcrtomb'.
32799         * lib/wchar.in.h (wcrtomb): New declaration.
32800         * lib/wcrtomb.c: New file.
32801         * m4/wcrtomb.m4: New file.
32802         * m4/wchar.m4 (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCRTOMB,
32803         HAVE_WCRTOMB.
32804         * modules/wchar (Makefile.am): Substitute GNULIB_WCRTOMB,
32805         HAVE_WCRTOMB.
32806         * modules/wcrtomb: New file.
32807         * doc/posix-functions/wcrtomb.texi: Mention the new module.
32808
32809 2008-12-21  Bruno Haible  <bruno@clisp.org>
32810
32811         * modules/mbrtowc (Files): Add m4/codeset.m4, needed by m4/locale-fr.m4.
32812         * modules/mbsrtowcs (Files): Likewise.
32813         * modules/wctob (Files): Likewise.
32814         * modules/c-strcase-tests (Files): Likewise.
32815         * modules/unistdio/u8-vasnprintf-tests (Files): Likewise.
32816         * modules/unistdio/u16-vasnprintf-tests (Files): Likewise.
32817         * modules/unistdio/u32-vasnprintf-tests (Files): Likewise.
32818         * modules/unistdio/ulc-vasnprintf-tests (Files): Likewise.
32819         * modules/vasnprintf-posix-tests (Files): Likewise.
32820
32821 2008-12-21  William Pursell  <bill.pursell@gmail.com>
32822
32823         gitlog-to-changelog: pass all command-line arguments to git-log
32824         * build-aux/gitlog-to-changelog: When producing a ChangeLog,
32825         it is sometimes convenient to filter the commits in various ways.
32826         gitlog-to-changelog only allows --since to specify a start date,
32827         but git-log itself supports many other filtering mechanisms.
32828         At the moment, I want to filter by branch name.  Rather than
32829         adding a --branch option to gitlog-to-changelog, it seems more
32830         flexible to simply pass all options directly to git-log and let
32831         git do the work.  Notice that this effectively makes --since a
32832         redundant option for gitlog-to-changelog, but removing it would
32833         require current usage to change since calls would then require
32834         an additional '--'.
32835
32836 2008-12-21  Bruno Haible  <bruno@clisp.org>
32837
32838         * modules/mbsnrtowcs-tests: New file.
32839         * tests/test-mbsnrtowcs1.sh: New file.
32840         * tests/test-mbsnrtowcs2.sh: New file.
32841         * tests/test-mbsnrtowcs3.sh: New file.
32842         * tests/test-mbsnrtowcs4.sh: New file.
32843         * tests/test-mbsnrtowcs.c: New file.
32844
32845         New module 'mbsnrtowcs'.
32846         * lib/wchar.in.h (mbsnrtowcs): New declaration.
32847         * lib/mbsnrtowcs.c: New file.
32848         * lib/mbsrtowcs-state.c: New file.
32849         * lib/mbsrtowcs.c: Refer to _gl_mbsrtowcs_state.
32850         (internal_state): Remove variable.
32851         * m4/mbsnrtowcs.m4: New file.
32852         * m4/mbsrtowcs.m4 (gl_FUNC_MBSRTOWCS): Add mbsrtowcs-state.c to the
32853         compilation units.
32854         * m4/wchar.m4 (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_MBSNRTOWCS,
32855         HAVE_MBSNRTOWCS, REPLACE_MBSNRTOWCS.
32856         * modules/wchar (Makefile.am): Substitute GNULIB_MBSNRTOWCS,
32857         HAVE_MBSNRTOWCS, REPLACE_MBSNRTOWCS.
32858         * modules/mbsnrtowcs: New file.
32859         * modules/mbsrtowcs (Files): Add lib/mbsrtowcs-state.c.
32860         * doc/posix-functions/mbsnrtowcs.texi: Mention the new module and a
32861         portability problem.
32862
32863 2008-12-21  Bruno Haible  <bruno@clisp.org>
32864
32865         Work around mbsrtowcs bug.
32866         * m4/mbsrtowcs.m4 (gl_MBSRTOWCS_WORKS): New macro.
32867         (gl_FUNC_MBSRTOWCS): Invoke it.
32868         * modules/mbsrtowcs (Files): Add m4/locale-fr.m4, m4/locale-ja.m4,
32869         m4/locale-zh.m4.
32870         * doc/posix-functions/mbsrtowcs.texi: Document the bug.
32871
32872 2008-12-21  Bruno Haible  <bruno@clisp.org>
32873
32874         * tests/test-mbsrtowcs.c (main): Execute the loop also for unlimited=1.
32875
32876 2008-12-21  Bruno Haible  <bruno@clisp.org>
32877
32878         Update doc for AIX.
32879         * doc/pastposix-functions/wcswcs.texi: Mention that AIX has only a
32880         16-bit wchar_t type.
32881         * doc/posix-functions/btowc.texi: Likewise.
32882         * doc/posix-functions/fgetwc.texi: Likewise.
32883         * doc/posix-functions/fgetws.texi: Likewise.
32884         * doc/posix-functions/fputwc.texi: Likewise.
32885         * doc/posix-functions/fputws.texi: Likewise.
32886         * doc/posix-functions/fwide.texi: Likewise.
32887         * doc/posix-functions/fwprintf.texi: Likewise.
32888         * doc/posix-functions/fwscanf.texi: Likewise.
32889         * doc/posix-functions/getwchar.texi: Likewise.
32890         * doc/posix-functions/getwc.texi: Likewise.
32891         * doc/posix-functions/iswalnum.texi: Likewise.
32892         * doc/posix-functions/iswalpha.texi: Likewise.
32893         * doc/posix-functions/iswblank.texi: Likewise.
32894         * doc/posix-functions/iswcntrl.texi: Likewise.
32895         * doc/posix-functions/iswctype.texi: Likewise.
32896         * doc/posix-functions/iswdigit.texi: Likewise.
32897         * doc/posix-functions/iswgraph.texi: Likewise.
32898         * doc/posix-functions/iswlower.texi: Likewise.
32899         * doc/posix-functions/iswprint.texi: Likewise.
32900         * doc/posix-functions/iswpunct.texi: Likewise.
32901         * doc/posix-functions/iswspace.texi: Likewise.
32902         * doc/posix-functions/iswupper.texi: Likewise.
32903         * doc/posix-functions/iswxdigit.texi: Likewise.
32904         * doc/posix-functions/mbrtowc.texi: Likewise.
32905         * doc/posix-functions/mbsrtowcs.texi: Likewise.
32906         * doc/posix-functions/mbstowcs.texi: Likewise.
32907         * doc/posix-functions/mbtowc.texi: Likewise.
32908         * doc/posix-functions/putwchar.texi: Likewise.
32909         * doc/posix-functions/putwc.texi: Likewise.
32910         * doc/posix-functions/swprintf.texi: Likewise.
32911         * doc/posix-functions/tolower.texi: Likewise.
32912         * doc/posix-functions/toupper.texi: Likewise.
32913         * doc/posix-functions/towctrans.texi: Likewise.
32914         * doc/posix-functions/ungetwc.texi: Likewise.
32915         * doc/posix-functions/vswprintf.texi: Likewise.
32916         * doc/posix-functions/wcrtomb.texi: Likewise.
32917         * doc/posix-functions/wcscat.texi: Likewise.
32918         * doc/posix-functions/wcschr.texi: Likewise.
32919         * doc/posix-functions/wcscmp.texi: Likewise.
32920         * doc/posix-functions/wcscoll.texi: Likewise.
32921         * doc/posix-functions/wcscpy.texi: Likewise.
32922         * doc/posix-functions/wcscspn.texi: Likewise.
32923         * doc/posix-functions/wcsftime.texi: Likewise.
32924         * doc/posix-functions/wcslen.texi: Likewise.
32925         * doc/posix-functions/wcsncat.texi: Likewise.
32926         * doc/posix-functions/wcsncmp.texi: Likewise.
32927         * doc/posix-functions/wcsncpy.texi: Likewise.
32928         * doc/posix-functions/wcspbrk.texi: Likewise.
32929         * doc/posix-functions/wcsrchr.texi: Likewise.
32930         * doc/posix-functions/wcsrtombs.texi: Likewise.
32931         * doc/posix-functions/wcsspn.texi: Likewise.
32932         * doc/posix-functions/wcsstr.texi: Likewise.
32933         * doc/posix-functions/wcstod.texi: Likewise.
32934         * doc/posix-functions/wcstof.texi: Likewise.
32935         * doc/posix-functions/wcstoimax.texi: Likewise.
32936         * doc/posix-functions/wcstok.texi: Likewise.
32937         * doc/posix-functions/wcstold.texi: Likewise.
32938         * doc/posix-functions/wcstoll.texi: Likewise.
32939         * doc/posix-functions/wcstol.texi: Likewise.
32940         * doc/posix-functions/wcstombs.texi: Likewise.
32941         * doc/posix-functions/wcstoull.texi: Likewise.
32942         * doc/posix-functions/wcstoul.texi: Likewise.
32943         * doc/posix-functions/wcstoumax.texi: Likewise.
32944         * doc/posix-functions/wcswidth.texi: Likewise.
32945         * doc/posix-functions/wcsxfrm.texi: Likewise.
32946         * doc/posix-functions/wctob.texi: Likewise.
32947         * doc/posix-functions/wctomb.texi: Likewise.
32948         * doc/posix-functions/wctrans.texi: Likewise.
32949         * doc/posix-functions/wctype.texi: Likewise.
32950         * doc/posix-functions/wcwidth.texi: Likewise.
32951         * doc/posix-functions/wmemchr.texi: Likewise.
32952         * doc/posix-functions/wmemcmp.texi: Likewise.
32953         * doc/posix-functions/wmemcpy.texi: Likewise.
32954         * doc/posix-functions/wmemmove.texi: Likewise.
32955         * doc/posix-functions/wmemset.texi: Likewise.
32956         * doc/posix-functions/wprintf.texi: Likewise.
32957         * doc/posix-functions/wscanf.texi: Likewise.
32958
32959 2008-12-21  Bruno Haible  <bruno@clisp.org>
32960
32961         Update doc for HP-UX 11.11.
32962         * doc/posix-functions/btowc.texi: Clarify that the function is missing
32963         in HP-UX version 11.00, not in all versions of HP-UX 11.
32964         * doc/posix-functions/fwide.texi: Likewise.
32965         * doc/posix-functions/fwprintf.texi: Likewise.
32966         * doc/posix-functions/fwscanf.texi: Likewise.
32967         * doc/posix-functions/inet_ntop.texi: Likewise.
32968         * doc/posix-functions/inet_pton.texi: Likewise.
32969         * doc/posix-functions/mbrlen.texi: Likewise.
32970         * doc/posix-functions/mbrtowc.texi: Likewise.
32971         * doc/posix-functions/mbsinit.texi: Likewise.
32972         * doc/posix-functions/mbsrtowcs.texi: Likewise.
32973         * doc/posix-functions/swprintf.texi: Likewise.
32974         * doc/posix-functions/swscanf.texi: Likewise.
32975         * doc/posix-functions/towctrans.texi: Likewise.
32976         * doc/posix-functions/vfwprintf.texi: Likewise.
32977         * doc/posix-functions/vswprintf.texi: Likewise.
32978         * doc/posix-functions/vwprintf.texi: Likewise.
32979         * doc/posix-functions/wcrtomb.texi: Likewise.
32980         * doc/posix-functions/wcsrtombs.texi: Likewise.
32981         * doc/posix-functions/wcsstr.texi: Likewise.
32982         * doc/posix-functions/wctob.texi: Likewise.
32983         * doc/posix-functions/wctrans.texi: Likewise.
32984         * doc/posix-functions/wmemchr.texi: Likewise.
32985         * doc/posix-functions/wmemcmp.texi: Likewise.
32986         * doc/posix-functions/wmemcpy.texi: Likewise.
32987         * doc/posix-functions/wmemmove.texi: Likewise.
32988         * doc/posix-functions/wmemset.texi: Likewise.
32989         * doc/posix-functions/wprintf.texi: Likewise.
32990         * doc/posix-functions/wscanf.texi: Likewise.
32991
32992 2008-12-21  Bruno Haible  <bruno@clisp.org>
32993
32994         Work around a portability problem.
32995         * tests/test-mbsrtowcs.c (main): Use a temporary conversion state.
32996         * doc/posix-functions/mbsrtowcs.texi: Document the portability problem.
32997
32998 2008-12-20  Bruno Haible  <bruno@clisp.org>
32999
33000         * lib/wchar.in.h (mbsrtowcs): Redefine if REPLACE_MBSRTOWCS is set.
33001         * m4/mbsrtowcs.m4 (gl_FUNC_MBSRTOWCS): Invoke gl_MBSTATE_T_BROKEN. Set
33002         REPLACE_MBSRTOWCS if mbsrtowcs needs to be overridden.
33003         * m4/wchar.m4 (gl_WCHAR_H_DEFAULTS): Initialize REPLACE_MBSRTOWCS.
33004         * modules/wchar (Makefile.am): Substitute REPLACE_MBSRTOWCS.
33005
33006         Work around mbrtowc bugs on AIX, HP-UX, OSF/1, Solaris.
33007         * lib/wchar.in.h (mbstate_t): Redefine also if REPLACE_MBSTATE_T is
33008         set.
33009         (GNULIB_defined_mbstate_t): New macro.
33010         (mbsinit): Redefine if REPLACE_MBSINIT is set.
33011         (mbrtowc): Redefine if REPLACE_MBRTOWC is set.
33012         * lib/mbrtowc.c (rpl_mbrtowc): Add an alternative implementation that
33013         reuses the system's mbrtowc function but works around the bugs.
33014         * m4/mbrtowc.m4 (gl_MBSTATE_T_BROKEN, gl_MBRTOWC_INCOMPLETE_STATE,
33015         gl_MBRTOWC_NULL_ARG, gl_MBRTOWC_RETVAL, gl_MBRTOWC_NUL_RETVAL): New
33016         macros.
33017         (gl_FUNC_MBRTOWC): Invoke them. Set REPLACE_MBRTOWC if mbrtowc needs to
33018         be overridden. Optionally define MBRTOWC_NULL_ARG_BUG,
33019         MBRTOWC_RETVAL_BUG, MBRTOWC_NUL_RETVAL_BUG.
33020         * m4/mbsinit.m4 (gl_FUNC_MBSINIT): Invoke gl_MBSTATE_T_BROKEN. Set
33021         REPLACE_MBSINIT if mbsinit needs to be overridden.
33022         * m4/wchar.m4 (gl_WCHAR_H_DEFAULTS): Initialize REPLACE_MBSTATE_T,
33023         REPLACE_MBSINIT, REPLACE_MBRTOWC.
33024         * modules/wchar (Makefile.am): Substitute REPLACE_MBSTATE_T,
33025         REPLACE_MBSINIT, REPLACE_MBRTOWC.
33026         * modules/mbrtowc (Files): Add m4/locale-fr.m4, m4/locale-ja.m4,
33027         m4/locale-zh.m4.
33028         (Depends): Add mbsinit.
33029         * modules/mbsinit (Depends): Add mbrtowc.
33030         * doc/posix-functions/mbrtowc.texi: Mention the various bugs.
33031
33032 2008-12-20  Bruno Haible  <bruno@clisp.org>
33033
33034         * tests/test-mbrtowc.c (main): Change sample string in EUC-JP encoding
33035         so that there are no conversion errors on AIX.
33036         * tests/test-mbsrtowcs.c (main): LIkewise.
33037
33038 2008-12-20  Bruno Haible  <bruno@clisp.org>
33039
33040         Work around wctob bug on Solaris <= 9.
33041         * lib/wchar.in.h (wctob): Redefine if REPLACE_WCTOB is set.
33042         * m4/wctob.m4 (gl_FUNC_WCTOB): Test whether wctob works.
33043         * m4/wchar.m4 (gl_WCHAR_H_DEFAULTS): Initialize REPLACE_WCTOB.
33044         * modules/wchar (Makefile.am): Substitute REPLACE_WCTOB.
33045         * modules/wctob (Files): Add m4/locale-fr.m4.
33046         * doc/posix-functions/wctob.texi: Mention the Solaris bug.
33047
33048 2008-12-20  Bruno Haible  <bruno@clisp.org>
33049
33050         * doc/posix-functions/select.texi: Mention Solaris 2.6 bug with
33051         /dev/null.
33052         * tests/test-select-in.sh: Likewise.
33053         Reported by Tom G. Christensen <tgc@jupiterrise.com>.
33054
33055 2008-12-20  Bruno Haible  <bruno@clisp.org>
33056
33057         Don't pretend that Cygwin has a ja_JP.EUC-JP locale.
33058         * m4/locale-ja.m4 (gt_LOCALE_JA): Add test for MB_CUR_MAX. Needed on
33059         Cygwin 1.5.x.
33060
33061 2008-12-20  Bruno Haible  <bruno@clisp.org>
33062
33063         Ensure mbstate_t is defined on HP-UX 11.11.
33064         * m4/extensions.m4 (AC_USE_SYSTEM_EXTENSIONS): Require
33065         AC_CANONICAL_HOST. On HP-UX, define _XOPEN_SOURCE to 500.
33066         * m4/mbstate_t.m4 (AC_TYPE_MBSTATE_T): Require
33067         AC_USE_SYSTEM_EXTENSIONS.
33068         * modules/fnmatch (Depends-on): Add extensions.
33069         * modules/mbrlen (Depends-on): Likewise.
33070         * modules/mbrtowc (Depends-on): Likewise.
33071         * modules/mbsinit (Depends-on): Likewise.
33072         * modules/mbsrtowcs (Depends-on): Likewise.
33073         * modules/mbswidth (Depends-on): Likewise.
33074         * modules/quotearg (Depends-on): Likewise.
33075         * modules/strftime (Depends-on): Likewise.
33076
33077 2008-12-20  Bruno Haible  <bruno@clisp.org>
33078
33079         Ensure wctob is declared on IRIX 6.5.
33080         * lib/wchar.in.h (wctob): Declare also when HAVE_DECL_WCTOB is 0.
33081         * m4/wctob.m4 (gl_FUNC_WCTOB): Set HAVE_DECL_WCTOB instead of
33082         HAVE_WCTOB. Also test whether <wchar.h> declares wctob.
33083         * m4/wchar.m4 (gl_WCHAR_H_DEFAULTS): Initialize HAVE_DECL_WCTOB instead
33084         of HAVE_WCTOB.
33085         * modules/wchar (Makefile.am): Substitute HAVE_DECL_WCTOB instead of
33086         HAVE_WCTOB.
33087         * doc/posix-functions/wctob.texi: Mention missing declaration on IRIX.
33088
33089 2008-12-19  Bruno Haible  <bruno@clisp.org>
33090
33091         * modules/mbsrtowcs-tests: New file.
33092         * tests/test-mbsrtowcs1.sh: New file.
33093         * tests/test-mbsrtowcs2.sh: New file.
33094         * tests/test-mbsrtowcs3.sh: New file.
33095         * tests/test-mbsrtowcs4.sh: New file.
33096         * tests/test-mbsrtowcs.c: New file.
33097
33098         New module 'mbsrtowcs'.
33099         * lib/wchar.in.h (mbsrtowcs): New declaration.
33100         * lib/mbsrtowcs.c: New file.
33101         * m4/mbsrtowcs.m4: New file.
33102         * modules/mbsrtowcs: New file.
33103         * m4/wchar.m4 (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_MBSRTOWCS and
33104         HAVE_MBSRTOWCS.
33105         * modules/wchar (Makefile.am): Substitute GNULIB_MBSRTOWCS and
33106         HAVE_MBSRTOWCS.
33107         * doc/posix-functions/mbsrtowcs.texi: Document the new module.
33108
33109 2008-12-19  Bruno Haible  <bruno@clisp.org>
33110
33111         New module 'mbrlen'.
33112         * lib/wchar.in.h (mbrlen): New declaration.
33113         * lib/mbrlen.c: New file.
33114         * m4/mbrlen.m4: New file.
33115         * modules/mbrlen: New file.
33116         * m4/wchar.m4 (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_MBRLEN and
33117         HAVE_MBRLEN.
33118         * modules/wchar (Makefile.am): Substitute GNULIB_MBRLEN and
33119         HAVE_MBRLEN.
33120         * doc/posix-functions/mbrlen.texi: Document the new module.
33121
33122 2008-12-19  Bruno Haible  <bruno@clisp.org>
33123
33124         * lib/mbrtowc.c: Include verify.h. Verify an assumption.
33125         * modules/mbrtowc (Depends-on): Add verify.
33126         Suggested by Paul Eggert.
33127
33128 2008-12-18  Bruno Haible  <bruno@clisp.org>
33129
33130         * modules/mbsinit-tests: New file.
33131         * tests/test-mbsinit.sh: New file.
33132         * tests/test-mbsinit.c: New file.
33133
33134 2008-12-18  Bruno Haible  <bruno@clisp.org>
33135
33136         * modules/mbrtowc-tests: New file.
33137         * tests/test-mbrtowc1.sh: New file.
33138         * tests/test-mbrtowc2.sh: New file.
33139         * tests/test-mbrtowc3.sh: New file.
33140         * tests/test-mbrtowc4.sh: New file.
33141         * tests/test-mbrtowc.c: New file.
33142
33143         New module 'mbrtowc'.
33144         * lib/wchar.in.h (mbstate_t): Override when the system does not have
33145         mbsinit and mbrtowc.
33146         (mbrtowc): New declaration.
33147         * lib/mbrtowc.c: New file.
33148         * m4/mbrtowc.m4 (gl_FUNC_MBRTOWC, gl_PREREQ_MBRTOWC): New macros.
33149         * modules/mbrtowc: New file.
33150         * m4/wchar.m4 (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_MBRTOWC and
33151         HAVE_MBRTOWC.
33152         * modules/wchar (Makefile.am): Substitute GNULIB_MBRTOWC and
33153         HAVE_MBRTOWC.
33154         * doc/posix-functions/mbrtowc.texi: Document the new module.
33155
33156 2008-12-18  Bruno Haible  <bruno@clisp.org>
33157
33158         New module 'wctob'.
33159         * lib/wchar.in.h (wctob): New declaration.
33160         * lib/wctob.c: New file.
33161         * m4/wctob.m4: New file.
33162         * modules/wctob: New file.
33163         * m4/wchar.m4 (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCTOB and
33164         HAVE_WCTOB.
33165         * modules/wchar (Makefile.am): Substitute GNULIB_WCTOB and HAVE_WCTOB.
33166         * doc/posix-functions/wctob.texi: Document the new module.
33167
33168 2008-12-18  Bruno Haible  <bruno@clisp.org>
33169
33170         * m4/mbsinit.m4 (gl_FUNC_MBSINIT): Invoke gl_REPLACE_WCHAR_H.
33171         * m4/btowc.m4 (gl_FUNC_BTOWC): Likewise.
33172
33173 2008-12-18  Simon Josefsson  <simon@josefsson.org>
33174
33175         * lib/flock.c: Use proper #if symbol in check.  Reported by "Tom
33176         G. Christensen" <tgc@jupiterrise.com>.
33177
33178         * lib/flock.c: Need to include errno.h.  Reported by "Tom
33179         G. Christensen" <tgc@jupiterrise.com>.
33180
33181         * lib/flock.c: Need to include string.h.  Reported by "Tom
33182         G. Christensen" <tgc@jupiterrise.com> and Eric Blake
33183         <ebb9@byu.net>.
33184
33185 2008-12-18  Bruno Haible  <bruno@clisp.org>
33186
33187         * m4/locale-ja.m4: New file, from GNU gettext.
33188
33189 2008-12-17  Bruno Haible  <bruno@clisp.org>
33190
33191         * m4/mbrtowc.m4 (AC_FUNC_MBRTOWC): Don't override in autoconf >= 2.60.
33192         Suggested by Eric Blake.
33193
33194 2008-12-17  Bruno Haible  <bruno@clisp.org>
33195
33196         * m4/errno_h.m4 (AC_COMPUTE_INT): Provide fallback definition.
33197
33198 2008-12-17  Bruno Haible  <bruno@clisp.org>
33199
33200         * lib/mbsinit.c: Include verify.h. Verify an assumption.
33201         * modules/mbsinit (Depends-on): Add verify.
33202         Suggested by Paul Eggert.
33203
33204 2008-12-17  Bruno Haible  <bruno@clisp.org>
33205
33206         * m4/mbrtowc.m4 (AC_FUNC_MBRTOWC): Renamed from gl_FUNC_MBRTOWC.
33207         * m4/mbfile.m4 (gl_MBFILE): Use AC_FUNC_MBRTOWC instead of
33208         gl_FUNC_MBRTOWC.
33209         * m4/mbiter.m4 (gl_MBITER): LIkewise.
33210         * m4/mbscasecmp.m4 (gl_PREREQ_MBSCASECMP): Likewise.
33211         * m4/mbscasestr.m4 (gl_PREREQ_MBSCASESTR): Likewise.
33212         * m4/mbschr.m4 (gl_PREREQ_MBSCHR): Likewise.
33213         * m4/mbscspn.m4 (gl_PREREQ_MBSCSPN): Likewise.
33214         * m4/mbslen.m4 (gl_PREREQ_MBSLEN): Likewise.
33215         * m4/mbsncasecmp.m4 (gl_PREREQ_MBSNCASECMP): Likewise.
33216         * m4/mbsnlen.m4 (gl_PREREQ_MBSNLEN): Likewise.
33217         * m4/mbspbrk.m4 (gl_PREREQ_MBSPBRK): Likewise.
33218         * m4/mbspcasecmp.m4 (gl_PREREQ_MBSPCASECMP): Likewise.
33219         * m4/mbsrchr.m4 (gl_PREREQ_MBSRCHR): Likewise.
33220         * m4/mbssep.m4 (gl_PREREQ_MBSSEP): Likewise.
33221         * m4/mbsspn.m4 (gl_PREREQ_MBSSPN): Likewise.
33222         * m4/mbsstr.m4 (gl_PREREQ_MBSSTR): Likewise.
33223         * m4/mbstok_r.m4 (gl_PREREQ_MBSTOK_R): Likewise.
33224         * m4/mbswidth.m4 (gl_MBSWIDTH): Likewise.
33225         * m4/quotearg.m4 (gl_QUOTEARG): Likewise.
33226         * modules/trim (configure.ac): Likewise.
33227
33228 2008-12-17  Bruno Haible  <bruno@clisp.org>
33229
33230         * modules/btowc-tests: New file.
33231         * tests/test-btowc1.sh: New file.
33232         * tests/test-btowc2.sh: New file.
33233         * tests/test-btowc.c: New file.
33234
33235         New module 'btowc'.
33236         * lib/wchar.in.h (btowc): New declaration.
33237         * lib/btowc.c: New file.
33238         * m4/btowc.m4: New file.
33239         * modules/btowc: New file.
33240         * m4/wchar.m4 (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_BTOWC and
33241         HAVE_BTOWC.
33242         * modules/wchar (Makefile.am): Substitute GNULIB_BTOWC and HAVE_BTOWC.
33243         * doc/posix-functions/btowc.texi: Document the new module.
33244
33245 2008-12-17  Bruno Haible  <bruno@clisp.org>
33246
33247         New module 'mbsinit'.
33248         * lib/wchar.in.h (mbsinit): New declaration.
33249         * lib/mbsinit.c: New file.
33250         * m4/mbsinit.m4: New file.
33251         * modules/mbsinit: New file.
33252         * m4/wchar.m4 (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_MBSINIT and
33253         HAVE_MBSINIT.
33254         * modules/wchar (Makefile.am): Substitute GNULIB_MBSINIT and
33255         HAVE_MBSINIT.
33256         * doc/posix-functions/mbsinit.texi: Document the new module.
33257
33258 2008-12-16  Bruno Haible  <bruno@clisp.org>
33259
33260         * lib/unistd.in.h: Add comment.
33261         * tests/test-environ.c: Don't include <stdlib.h>.
33262
33263 2008-12-16  Bruno Haible  <bruno@clisp.org>
33264
33265         * lib/parse-duration.h (parse_duration): Document return value
33266         convention.
33267         * lib/parse-duration.c: Include specification header first. Add
33268         comments.
33269         (_): Remove macro.
33270         (parse_year_month_day, parse_hour_minute_second): Move side effects
33271         outside of strchr call.
33272         (parse_non_iso8601): Move side effects outside of isspace call.
33273         (parse_duration): Don't test errno is res != BAD_TIME. Remove fprintf
33274         call.
33275
33276 2008-12-16  Bruno Haible  <bruno@clisp.org>
33277
33278         * tests/test-parse-duration.sh: Produce no output when the test
33279         succeeds.
33280
33281 2008-12-16  Bruno Haible  <bruno@clisp.org>
33282
33283         * tests/test-parse-duration.sh: Fix quoting of $tmp and $tmpf
33284         expressions.
33285
33286 2008-12-15  Bruno Haible  <bruno@clisp.org>
33287
33288         * doc/glibc-functions/fgetxattr.texi: Tweak wording.
33289         * doc/glibc-functions/flistxattr.texi: Likewise.
33290         * doc/glibc-functions/fopencookie.texi: Likewise.
33291         * doc/glibc-functions/fremovexattr.texi: Likewise.
33292         * doc/glibc-functions/fsetxattr.texi: Likewise.
33293         * doc/glibc-functions/getxattr.texi: Likewise.
33294         * doc/glibc-functions/lgetxattr.texi: Likewise.
33295         * doc/glibc-functions/listxattr.texi: Likewise.
33296         * doc/glibc-functions/llistxattr.texi: Likewise.
33297         * doc/glibc-functions/lremovexattr.texi: Likewise.
33298         * doc/glibc-functions/lsetxattr.texi: Likewise.
33299         * doc/glibc-functions/removexattr.texi: Likewise.
33300         * doc/glibc-functions/setxattr.texi: Likewise.
33301         * doc/posix-functions/open_memstream.texi: Likewise.
33302
33303 2008-12-15  Eric Blake  <ebb9@byu.net>
33304
33305         Update doc for cygwin 1.7.
33306         * doc/posix-functions/faccessat.texi: Cygwin 1.7 added several new
33307         functions.
33308         * doc/posix-functions/fchmodat.texi: Likewise.
33309         * doc/posix-functions/fchownat.texi: Likewise.
33310         * doc/posix-functions/fdopendir.texi: Likewise.
33311         * doc/posix-functions/fmemopen.texi: Likewise.
33312         * doc/posix-functions/freeaddrinfo.texi: Likewise.
33313         * doc/posix-functions/fstatat.texi: Likewise.
33314         * doc/posix-functions/futimens.texi: Likewise.
33315         * doc/posix-functions/gai_strerror.texi: Likewise.
33316         * doc/posix-functions/getaddrinfo.texi: Likewise.
33317         * doc/posix-functions/getnameinfo.texi: Likewise.
33318         * doc/posix-functions/if_freenameindex.texi: Likewise.
33319         * doc/posix-functions/if_indextoname.texi: Likewise.
33320         * doc/posix-functions/if_nameindex.texi: Likewise.
33321         * doc/posix-functions/if_nametoindex.texi: Likewise.
33322         * doc/posix-functions/insque.texi: Likewise.
33323         * doc/posix-functions/linkat.texi: Likewise.
33324         * doc/posix-functions/llrint.texi: Likewise.
33325         * doc/posix-functions/llrintf.texi: Likewise.
33326         * doc/posix-functions/llrintl.texi: Likewise.
33327         * doc/posix-functions/lockf.texi: Likewise.
33328         * doc/posix-functions/lrintl.texi: Likewise.
33329         * doc/posix-functions/mkdirat.texi: Likewise.
33330         * doc/posix-functions/mkfifoat.texi: Likewise.
33331         * doc/posix-functions/mknodat.texi: Likewise.
33332         * doc/posix-functions/mq_close.texi: Likewise.
33333         * doc/posix-functions/mq_getattr.texi: Likewise.
33334         * doc/posix-functions/mq_notify.texi: Likewise.
33335         * doc/posix-functions/mq_open.texi: Likewise.
33336         * doc/posix-functions/mq_receive.texi: Likewise.
33337         * doc/posix-functions/mq_send.texi: Likewise.
33338         * doc/posix-functions/mq_setattr.texi: Likewise.
33339         * doc/posix-functions/mq_timedreceive.texi: Likewise.
33340         * doc/posix-functions/mq_timedsend.texi: Likewise.
33341         * doc/posix-functions/mq_unlink.texi: Likewise.
33342         * doc/posix-functions/open_memstream.texi: Likewise.
33343         * doc/posix-functions/openat.texi: Likewise.
33344         * doc/posix-functions/posix_fadvise.texi: Likewise.
33345         * doc/posix-functions/posix_fallocate.texi: Likewise.
33346         * doc/posix-functions/posix_madvise.texi: Likewise.
33347         * doc/posix-functions/posix_memalign.texi: Likewise.
33348         * doc/posix-functions/posix_openpt.texi: Likewise.
33349         * doc/posix-functions/readlinkat.texi: Likewise.
33350         * doc/posix-functions/remque.texi: Likewise.
33351         * doc/posix-functions/renameat.texi: Likewise.
33352         * doc/posix-functions/rintl.texi: Likewise.
33353         * doc/posix-functions/sem_unlink.texi: Likewise.
33354         * doc/posix-functions/shm_open.texi: Likewise.
33355         * doc/posix-functions/shm_unlink.texi: Likewise.
33356         * doc/posix-functions/signgam.texi: Likewise.
33357         * doc/posix-functions/sigset.texi: Likewise.
33358         * doc/posix-functions/stpcpy.texi: Likewise.
33359         * doc/posix-functions/stpncpy.texi: Likewise.
33360         * doc/posix-functions/strerror.texi: Likewise.
33361         * doc/posix-functions/strtod.texi: Likewise.
33362         * doc/posix-functions/symlinkat.texi: Likewise.
33363         * doc/posix-functions/unlinkat.texi: Likewise.
33364         * doc/posix-functions/utimensat.texi: Likewise.
33365         * doc/glibc-functions/bindresvport.texi: Likewise.
33366         * doc/glibc-functions/dn_expand.texi: Likewise.
33367         * doc/glibc-functions/exp10.texi: Likewise.
33368         * doc/glibc-functions/exp10f.texi: Likewise.
33369         * doc/glibc-functions/fgetxattr.texi: Likewise.
33370         * doc/glibc-functions/flistxattr.texi: Likewise.
33371         * doc/glibc-functions/fopencookie.texi: Likewise.
33372         * doc/glibc-functions/freeifaddrs.texi: Likewise.
33373         * doc/glibc-functions/fremovexattr.texi: Likewise.
33374         * doc/glibc-functions/fsetxattr.texi: Likewise.
33375         * doc/glibc-functions/getifaddrs.texi: Likewise.
33376         * doc/glibc-functions/getxattr.texi: Likewise.
33377         * doc/glibc-functions/lgetxattr.texi: Likewise.
33378         * doc/glibc-functions/listxattr.texi: Likewise.
33379         * doc/glibc-functions/llistxattr.texi: Likewise.
33380         * doc/glibc-functions/lremovexattr.texi: Likewise.
33381         * doc/glibc-functions/lsetxattr.texi: Likewise.
33382         * doc/glibc-functions/pow10.texi: Likewise.
33383         * doc/glibc-functions/pow10f.texi: Likewise.
33384         * doc/glibc-functions/rcmd_af.texi: Likewise.
33385         * doc/glibc-functions/removexattr.texi: Likewise.
33386         * doc/glibc-functions/res_init.texi: Likewise.
33387         * doc/glibc-functions/res_mkquery.texi: Likewise.
33388         * doc/glibc-functions/res_query.texi: Likewise.
33389         * doc/glibc-functions/res_querydomain.texi: Likewise.
33390         * doc/glibc-functions/res_send.texi: Likewise.
33391         * doc/glibc-functions/rresvport_af.texi: Likewise.
33392         * doc/glibc-functions/setxattr.texi: Likewise.
33393         * doc/glibc-functions/strcasestr.texi: Likewise.
33394
33395 2008-12-15  Bruno Haible  <bruno@clisp.org>
33396
33397         Fix compilation error on OSF/1 4.0.
33398         * lib/sys_select.in.h: When invoked from OSF/1 <sys/types.h> or
33399         <sys/time.h>, simply delegate to the system header.
33400         Reported by Daniel Richard G. <oss@teragram.com>.
33401
33402 2008-12-15  Bruno Haible  <bruno@clisp.org>
33403
33404         * doc/posix-functions/openat.texi: Mention the 'openat' module.
33405         * doc/posix-functions/fchmodat.texi: Likewise.
33406         * doc/posix-functions/fchownat.texi: Likewise.
33407         * doc/posix-functions/fdopendir.texi: Likewise.
33408         * doc/posix-functions/fstatat.texi: Likewise.
33409         * doc/posix-functions/mkdirat.texi: Likewise.
33410         * doc/posix-functions/unlinkat.texi: Likewise.
33411
33412 2008-12-14  Bruno Haible  <bruno@clisp.org>
33413
33414         Update doc for POSIX:2008.
33415         * doc/posix-functions/faccessat.texi: New file.
33416         * doc/posix-functions/fchmodat.texi: New file.
33417         * doc/posix-functions/fchownat.texi: New file.
33418         * doc/posix-functions/fdopendir.texi: New file.
33419         * doc/posix-functions/fstatat.texi: New file.
33420         * doc/posix-functions/futimens.texi: New file.
33421         * doc/posix-functions/linkat.texi: New file.
33422         * doc/posix-functions/mkdirat.texi: New file.
33423         * doc/posix-functions/mkfifoat.texi: New file.
33424         * doc/posix-functions/mknodat.texi: New file.
33425         * doc/posix-functions/open_wmemstream.texi: New file.
33426         * doc/posix-functions/openat.texi: New file.
33427         * doc/posix-functions/psiginfo.texi: New file.
33428         * doc/posix-functions/pthread_mutex_consistent.texi: New file.
33429         * doc/posix-functions/pthread_mutexattr_getrobust.texi: New file.
33430         * doc/posix-functions/pthread_mutexattr_setrobust.texi: New file.
33431         * doc/posix-functions/readlinkat.texi: New file.
33432         * doc/posix-functions/renameat.texi: New file.
33433         * doc/posix-functions/strerror_l.texi: New file.
33434         * doc/posix-functions/symlinkat.texi: New file.
33435         * doc/posix-functions/unlinkat.texi: New file.
33436         * doc/posix-functions/utimensat.texi: New file.
33437         * doc/gnulib.texi (Function Substitutes): Add these subsections.
33438
33439 2008-12-14  Bruno Haible  <bruno@clisp.org>
33440
33441         Update doc for POSIX:2008.
33442         * doc/posix-functions/alphasort.texi: Renamed from
33443         doc/glibc-functions/alphasort.texi.
33444         * doc/posix-functions/dirfd.texi: Renamed from
33445         doc/glibc-functions/dirfd.texi.
33446         * doc/posix-functions/dprintf.texi: Renamed from
33447         doc/glibc-functions/dprintf.texi.
33448         * doc/posix-functions/duplocale.texi: Renamed from
33449         doc/glibc-functions/duplocale.texi.
33450         * doc/posix-functions/fexecve.texi: Renamed from
33451         doc/glibc-functions/fexecve.texi.
33452         * doc/posix-functions/fmemopen.texi: Renamed from
33453         doc/glibc-functions/fmemopen.texi.
33454         * doc/posix-functions/freelocale.texi: Renamed from
33455         doc/glibc-functions/freelocale.texi.
33456         * doc/posix-functions/getdate_err.texi: Renamed from
33457         doc/glibc-functions/getdate_err.texi.
33458         * doc/posix-functions/isalnum_l.texi: Renamed from
33459         doc/glibc-functions/isalnum_l.texi.
33460         * doc/posix-functions/isalpha_l.texi: Renamed from
33461         doc/glibc-functions/isalpha_l.texi.
33462         * doc/posix-functions/isblank_l.texi: Renamed from
33463         doc/glibc-functions/isblank_l.texi.
33464         * doc/posix-functions/iscntrl_l.texi: Renamed from
33465         doc/glibc-functions/iscntrl_l.texi.
33466         * doc/posix-functions/isdigit_l.texi: Renamed from
33467         doc/glibc-functions/isdigit_l.texi.
33468         * doc/posix-functions/isgraph_l.texi: Renamed from
33469         doc/glibc-functions/isgraph_l.texi.
33470         * doc/posix-functions/islower_l.texi: Renamed from
33471         doc/glibc-functions/islower_l.texi.
33472         * doc/posix-functions/isprint_l.texi: Renamed from
33473         doc/glibc-functions/isprint_l.texi.
33474         * doc/posix-functions/ispunct_l.texi: Renamed from
33475         doc/glibc-functions/ispunct_l.texi.
33476         * doc/posix-functions/isspace_l.texi: Renamed from
33477         doc/glibc-functions/isspace_l.texi.
33478         * doc/posix-functions/isupper_l.texi: Renamed from
33479         doc/glibc-functions/isupper_l.texi.
33480         * doc/posix-functions/iswalnum_l.texi: Renamed from
33481         doc/glibc-functions/iswalnum_l.texi.
33482         * doc/posix-functions/iswalpha_l.texi: Renamed from
33483         doc/glibc-functions/iswalpha_l.texi.
33484         * doc/posix-functions/iswblank_l.texi: Renamed from
33485         doc/glibc-functions/iswblank_l.texi.
33486         * doc/posix-functions/iswcntrl_l.texi: Renamed from
33487         doc/glibc-functions/iswcntrl_l.texi.
33488         * doc/posix-functions/iswctype_l.texi: Renamed from
33489         doc/glibc-functions/iswctype_l.texi.
33490         * doc/posix-functions/iswdigit_l.texi: Renamed from
33491         doc/glibc-functions/iswdigit_l.texi.
33492         * doc/posix-functions/iswgraph_l.texi: Renamed from
33493         doc/glibc-functions/iswgraph_l.texi.
33494         * doc/posix-functions/iswlower_l.texi: Renamed from
33495         doc/glibc-functions/iswlower_l.texi.
33496         * doc/posix-functions/iswprint_l.texi: Renamed from
33497         doc/glibc-functions/iswprint_l.texi.
33498         * doc/posix-functions/iswpunct_l.texi: Renamed from
33499         doc/glibc-functions/iswpunct_l.texi.
33500         * doc/posix-functions/iswspace_l.texi: Renamed from
33501         doc/glibc-functions/iswspace_l.texi.
33502         * doc/posix-functions/iswupper_l.texi: Renamed from
33503         doc/glibc-functions/iswupper_l.texi.
33504         * doc/posix-functions/iswxdigit_l.texi: Renamed from
33505         doc/glibc-functions/iswxdigit_l.texi.
33506         * doc/posix-functions/isxdigit_l.texi: Renamed from
33507         doc/glibc-functions/isxdigit_l.texi.
33508         * doc/posix-functions/mbsnrtowcs.texi: Renamed from
33509         doc/glibc-functions/mbsnrtowcs.texi.
33510         * doc/posix-functions/mkdtemp.texi: Renamed from
33511         doc/glibc-functions/mkdtemp.texi.
33512         * doc/posix-functions/newlocale.texi: Renamed from
33513         doc/glibc-functions/newlocale.texi.
33514         * doc/posix-functions/nl_langinfo_l.texi: Renamed from
33515         doc/glibc-functions/nl_langinfo_l.texi.
33516         * doc/posix-functions/open_memstream.texi: Renamed from
33517         doc/glibc-functions/open_memstream.texi.
33518         * doc/posix-functions/opterr.texi: Renamed from
33519         doc/glibc-functions/opterr.texi.
33520         * doc/posix-functions/optind.texi: Renamed from
33521         doc/glibc-functions/optind.texi.
33522         * doc/posix-functions/optopt.texi: Renamed from
33523         doc/glibc-functions/optopt.texi.
33524         * doc/posix-functions/psignal.texi: Renamed from
33525         doc/glibc-functions/psignal.texi.
33526         * doc/posix-functions/scandir.texi: Renamed from
33527         doc/glibc-functions/scandir.texi.
33528         * doc/posix-functions/sched_get_priority_min.texi: Renamed from
33529         doc/glibc-functions/sched_get_priority_min.texi.
33530         * doc/posix-functions/signgam.texi: Renamed from
33531         doc/glibc-functions/signgam.texi.
33532         * doc/posix-functions/stpcpy.texi: Renamed from
33533         doc/glibc-functions/stpcpy.texi.
33534         * doc/posix-functions/stpncpy.texi: Renamed from
33535         doc/glibc-functions/stpncpy.texi.
33536         * doc/posix-functions/strcasecmp_l.texi: Renamed from
33537         doc/glibc-functions/strcasecmp_l.texi.
33538         * doc/posix-functions/strcoll_l.texi: Renamed from
33539         doc/glibc-functions/strcoll_l.texi.
33540         * doc/posix-functions/strfmon_l.texi: Renamed from
33541         doc/glibc-functions/strfmon_l.texi.
33542         * doc/posix-functions/strftime_l.texi: Renamed from
33543         doc/glibc-functions/strftime_l.texi.
33544         * doc/posix-functions/strncasecmp_l.texi: Renamed from
33545         doc/glibc-functions/strncasecmp_l.texi.
33546         * doc/posix-functions/strndup.texi: Renamed from
33547         doc/glibc-functions/strndup.texi.
33548         * doc/posix-functions/strnlen.texi: Renamed from
33549         doc/glibc-functions/strnlen.texi.
33550         * doc/posix-functions/strsignal.texi: Renamed from
33551         doc/glibc-functions/strsignal.texi.
33552         * doc/posix-functions/strxfrm_l.texi: Renamed from
33553         doc/glibc-functions/strxfrm_l.texi.
33554         * doc/posix-functions/timer_gettime.texi: Renamed from
33555         doc/glibc-functions/timer_gettime.texi.
33556         * doc/posix-functions/tolower_l.texi: Renamed from
33557         doc/glibc-functions/tolower_l.texi.
33558         * doc/posix-functions/toupper_l.texi: Renamed from
33559         doc/glibc-functions/toupper_l.texi.
33560         * doc/posix-functions/towctrans_l.texi: Renamed from
33561         doc/glibc-functions/towctrans_l.texi.
33562         * doc/posix-functions/towlower_l.texi: Renamed from
33563         doc/glibc-functions/towlower_l.texi.
33564         * doc/posix-functions/towupper_l.texi: Renamed from
33565         doc/glibc-functions/towupper_l.texi.
33566         * doc/posix-functions/uselocale.texi: Renamed from
33567         doc/glibc-functions/uselocale.texi.
33568         * doc/posix-functions/vdprintf.texi: Renamed from
33569         doc/glibc-functions/vdprintf.texi.
33570         * doc/posix-functions/wcpcpy.texi:
33571         Renamed from doc/glibc-functions/wcpcpy.texi.
33572         * doc/posix-functions/wcpncpy.texi: Renamed from
33573         doc/glibc-functions/wcpncpy.texi.
33574         * doc/posix-functions/wcscasecmp.texi: Renamed from
33575         doc/glibc-functions/wcscasecmp.texi.
33576         * doc/posix-functions/wcscasecmp_l.texi: Renamed from
33577         doc/glibc-functions/wcscasecmp_l.texi.
33578         * doc/posix-functions/wcscoll_l.texi: Renamed from
33579         doc/glibc-functions/wcscoll_l.texi.
33580         * doc/posix-functions/wcsdup.texi: Renamed from
33581         doc/glibc-functions/wcsdup.texi.
33582         * doc/posix-functions/wcsncasecmp.texi: Renamed from
33583         doc/glibc-functions/wcsncasecmp.texi.
33584         * doc/posix-functions/wcsncasecmp_l.texi: Renamed from
33585         doc/glibc-functions/wcsncasecmp_l.texi.
33586         * doc/posix-functions/wcsnlen.texi: Renamed from
33587         doc/glibc-functions/wcsnlen.texi.
33588         * doc/posix-functions/wcsnrtombs.texi: Renamed from
33589         doc/glibc-functions/wcsnrtombs.texi.
33590         * doc/posix-functions/wcsxfrm_l.texi: Renamed from
33591         doc/glibc-functions/wcsxfrm_l.texi.
33592         * doc/posix-functions/wctrans_l.texi: Renamed from
33593         doc/glibc-functions/wctrans_l.texi.
33594         * doc/posix-functions/wctype_l.texi: Renamed from
33595         doc/glibc-functions/wctype_l.texi.
33596         * doc/gnulib.texi (Function Substitutes): Add these subsections.
33597         (Glibc ctype.h, Glibc dirent.h, Glibc getopt.h, Glibc math.h,
33598         Glibc sched.h, Glibc signal.h, Glibc stdio.h, Glibc stdlib.h,
33599         Glibc string.h, Glibc time.h, Glibc unistd.h, Glibc wchar.h): Remove
33600         these subsections.
33601         (Glibc langinfo.h, Glibc locale.h, Glibc monetary.h, Glibc wctype.h):
33602         Remove sections.
33603
33604 2008-12-14  Bruno Haible  <bruno@clisp.org>
33605
33606         Update doc for POSIX:2008.
33607         * doc/posix-functions/*.texi: Update URL of POSIX specification.
33608
33609 2008-12-14  Bruno Haible  <bruno@clisp.org>
33610
33611         Update doc for POSIX:2008.
33612         * doc/pastposix-functions/bcmp.texi: Renamed from
33613         doc/posix-functions/bcmp.texi.
33614         * doc/pastposix-functions/bcopy.texi: Renamed from
33615         doc/posix-functions/bcopy.texi.
33616         * doc/pastposix-functions/bsd_signal.texi: Renamed from
33617         doc/posix-functions/bsd_signal.texi.
33618         * doc/pastposix-functions/bzero.texi: Renamed from
33619         doc/posix-functions/bzero.texi.
33620         * doc/pastposix-functions/ecvt.texi: Renamed from
33621         doc/posix-functions/ecvt.texi.
33622         * doc/pastposix-functions/fcvt.texi: Renamed from
33623         doc/posix-functions/fcvt.texi.
33624         * doc/pastposix-functions/ftime.texi: Renamed from
33625         doc/posix-functions/ftime.texi.
33626         * doc/pastposix-functions/gcvt.texi: Renamed from
33627         doc/posix-functions/gcvt.texi.
33628         * doc/pastposix-functions/getcontext.texi: Renamed from
33629         doc/posix-functions/getcontext.texi.
33630         * doc/pastposix-functions/gethostbyaddr.texi: Renamed from
33631         doc/posix-functions/gethostbyaddr.texi.
33632         * doc/pastposix-functions/gethostbyname.texi: Renamed from
33633         doc/posix-functions/gethostbyname.texi.
33634         * doc/pastposix-functions/getwd.texi: Renamed from
33635         doc/posix-functions/getwd.texi.
33636         * doc/pastposix-functions/h_errno.texi: Renamed from
33637         doc/posix-functions/h_errno.texi.
33638         * doc/pastposix-functions/index.texi: Renamed from
33639         doc/posix-functions/index.texi.
33640         * doc/pastposix-functions/makecontext.texi: Renamed from
33641         doc/posix-functions/makecontext.texi.
33642         * doc/pastposix-functions/mktemp.texi: Renamed from
33643         doc/posix-functions/mktemp.texi.
33644         * doc/pastposix-functions/pthread_attr_getstackaddr.texi: Renamed from
33645         doc/posix-functions/pthread_attr_getstackaddr.texi.
33646         * doc/pastposix-functions/pthread_attr_setstackaddr.texi: Renamed from
33647         doc/posix-functions/pthread_attr_setstackaddr.texi.
33648         * doc/pastposix-functions/rindex.texi: Renamed from
33649         doc/posix-functions/rindex.texi.
33650         * doc/pastposix-functions/scalb.texi: Renamed from
33651         doc/posix-functions/scalb.texi.
33652         * doc/pastposix-functions/setcontext.texi: Renamed from
33653         doc/posix-functions/setcontext.texi.
33654         * doc/pastposix-functions/swapcontext.texi: Renamed from
33655         doc/posix-functions/swapcontext.texi.
33656         * doc/pastposix-functions/ualarm.texi: Renamed from
33657         doc/posix-functions/ualarm.texi.
33658         * doc/pastposix-functions/usleep.texi: Renamed from
33659         doc/posix-functions/usleep.texi.
33660         * doc/pastposix-functions/vfork.texi: Renamed from
33661         doc/posix-functions/vfork.texi.
33662         * doc/pastposix-functions/wcswcs.texi: Renamed from
33663         doc/posix-functions/wcswcs.texi.
33664         * doc/gnulib.texi (Legacy Function Substitutes): New chapter.
33665         (Function Substitutes): Update.
33666
33667 2008-12-14  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
33668
33669         * modules/relocatable-prog-wrapper (Depends-on): Add errno, needed by
33670         m4/strerror.m4.
33671
33672 2008-12-14  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
33673             Bruno Haible  <bruno@clisp.org>
33674
33675         * modules/unilbrk/tables (Depends-on): Add unilbrk/base.
33676
33677 2008-12-13  Bruno Haible  <bruno@clisp.org>
33678
33679         * modules/strtoull (Depends-on): Remove unistd.
33680
33681 2008-12-11  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
33682
33683         * modules/strtoull (Depends-on): Add stdlib.
33684
33685 2008-12-11  Simon Josefsson  <simon@josefsson.org>
33686
33687         * m4/manywarnings.m4 (gl_MANYWARN_ALL_GCC): Add more warnings.
33688
33689 2008-12-10  Jim Meyering  <meyering@redhat.com>
33690
33691         gl_ASSERT: don't say assertions are disabled when they're not
33692         * m4/assert.m4 (gl_ASSERT): Do not make configure report
33693         "checking whether to enable assertions... no", when they are in
33694         fact enabled.  This is solely a bug in the output of configure.
33695         In spite of saying "no", NDEBUG was not defined in that case.
33696         Also, as noted by Eric Blake, leave assertions enabled upon
33697         --enable-assert=INVALID.
33698
33699 2008-12-10  Bruno Haible  <bruno@clisp.org>
33700
33701         Change MODULES.html to refer to POSIX:2008 where possible.
33702         * MODULES.html.sh (POSIX2008_URL): New variable.
33703         (posix_headers): Remove sys/timeb, ucontext.
33704         (posix2001_headers): New variable.
33705         (posix_functions): Remove bcmp, bcopy, bsd_signal, bzero, ecvt, fcvt,
33706         ftime, gcvt, getcontext, gethostbyaddr, gethostbyname, getwd, h_errno,
33707         index, makecontext, mktemp, pthread_attr_getstackaddr,
33708         pthread_attr_setstackaddr, rindex, scalb, setcontext, swapcontext,
33709         ualarm, usleep, vfork, wcswcs. Add the new POSIX:2008 functions.
33710         (posix2001_functions): New variable.
33711         (func_module): Use URLs to POSIX:2008 where possible and to POSIX:2001
33712         otherwise.
33713
33714 2008-12-09  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
33715
33716         add missing include to parse-duration.c
33717         * lib/parse-duration.c: #include "xalloc.h", for xstrdup.
33718         * modules/parse-duration (Depends-on): Add xalloc.
33719
33720         fix sed script reading maint.mk
33721         * top/maint.mk (MYSELF): New macro, define as $(srcdir)/$(ME).
33722         (syntax-check-rules): Use it.
33723
33724 2008-12-09  Bruno Haible  <bruno@clisp.org>
33725
33726         * m4/ldexpl.m4 (gl_FUNC_LDEXPL_WORKS): Add another check, that fails on
33727         MacOS X 10.4/PowerPC.
33728         Reported by Simon Josefsson.
33729
33730 2008-12-08  Jim Meyering  <meyering@redhat.com>
33731
33732         work around mingw's lack of some S_IF definitions
33733         * lib/fts.c (S_IFLNK, S_IFSOCK): Define if not already defined.
33734         Reported by Simon Josefsson.
33735
33736 2008-12-08  Bruno Haible  <bruno@clisp.org>
33737
33738         * m4/signbitl.m4 (gl_SIGNBIT_TEST_PROGRAM): Add a link check of signbit
33739         applied to variables. Needed on MacOS X 10.4/PowerPC.
33740         Reported by Simon Josefsson.
33741
33742 2008-12-08  William Pursell  <bill.pursell@gmail.com>  (tiny change)
33743         and Eric Blake  <ebb9@byu.net>
33744
33745         assert: honor --enable-assert
33746         * m4/assert.m4 (gl_ASSERT): Synchronize with autoconf 2.64, in
33747         order to honor --enable-assert, rather than treating it as a
33748         synonym for --disable-assert.
33749
33750 2008-12-08  Jim Meyering  <meyering@redhat.com>
33751
33752         * lib/posixtm.c: Remove now-useless declaration of mktime.
33753
33754         * build-aux/announce-gen (get_tool_versions): Accept .xz tarballs.
33755
33756 2008-12-07  Bruno Haible  <bruno@clisp.org>
33757
33758         * tests/test-lock.c (test_lock, test_rwlock, test_recursive_lock,
33759         test_once): Mark functions as static.
33760         * tests/test-tls.c (test_tls): Likewise.
33761
33762 2008-12-07  Bruno Haible  <bruno@clisp.org>
33763
33764         * lib/striconveha.h (uniconv_register_autodetect): Renamed from
33765         iconv_register_autodetect.
33766
33767 2008-12-07  Jim Meyering  <meyering@redhat.com>
33768
33769         posixtm.c: avoid a warning
33770         * lib/posixtm.c (posixtime): Don't initialize tm0.
33771         It's no longer needed to placate gcc4's -Wuninitialized,
33772         and the attempt to placate would elicit a new warning.
33773
33774         unicodeio.c: mark unused parameters
33775         * lib/unicodeio.c (exit_failure_callback): Mark unused parameter.
33776         (fallback_failure_callback): Likewise.
33777
33778 2008-12-07  Bruno Haible  <bruno@clisp.org>
33779
33780         * gnulib-tool (func_create_testdir): When building the tests
33781         subdirectory, ignore the modules gnumakefile and maintainer-makefile.
33782         Reported by Simon Josefsson.
33783
33784 2008-12-07  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
33785
33786         * doc/manywarnings.texi, doc/gnulib-intro.texi: Fix typos.
33787
33788 2008-12-06  Bruno Haible  <bruno@clisp.org>
33789
33790         * lib/c-stack.h (c_stack_action): Clarify possible side effects.
33791         Suggested by Eric Blake.
33792
33793 2008-12-06  Bruno Haible  <bruno@clisp.org>
33794
33795         Fix a c-stack test failure on MacOS X.
33796         * m4/c-stack.m4 (AC_SYS_XSI_STACK_OVERFLOW_HEURISTIC): Require
33797         AC_CANONICAL_HOST. Define FAULT_YIELDS_SIGBUS. If set, install a signal
33798         handler for SIGBUS as well.
33799         * lib/c-stack.c (c_stack_action): If FAULT_YIELDS_SIGBUS is set,
33800         install a signal handler for SIGBUS as well.
33801         Reported by Bruce Dugan <bld0401@gmail.com> via Eric Blake.
33802
33803 2008-12-06  Bruno Haible  <bruno@clisp.org>
33804
33805         Advocacy documentation.
33806         * doc/gnulib-intro.texi (Benefits): New section.
33807         * doc/gnulib.texi: Update.
33808
33809 2008-12-06  Bruno Haible  <bruno@clisp.org>
33810
33811         Document the 'manywarnings' module.
33812         * doc/manywarnings.texi: New file.
33813         * doc/gnulib.texi: Include it.
33814
33815 2008-12-05  Eric Blake  <ebb9@byu.net>
33816
33817         tests: silence some gcc warnings
33818         * tests/test-getdate.c (LOG) [!DEBUG]: Mark no-op void.
33819         * tests/uniwidth/test-uc_width2.c (finish_interval): Avoid printf
33820         type mismatches.
33821
33822 2008-12-03  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
33823             Bruno Haible  <bruno@clisp.org>
33824
33825         * m4/openmp.m4 (AC_OPENMP): Do not define with Autoconf 2.62 or newer.
33826
33827 2008-11-29  Jim Meyering  <meyering@redhat.com>
33828
33829         unicodeio.c: mark unused parameters
33830         * lib/unicodeio.c (exit_failure_callback): Mark unused parameter.
33831         (fallback_failure_callback): Likewise.
33832
33833         fts: fix a thinko
33834         * lib/fts.c (s_ifmt_shift_bits): Remove function.  Not needed after all.
33835         (set_stat_type): Return S_IF*-valued "type" directly.
33836         Prompted by James Youngman's spotting a related bug.
33837         Confirmed by further testing through find.
33838
33839         fts: provide dirent.d_type via FTSENT.fts_statp, when possible
33840         * lib/fts.c (D_TYPE): Define.
33841         (DT_UNKNOWN, DT_BLK, DT_CHR) [HAVE_STRUCT_DIRENT_D_TYPE]: Define.
33842         (DT_DIR, DT_FIFO, DT_LNK, DT_REG, DT_SOCK): Likewise.
33843         (s_ifmt_shift_bits): New function.
33844         (set_stat_type): New function.
33845         (fts_build): When not calling fts_stat, call set_stat_type
33846         to propagate dirent.d_type info to fts_read caller.
33847         * lib/fts_.h (FTSENT) [FTS_DEFER_STAT]: Mention that
33848         fts_statp->st_mode type information may be valid.
33849
33850 2008-11-28  Simon Josefsson  <simon@josefsson.org>
33851
33852         * lib/sys_time.in.h: Add extern "C" block for C++.  Suggested by
33853         Brian Dessent <brian@dessent.net>.  Reported by Sam Steingold
33854         <sds@gnu.org>.
33855
33856 2008-11-20  Bruno Haible  <bruno@clisp.org>
33857
33858         Attempt to work around an AIX 5.3, 6.1 compiler bug with include_next.
33859         * lib/math.in.h: Use INCLUDE_NEXT_AS_FIRST_DIRECTIVE instead of
33860         INCLUDE_NEXT.
33861         * m4/include_next.m4 (gl_INCLUDE_NEXT): Set also
33862         INCLUDE_NEXT_AS_FIRST_DIRECTIVE.
33863         * modules/math (Makefile.am): Substitute
33864         INCLUDE_NEXT_AS_FIRST_DIRECTIVE instead of INCLUDE_NEXT.
33865         Reported by Albert Chin <bug-gnulib@mlists.thewrittenword.com>.
33866
33867 2008-11-18  Alexandre Duret-Lutz  <adl@lrde.epita.fr>
33868             Bruno Haible  <bruno@clisp.org>
33869
33870         * lib/stdint.in.h: Define all type macros so that their expansion is
33871         a single typedef'ed token. Fixes a compilation failure in Boost which
33872         does "using ::int8_t;".
33873
33874 2008-11-18  Simon Josefsson  <simon@josefsson.org>
33875
33876         * m4/manywarnings.m4: New file with gl_MANYWARN_COMPLEMENT and
33877         gl_MANYWARN_ALL_GCC.
33878         * m4/warnings.m4: Removed gl_WARN_SUPPORTED and
33879         gl_WARN_COMPLEMENT.  Suggested by Bruno Haible <bruno@clisp.org>.
33880         * modules/manywarnings: New file.
33881         * MODULES.html.sh: Mention manywarnings module.
33882
33883 2008-11-18  Bruno Haible  <bruno@clisp.org>
33884
33885         * doc/gnulib-tool.texi (Unit tests): New section.
33886
33887 2008-11-18  Simon Josefsson  <simon@josefsson.org>
33888
33889         * top/maint.mk (refresh-po): Fix sed regexp to avoid problems with
33890         paths like 'lib/po/foo.po'.
33891
33892 2008-11-17  Simon Josefsson  <simon@josefsson.org>
33893
33894         * m4/warnings.m4: Improve code.  Reported by Ralf Wildenhues
33895         <Ralf.Wildenhues@gmx.de> and Paolo Bonzini <bonzini@gnu.org>.
33896
33897 2008-11-17  Simon Josefsson  <simon@josefsson.org>
33898
33899         * m4/warnings.m4: Use CPPFLAGS to really check whether the
33900         parameter works.
33901
33902 2008-11-17  Simon Josefsson  <simon@josefsson.org>
33903
33904         * m4/warnings.m4: Add gl_WARN_COMPLEMENT and gl_WARN_SUPPORTED.
33905
33906 2008-11-17  Bruce Korb  <bkorb@gnu.org>
33907
33908         * modules/parse-duration-tests: New file.
33909         * tests/test-parse-duration.sh: New file.
33910         * tests/test-parse-duration.c: New file.
33911
33912         New module 'parse-duration'.
33913         * lib/parse-duration.h: New file.
33914         * lib/parse-duration.c: New file.
33915         * modules/parse-duration: New file.
33916
33917 2008-11-17  Bruno Haible  <bruno@clisp.org>
33918
33919         * tests/test-select-out.sh: Comment out the first pipe test.
33920         Reported by Simon Josefsson.
33921
33922 2008-11-17  Bruno Haible  <bruno@clisp.org>
33923
33924         * modules/getaddrinfo (Depends-on): Add servent, hostent.
33925         * m4/getaddrinfo.m4 (gl_PREREQ_GETADDRINFO): Use gl_SERVENT and
33926         gl_HOSTENT.
33927
33928 2008-11-17  Bruno Haible  <bruno@clisp.org>
33929
33930         * m4/sockets.m4 (gl_SOCKETS): After trying -lsocket, try also
33931         -lnetwork and -lnet. Needed for Haiku and BeOS.
33932
33933 2008-11-16  Bruno Haible  <bruno@clisp.org>
33934
33935         * m4/getaddrinfo.m4 (gl_GETADDRINFO): Fix indentation.
33936
33937 2008-11-16  Bruno Haible  <bruno@clisp.org>
33938
33939         Avoid test failure on Haiku.
33940         * tests/test-fsync.c: Include <errno.h>.
33941         (main): Don't require that fsync (0) fails.
33942
33943 2008-11-15  Bruno Haible  <bruno@clisp.org>
33944
33945         New module 'hostent'.
33946         * modules/hostent: New file.
33947         * m4/hostent.m4: New file, based on code in m4/getaddrinfo.m4.
33948
33949 2008-11-15  Bruno Haible  <bruno@clisp.org>
33950
33951         New module 'servent'.
33952         * modules/servent: New file.
33953         * m4/servent.m4: New file, based on code in m4/getaddrinfo.m4.
33954
33955 2008-11-15  Bruno Haible  <bruno@clisp.org>
33956
33957         Avoid generating same test program with two different rules.
33958         * modules/frexp-nolibm-tests (Makefile.am): Rename test program from
33959         test-frexp to test-frexp-nolibm.
33960         * modules/frexpl-nolibm-tests (Makefile.am): Rename test program from
33961         test-frexpl to test-frexpl-nolibm.
33962
33963 2008-11-15  Bruno Haible  <bruno@clisp.org>
33964
33965         * modules/frexpl-tests (Makefile.am): Link test-frexpl with
33966         $(FREXPL_LIBM).
33967
33968 2008-11-15  Bruno Haible  <bruno@clisp.org>
33969
33970         * lib/netdb.in.h: Activate the definitions also when the system's
33971         <netdb.h> has 'struct addrinfo'.
33972         * m4/netdb_h.m4 (gl_HEADER_NETDB): Replace netdb.h also when it lacks
33973         EAI_OVERFLOW or AI_NUMERICSERV.
33974         * doc/posix-headers/netdb.texi: Document the problem.
33975
33976 2008-11-15  Bruno Haible  <bruno@clisp.org>
33977
33978         * tests/test-sched.c: Test also the existence of the SCHED_* macros.
33979
33980         Make the 'sched' module work on platforms where <sched.h> exists but
33981         is incomplete (such as Haiku).
33982         * lib/sched.in.h; Include the system's <sched.h> if it exists.
33983         (SCHED_FIFO, SCHED_RR, SCHED_OTHER): New macros.
33984         * m4/sched_h.m4 (gl_SCHED_H): Test whether <sched.h> exists and also
33985         defines SCHED_FIFO, SCHED_RR, SCHED_OTHER. Set HAVE_SCHED_H,
33986         HAVE_STRUCT_SCHED_PARAM.
33987         * modules/sched (Depends-on): Add include_next.
33988         (Makefile.am): Substitute HAVE_SCHED_H, INCLUDE_NEXT,
33989         PRAGMA_SYSTEM_HEADER, NEXT_SCHED_H, HAVE_STRUCT_SCHED_PARAM.
33990         * doc/posix-headers/sched.texi: Document the issue.
33991
33992 2008-11-13  Jim Meyering  <meyering@redhat.com>
33993
33994         test-argp-2: avoid test failure when PACKAGE_BUGREPORT is defined
33995         * tests/test-argp-2.sh: When PACKAGE_BUGREPORT was defined, this
33996         test would fail due to the difference in the Report bugs to ...
33997         line.  The expected address is empty, "<>", while the actual
33998         would contain e.g., "<bug-tar@gnu.org>".  Filter out any address.
33999
34000 2008-11-12  Bruno Haible  <bruno@clisp.org>
34001
34002         lstat: don't compile lstat.c on systems lacking lstat
34003         * m4/lstat.m4 (gl_FUNC_LSTAT): Don't compile lstat.c on systems
34004         which don't have lstat; this is handled by lib/sys_stat.in.h already.
34005         Reported by Daniel P. Berrange via Jim Meyering.
34006
34007 2008-11-12  Jim Meyering  <meyering@redhat.com>
34008
34009         * lib/unicodeio.c (unicode_to_mb): Correct spelling of u8_uctomb.
34010
34011 2008-11-12  Simon Josefsson  <simon@josefsson.org>
34012
34013         * modules/warnings (configure.ac): Do AC_SUBST([WARN_CFLAGS]) here
34014         instead.
34015
34016 2008-11-12  Bruno Haible  <bruno@clisp.org>
34017
34018         * lib/unicodeio.c: Include unistr.h.
34019         (utf8_wctomb): Remove function.
34020         (unicode_to_mb): Use utf8_uctomb instead of utf8_wctomb.
34021
34022 2008-11-12  Simon Josefsson  <simon@josefsson.org>
34023
34024         * m4/warnings.m4 (gl_WARN_INIT): Remove, suggested by Ralf
34025         Wildenhues <Ralf.Wildenhues@gmx.de> and Bruno Haible
34026         <bruno@clisp.org>.
34027         * modules/warnings (configure.ac): Don't call gl_WARN_INIT.
34028
34029 2008-11-12  Simon Josefsson  <simon@josefsson.org>
34030
34031         * doc/warnings.texi: New file, from Bruno Haible <bruno@clisp.org>.
34032         * doc/gnulib.texi: Add section for warnings.
34033
34034 2008-11-11  Bruno Haible  <bruno@clisp.org>
34035
34036         * lib/sockets.h: Add a comment.
34037
34038 2008-11-11  Karl Berry  <karl@gnu.org>
34039
34040         * config/srclist.txt (fdl.texi): add, syncing from gnustandards.
34041
34042 2008-11-11  Eric Blake  <ebb9@byu.net>
34043
34044         fdl.texi: avoid git symlinks
34045         * doc/fdl.texi: Copy, rather than link, fdl-1.3.texi.
34046
34047 2008-11-11  Paolo Bonzini  <bonzini@gnu.org>
34048
34049         * m4/warnings.m4 (gl_WARN_ADD): Don't AC_SUBST the empty string.
34050
34051 2008-11-11  Paolo Bonzini  <bonzini@gnu.org>
34052
34053         * m4/warnings.m4 (gl_WARN_INIT): Substitute WARN_CFLAGS.
34054         (gl_WARN_ADD): Substitute $2 if literal.
34055
34056 2008-11-11  Paolo Bonzini  <bonzini@gnu.org>
34057
34058         * m4/warning.m4: Remove.
34059
34060 2008-11-11  Paolo Bonzini  <bonzini@gnu.org>
34061
34062         * m4/warnings.m4: Almost complete rewrite. :-)
34063
34064 2008-11-10  Simon Josefsson  <simon@josefsson.org>
34065
34066         * modules/warnings: New module.
34067         * m4/warnings.m4: New file.
34068         * MODULES.html.sh: Mention warnings module.
34069         With review improvements from Paolo Bonzini <bonzini@gnu.org> and
34070         Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
34071
34072 2008-11-10  Eric Blake  <ebb9@byu.net>
34073
34074         fdl.texi: make a symlink to the latest version
34075         * doc/standards.texi: Revert today's earlier change.
34076         * doc/fdl-1.2.texi: Rename from old fdl.texi...
34077         * doc/fdl.texi: ...and replace this with a symlink to the newer
34078         fdl-1.3.texi.
34079
34080 2008-11-10  Bruno Haible  <bruno@clisp.org>
34081
34082         * tests/test-select-fd.c (main): Accept the result file name as fourth
34083         argument.
34084         * tests/test-select-in.sh: Pass t-select-in.tmp as fourth argument.
34085         * tests/test-select-out.sh: Pass t-select-out.tmp as fourth argument.
34086
34087 2008-11-10  Bruno Haible  <bruno@clisp.org>
34088
34089         * lib/netdb.in.h: Use HAVE_STRUCT_ADDRINFO, HAVE_DECL_GETADDRINFO,
34090         HAVE_DECL_FREEADDRINFO, HAVE_DECL_GAI_STRERROR, HAVE_DECL_GETNAMEINFO
34091         as autoconf-substituted macros.
34092         * m4/netdb_h.m4 (gl_NETDB_H_DEFAULTS): Initialize these variables to 1.
34093         * m4/getaddrinfo.m4 (gl_PREREQ_GETADDRINFO): Require
34094         gl_NETDB_H_DEFAULTS. Set these variables.
34095         * modules/netdb (Makefile.am): Substitute these variables.
34096
34097 2008-11-10  Eric Blake  <ebb9@byu.net>
34098
34099         standards.texi: include correct file for FDL 1.3
34100         * doc/standards.texi (GNU Free Documentation License): Change
34101         include file to pull in FDL 1.3, not 1.2.
34102
34103         fdl.texi: revert accidental change to license
34104         * doc/fdl.texi: This is FDL 1.2, not 1.3.
34105
34106 2008-11-10  Bruno Haible  <bruno@clisp.org>
34107
34108         * m4/printf.m4 (gl_PRINTF_ENOMEM): Guess yes on Haiku. Use the
34109         cross-compiling guesses also when the native compile gives no result.
34110
34111 2008-11-10  Bruno Haible  <bruno@clisp.org>
34112
34113         * lib/spawni.c (__spawni): Force variable into the stack.
34114
34115 2008-11-10  Bruno Haible  <bruno@clisp.org>
34116
34117         Add support for Haiku.
34118         * lib/fbufmode.c (fbufmode): Test a symbol that is not only defined on
34119         glibc and BeOS, but also on Haiku.
34120         * lib/fpurge.c (fpurge): Likewise.
34121         * lib/freadable.c (freadable): Likewise.
34122         * lib/freadahead.c (freadahead): Likewise.
34123         * lib/freading.c (freading): Likewise.
34124         * lib/freadptr.c (freadptr): Likewise.
34125         * lib/freadseek.c (freadptrinc): Likewise.
34126         * lib/fseeko.c (rpl_fseeko): Likewise.
34127         * lib/fseterr.c (fseterr): Likewise.
34128         * lib/fwritable.c (fwritable): Likewise.
34129         * lib/fwriting.c (fwriting): Likewise.
34130         Reported by Ingo Weinhold <ingo_weinhold@gmx.de>.
34131
34132 2008-11-10  Ingo Weinhold  <ingo_weinhold@gmx.de>
34133
34134         * lib/config.charset: Treat Haiku like BeOS.
34135
34136 2008-11-10  Ingo Weinhold  <ingo_weinhold@gmx.de>
34137
34138         * lib/binary-io.h (O_BINARY, O_TEXT): Treat Haiku like BeOS.
34139         * lib/fcntl.in.h (O_BINARY, O_TEXT): Likewise.
34140
34141 2008-11-08  Bruno Haible  <bruno@clisp.org>
34142
34143         * m4/sys_ioctl_h.m4 (gl_SYS_IOCTL_H): Avoid using AC_CHECK_DECL inside
34144         AC_CACHE_CHECK.
34145
34146 2008-11-08  Bruno Haible  <bruno@clisp.org>
34147
34148         * modules/select-tests (configure.ac): Check for unistd.h, sys/wait.h.
34149
34150 2008-11-08  Bruno Haible  <bruno@clisp.org>
34151
34152         * tests/test-select-fd.c: New file.
34153         * tests/test-select-in.sh: New file.
34154         * tests/test-select-out.sh: New file.
34155         * tests/test-select-stdin.c: New file.
34156         * modules/select-tests (Files): Add the new files.
34157         (Depends-on): Add gettimeofday.
34158         (Makefile.am): Add test-select-in.sh, test-select-out.sh to TESTS.
34159         Set TESTS_ENVIRONMENT. Add test-select-fd, test-select-stdin to
34160         check_PROGRAMS. Define test_select_fd_LDADD, test_select_stdin_LDADD.
34161
34162 2008-11-06  Alexander V. Lukyanov  <lav@netis.ru>
34163             Bruno Haible  <bruno@clisp.org>
34164
34165         * lib/sys_stat.in.h: Enclose function definitions in extern "C".
34166
34167 2008-10-12  Giuseppe Scrivano  <gscrivano@gnu.org>
34168
34169         * build-aux/pmccabe2html: Added support for C++ source files.
34170
34171 2008-11-05  Ben Pfaff  <blp@gnu.org>
34172
34173         Fix lib/close.c build on Windows.
34174         * modules/close (Files): Add lib/w32sock.h.
34175
34176 2008-11-05  Joel E. Denny  <jdenny@ces.clemson.edu>
34177
34178         Accept Bison's NEWS format.
34179         * build-aux/announce-gen (print_news_deltas): Tweak
34180         $re_prefix.
34181
34182 2008-11-04  Bruno Haible  <bruno@clisp.org>
34183
34184         * modules/random_r (Maintainer): Add glibc.
34185
34186 2008-11-04  Simon Josefsson  <simon@josefsson.org>
34187
34188         * doc/alloca-opt.texi: Change license to GFDLv1.3+, as suggested
34189         by karl@freefriends.org (Karl Berry).
34190         * doc/alloca.texi: Likewise.
34191         * doc/c-ctype.texi: Likewise.
34192         * doc/c-strcase.texi: Likewise.
34193         * doc/c-strcaseeq.texi: Likewise.
34194         * doc/c-strcasestr.texi: Likewise.
34195         * doc/c-strstr.texi: Likewise.
34196         * doc/c-strtod.texi: Likewise.
34197         * doc/c-strtold.texi: Likewise.
34198         * doc/ctime.texi: Likewise.
34199         * doc/error.texi: Likewise.
34200         * doc/fdl.texi: Likewise.
34201         * doc/gcd.texi: Likewise.
34202         * doc/getdate.texi: Likewise.
34203         * doc/gnulib-intro.texi: Likewise.
34204         * doc/gnulib-tool.texi: Likewise.
34205         * doc/gnulib.texi: Likewise.
34206         * doc/inet_ntoa.texi: Likewise.
34207         * doc/maintain.texi: Likewise.
34208         * doc/make-stds.texi: Likewise.
34209         * doc/quote.texi: Likewise.
34210         * doc/regexprops-generic.texi: Likewise.
34211         * doc/standards.texi: Likewise.
34212         * doc/verify.texi: Likewise.
34213         * doc/visibility.texi: Likewise.
34214         * doc/gnulib.texi (GNU Free Documentation License): Include
34215         fdl-1.3.texi instead of fdl.texi.
34216
34217 2008-11-04  Simon Josefsson  <simon@josefsson.org>
34218
34219         * doc/fdl-1.3.texi: New file, from
34220         <http://www.gnu.org/licenses/fdl-1.3.texi>.
34221         * modules/fdl-1.3: Add.
34222         * MODULES.html.sh: Add fdl-1.3.
34223
34224 2008-11-03  Bruno Haible  <bruno@clisp.org>
34225
34226         Make determination of absolute name of header file work with AIX xlc.
34227         * m4/include_next.m4 (gl_CHECK_NEXT_HEADERS): Require
34228         AC_CANONICAL_HOST. On AIX, use "$CPP -C" rather than "$CPP" for
34229         preprocessing.
34230         * m4/absolute-header.m4 (gl_ABSOLUTE_HEADER): Likewise.
34231         Reported by Gary V. Vaughan <gary@thewrittenword.com>.
34232
34233 2008-11-03  Simon Josefsson  <simon@josefsson.org>
34234
34235         * top/maint.mk (COVERAGE_CCOPTS): Use --coverage instead of
34236         -fprofile-arcs -ftest-coverage.  Suggested by Ludovic Courtès
34237         <ludo@gnu.org>.
34238
34239 2008-11-02  Bruno Haible  <bruno@clisp.org>
34240
34241         Mark 'strpbrk' obsolete.
34242         * modules/strpbrk (Status, Notice): New sections.
34243         * modules/strtok_r (Depends-on): Add strpbrk.
34244
34245 2008-11-02  Bruno Haible  <bruno@clisp.org>
34246
34247         Mark 'strdup' obsolete.
34248         * modules/strdup (Status, Notice): New sections.
34249         * modules/findprog (Depends-on): Add strdup.
34250         * modules/getaddrinfo (Depends-on): Likewise.
34251         * modules/localename (Depends-on): Likewise.
34252         * modules/relocatable-lib (Depends-on): Likewise.
34253         * modules/relocatable-lib-lgpl (Depends-on): Likewise.
34254         * modules/relocatable-prog (Depends-on): Likewise.
34255         * modules/trim (Depends-on): Likewise.
34256         * modules/unictype/gen-ctype (Depends-on): Likewise.
34257         * modules/unilbrk/gen-lbrk (Depends-on): Likewise.
34258
34259 2008-11-02  Bruno Haible  <bruno@clisp.org>
34260
34261         Mark 'strcspn' obsolete.
34262         * modules/strcspn (Status, Notice): New sections.
34263
34264 2008-11-02  Bruno Haible  <bruno@clisp.org>
34265
34266         Mark 'rmdir' obsolete.
34267         * modules/rmdir (Status, Notice): New sections.
34268         * modules/clean-temp (Depends-on): Add rmdir.
34269         * modules/openat (Depends-on): Likewise.
34270
34271 2008-11-02  Bruno Haible  <bruno@clisp.org>
34272
34273         Mark 'raise' obsolete.
34274         * modules/raise (Status, Notice): New sections.
34275         (Include): Specify <signal.h>.
34276         * modules/stdio (Depends-on): Add raise.
34277         * modules/write (Depends-on): Likewise.
34278
34279 2008-11-02  Bruno Haible  <bruno@clisp.org>
34280
34281         Mark 'memset' obsolete.
34282         * modules/memset (Status, Notice): New sections.
34283
34284 2008-11-02  Bruno Haible  <bruno@clisp.org>
34285
34286         Mark 'memmove' obsolete.
34287         * modules/memmove (Status, Notice): New sections.
34288         * modules/argp (Depends-on): Add memmove.
34289         * modules/argz (Depends-on): Likewise.
34290         * modules/canonicalize (Depends-on): Likewise.
34291         * modules/canonicalize-lgpl (Depends-on): Likewise.
34292         * modules/fts (Depends-on): Likewise.
34293         * modules/getcwd (Depends-on): Likewise.
34294         * modules/human (Depends-on): Likewise.
34295         * modules/regex (Depends-on): Likewise.
34296         * modules/striconveh (Depends-on): Likewise.
34297         * modules/trim (Depends-on): Likewise.
34298         * modules/unistr/u8-move (Depends-on): Likewise.
34299         * modules/unistr/u16-move (Depends-on): Likewise.
34300         * modules/unistr/u32-move (Depends-on): Likewise.
34301
34302 2008-11-02  Bruno Haible  <bruno@clisp.org>
34303
34304         Mark 'memcpy' obsolete.
34305         * modules/memcpy (Status, Notice): New sections.
34306
34307 2008-11-02  Bruno Haible  <bruno@clisp.org>
34308
34309         Mark 'memcmp' obsolete.
34310         * modules/memcmp (Status, Notice): New sections.
34311         * modules/argmatch (Depends-on): Add memchr.
34312         * modules/backupfile (Depends-on): Likewise.
34313         * modules/c-strcasestr (Depends-on): Likewise.
34314         * modules/crypto/des (Depends-on): Likewise.
34315         * modules/csharpcomp (Depends-on): Likewise.
34316         * modules/fnmatch (Depends-on): Likewise.
34317         * modules/git-merge-changelog (Depends-on): Likewise.
34318         * modules/isnand (Depends-on): Likewise.
34319         * modules/isnand-nolibm (Depends-on): Likewise.
34320         * modules/isnanf (Depends-on): Likewise.
34321         * modules/isnanf-nolibm (Depends-on): Likewise.
34322         * modules/isnanl (Depends-on): Likewise.
34323         * modules/isnanl-nolibm (Depends-on): Likewise.
34324         * modules/mbchar (Depends-on): Likewise.
34325         * modules/memcoll (Depends-on): Likewise.
34326         * modules/quotearg (Depends-on): Likewise.
34327         * modules/regex (Depends-on): Likewise.
34328         * modules/relocatable-prog (Depends-on): Likewise.
34329         * modules/same (Depends-on): Likewise.
34330         * modules/signbit (Depends-on): Likewise.
34331         * modules/strcasestr-simple (Depends-on): Likewise.
34332         * modules/unictype/gen-ctype (Depends-on): Likewise.
34333         * modules/unilbrk/gen-lbrk (Depends-on): Likewise.
34334         * modules/uniname/uniname (Depends-on): Likewise.
34335         * modules/unistr/u8-cmp (Depends-on): Likewise.
34336
34337 2008-11-02  Bruno Haible  <bruno@clisp.org>
34338
34339         Mark 'memchr' obsolete.
34340         * modules/memchr (Status, Notice): New sections.
34341         * modules/argp (Depends-on): Add memchr.
34342         * modules/base64 (Depends-on): Likewise.
34343         * modules/c-strcasestr (Depends-on): Likewise.
34344         * modules/chdir-long (Depends-on): Likewise.
34345         * modules/fnmatch (Depends-on): Likewise.
34346         * modules/getsubopt (Depends-on): Likewise.
34347         * modules/git-merge-changelog (Depends-on): Likewise.
34348         * modules/glob (Depends-on): Likewise.
34349         * modules/strcasestr-simple (Depends-on): Likewise.
34350         * modules/strnlen (Depends-on): Likewise.
34351
34352 2008-11-02  Bruno Haible  <bruno@clisp.org>
34353
34354         Mark 'atexit' obsolete.
34355         * modules/atexit (Status, Notice): New sections.
34356         * modules/chdir-long (Depends-on): Add atexit.
34357         * modules/wait-process (Depends-on): Likewise.
34358
34359 2008-11-02  Bruno Haible  <bruno@clisp.org>
34360
34361         * gnulib-tool: New option --with-obsolete.
34362         (func_usage): Document it.
34363         (func_modules_transitive_closure): Drop obsolete dependencies if
34364         incobsolete is not true.
34365         (func_import): Read and save the incobsolete variable to the cache.
34366
34367 2008-11-02  Bruno Haible  <bruno@clisp.org>
34368
34369         * modules/TEMPLATE-EXTENDED: New field 'Status'.
34370         * gnulib-tool: New option --extract-status.
34371         (func_usage): Document it.
34372         (sed_extract_prog): Recognize it.
34373         (func_get_status): New function.
34374
34375 2008-10-30  Simon Josefsson  <simon@josefsson.org>
34376
34377         * modules/sockets (License): Change from LGPL to LGPLv2+.
34378
34379 2008-10-28  Simon Josefsson  <simon@josefsson.org>
34380
34381         * top/maint.mk: Add coverage rules, inspired by scripts in gnupdf.
34382
34383 2008-10-28  Simon Josefsson  <simon@josefsson.org>
34384
34385         * MODULES.html.sh (Support for systems lacking POSIX:2001):
34386         Mention times and sys_times.
34387         * modules/sys_times, modules/sys_times-tests: New modules.
34388         * modules/times, modules/times-tests: Likewise
34389         * m4/sys_times_h.m4: New file.
34390         * lib/sys_times.in.h: Likewise
34391         * lib/times.c: Likewise.
34392         * tests/test-sys_times.c: Likewise.
34393         * tests/test-times.c: Likewise.
34394         * doc/posix-headers/sys_times.texi: Update.
34395         * doc/posix-functions/times.texi: Update.
34396
34397 2008-10-28  Jim Meyering  <meyering@redhat.com>
34398
34399         * modules/tempname (Depends-on): Add lstat.
34400
34401         * modules/lstat (License): Relicense: LGPL -> LGPLv2+.
34402
34403 2008-10-28  Simon Josefsson  <simon@josefsson.org>
34404
34405         * gnulib-tool (func_emit_tests_Makefile_am): Revert last commit.
34406         * modules/argp-tests (test_argp_LDADD): Set EXEEXT here instead,
34407         using idiom used elsewhere in gnulib.
34408
34409 2008-10-27  Jim Meyering  <meyering@redhat.com>
34410
34411         * modules/gethostname (License): Relicense: LGPL -> LGPLv2+.
34412
34413 2008-10-27  Simon Josefsson  <simon@josefsson.org>
34414
34415         * gnulib-tool (func_emit_tests_Makefile_am): Set EXEEXT in
34416         TESTS_ENVIRONMENT, for shell scripts that needs to call built
34417         programs.
34418         * tests/test-argp-2.sh: Use $EXEEXT when needed.
34419
34420 2008-10-27  Simon Josefsson  <simon@josefsson.org>
34421
34422         * lib/sys_stat.in.h (lstat): Fix declaration for mingw.
34423
34424 2008-10-27  Bruno Haible  <bruno@clisp.org>
34425
34426         * tests/test-lstat.c: Include <stdio.h>.
34427
34428 2008-10-27  Simon Josefsson  <simon@josefsson.org>
34429
34430         * modules/lstat-tests: New module.
34431         * tests/test-lstat.c: New file.
34432
34433 2008-10-26  Jim Meyering  <meyering@redhat.com>
34434
34435         * lib/mkdir.c (rpl_mkdir) [_WIN32...]: Mark mode as an unused parameter.
34436
34437 2008-10-26  Simon Josefsson  <simon@josefsson.org>
34438             Bruno Haible  <bruno@clisp.org>
34439
34440         Fix a clash between the type DATADIR on Windows and the macro DATADIR.
34441         * modules/configmake (Include): Add a note that the include must come
34442         after all system headers.
34443         * lib/javaversion.c: Include configmake.h after all other includes.
34444
34445 2008-10-26  Bruno Haible  <bruno@clisp.org>
34446
34447         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Set default of
34448         HAVE_STRUCT_RANDOM_DATA to 1.
34449         (gl_STDLIB_H): Simplify.
34450
34451 2008-10-26  Simon Josefsson  <simon@josefsson.org>
34452
34453         * m4/stdlib_h.m4: Check for struct random_data.  Initialize and
34454         substitute HAVE_STRUCT_RANDOM_DATA.
34455         * lib/stdlib.in.h [!HAVE_STRUCT_RANDOM_DATA]: Provide struct
34456         random_data.
34457         * modules/stdlib (Makefile.am): Substitute
34458         HAVE_STRUCT_RANDOM_DATA.
34459
34460 2008-10-26  Simon Josefsson  <simon@josefsson.org>
34461
34462         * doc/gnulib.texi (@copying): Use GFDLv1.2+.
34463         * doc/gnulib-intro.texi (Copyright): Likewise.
34464
34465 2008-10-26  Simon Josefsson  <simon@josefsson.org>
34466
34467         * doc/gnulib.texi (Header files): C++ fixes, based on Bruno's
34468         findings.
34469
34470 2008-10-25  Ben Pfaff  <blp@cs.stanford.edu>
34471             Bruno Haible  <bruno@clisp.org>
34472
34473         * lib/unistd.in.h: Include <winsock2.h>.
34474         (socket, connect,accept, bind, getpeername, getsockname, getsockopt,
34475         listen, recv, send, recvfrom, sendto, setsockopt, shutdown, select):
34476         Provide dummy declarations.
34477         (gethostname): Override.
34478         * lib/sys_socket.in.h (gethostname): Provide dummy declaration.
34479         * m4/gethostname.m4 (gl_FUNC_GETHOSTNAME): Invoke
34480         gl_PREREQ_SYS_H_WINSOCK2.
34481         * modules/gethostname (Files): Add m4/sys_socket_h.m4.
34482         * doc/posix-functions/gethostname.texi: More details.
34483
34484 2008-10-25  Bruno Haible  <bruno@clisp.org>
34485
34486         * m4/sys_socket_h.m4 (gl_PREREQ_SYS_H_WINSOCK2): Require
34487         gl_UNISTD_H_DEFAULTS, gl_SYS_IOCTL_H_DEFAULTS only if they exist.
34488         * modules/sys_socket (Files): Remove m4/unistd_h.m4, m4/sys_ioctl_h.m4.
34489
34490         * lib/sys_socket.in.h (HAVE__GL_CLOSE_FD_MAYBE_SOCKET); Move macro from
34491         here ...
34492         * lib/unistd.in.h (HAVE__GL_CLOSE_FD_MAYBE_SOCKET); ... to here.
34493         * m4/sys_socket_h.m4 (gl_SYS_SOCKET_H_DEFAULTS): Remove invocation of
34494         gl_UNISTD_H_DEFAULTS.
34495
34496 2008-10-25  Eric Blake  <ebb9@byu.net>
34497
34498         signbit: avoid spurious compiler failure
34499         * m4/signbit.m4 (gl_SIGNBIT_TEST_PROGRAM): Move non-constant
34500         declarations inside function.
34501
34502 2008-10-24  Simon Josefsson  <simon@josefsson.org>
34503             Bruno Haible  <bruno@clisp.org>
34504
34505         * lib/stdlib.in.h (@GNULIB_RANDOM_R@): Include stdint.h.
34506         * modules/random_r (Depends-on): Add stdint.
34507
34508 2008-10-24  Bruno Haible  <bruno@clisp.org>
34509
34510         * modules/intprops (License): Change to LGPLv2+, with approval by Paul
34511         Eggert.
34512         * modules/strerror (License): Likewise.
34513
34514 2008-10-24  Jim Meyering  <meyering@redhat.com>
34515
34516         sys_socket: fix typo that inhibited expansion of @GNULIB_SEND@
34517         * modules/sys_socket (Depends-on) [Depends-on]: Fix typo.
34518
34519 2008-10-24  Eric Blake  <ebb9@byu.net>
34520
34521         getgroups: fix compilation when getgroups is available
34522         * lib/getgroups.c (includes): Include <unistd.h> for getgroups,
34523         but with <config.h> override of getgroups disabled.
34524
34525 2008-10-24  Simon Josefsson  <simon@josefsson.org>
34526
34527         * doc/gnulib.texi (Header files): Add note about C++ problems.
34528         Explained by Bruno Haible <bruno@clisp.org>.
34529
34530 2008-10-23  Bruno Haible  <bruno@clisp.org>
34531
34532         Define a dummy SA_NODEFER macro on Interix.
34533         * lib/signal.in.h (SA_NODEFER): Define fallback.
34534         Reported by Aleksey Cheusov <cheusov@tut.by> via
34535         Thomas Klausner <wiz@netbsd.org> and Eric Blake.
34536
34537 2008-10-23  Bruno Haible  <bruno@clisp.org>
34538
34539         * modules/freadahead (License): Change to LGPLv2+.
34540         Suggested by Simon Josefsson.
34541
34542 2008-10-23  Jim Meyering  <meyering@redhat.com>
34543
34544         random_r: new module
34545         * modules/random_r: New file.
34546         * m4/random_r.m4: New file.
34547         * lib/random_r.c: New file, from glibc.
34548         * modules/random_r-tests: New file.
34549         * tests/test-random_r.c: New file.
34550         * lib/stdlib.in.h (srandom_r, initstate_r, setstate_r, random_r):
34551          Declare.
34552         (RAND_MAX): Define.
34553         * m4/stdlib_h.m4: Define and AC_SUBST GNULIB_RANDOM_R and HAVE_RANDOM_R.
34554         * modules/stdlib: Substitute them, too.
34555         * MODULES.html.sh (Extra functions based on POSIX:2001) [Misc]: Add it.
34556         * doc/glibc-functions/initstate_r.texi: Mention the new module.
34557         * doc/glibc-functions/random_r.texi: Likewise.
34558         * doc/glibc-functions/setstate_r.texi: Likewise.
34559         * doc/glibc-functions/srandom_r.texi: Likewise.
34560         * config/srclist.txt: Mention it.
34561
34562 2008-10-23  David Lutterkort  <lutter@redhat.com>
34563
34564         * modules/selinux-h: Search for LIB_SELINUX and mark it as a
34565         link requirement
34566
34567 2008-10-23  Jim Meyering  <meyering@redhat.com>
34568
34569         selinux-h: mark parameters of stub functions as intentionally unused
34570         * lib/se-selinux.in.h: Mark parameters as _UNUSED_PARAMETER_.
34571         * lib/se-context.in.h: Likewise.
34572
34573 2008-10-22  Simon Josefsson  <simon@josefsson.org>
34574
34575         * lib/sys_socket.in.h (FD_ISSET): Fix warnings under mingw.
34576
34577 2008-10-22  Simon Josefsson  <simon@josefsson.org>
34578
34579         * m4/getgroups.m4: Avoid invoking test with wrong parameters.
34580
34581 2008-10-22  Eric Blake  <ebb9@byu.net>
34582
34583         glthread/thread: avoid compiler warning
34584         * lib/glthread/thread.c (gl_thread_exit_func) [USE_WIN32_THREADS]:
34585         Add unreachable abort to silence compiler.
34586
34587 2008-10-22  Eric Blake  <ebb9@byu.net>
34588
34589         netdb: also supply struct addrinfo for cygwin 1.5.x
34590         * m4/netdb_h.m4 (gl_HEADER_NETDB): Check for incomplete header on
34591         older cygwin.
34592         * lib/netdb.in.h [!HAVE_STRUCT_ADDRINFO]: Also supply contents for
34593         cygwin.
34594         * doc/posix-headers/netdb.texi (netdb.h): Document this.
34595
34596 2008-10-22  Bruno Haible  <bruno@clisp.org>
34597
34598         * users.txt: Update entry about pspp.
34599
34600 2008-10-21  Bruno Haible  <bruno@clisp.org>
34601
34602         Simplification.
34603         * lib/sys_socket.in.h (_gl_close_fd_maybe_socket): Remove declaration.
34604         * lib/close.c (_gl_close_fd_maybe_socket): Make static.
34605
34606         Simplification.
34607         * lib/ioctl.c (ioctl): Don't undefine.
34608         * lib/socket.c (socket): Don't undefine.
34609
34610         Remove unused module indicator macros.
34611         * m4/sys_socket_h.m4 (gl_SYS_SOCKET_MODULE_INDICATOR): Don't define
34612         GNULIB_$1 as a C macro.
34613
34614         * doc/posix-functions/close.texi: Undo last change.
34615         * doc/posix-functions/ioctl.texi: Merge the two paragraphs about
34616         Windows platforms.
34617
34618 2008-10-21  Bruno Haible  <bruno@clisp.org>
34619
34620         Add gethostname() declaration to <unistd.h>.
34621         * lib/unistd.in.h (gethostname): New declaration.
34622         * lib/gethostname.c: Include <unistd.h>.
34623         * m4/gethostname.m4 (gl_FUNC_GETHOSTNAME): Require
34624         gl_UNISTD_H_DEFAULTS. Set HAVE_GETHOSTNAME.
34625         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize GNULIB_GETHOSTNAME
34626         and HAVE_GETHOSTNAME.
34627         * modules/gethostname (Depends-on): Add unistd.
34628         (configure.ac): Invoke gl_UNISTD_MODULE_INDICATOR.
34629         (Include): Specify <unistd.h>.
34630         * modules/unistd (Makefile.am): Substitute GNULIB_GETHOSTNAME and
34631         HAVE_GETHOSTNAME.
34632         * tests/test-gethostname.c: Include <unistd.h> first.
34633
34634 2008-10-21  Bruno Haible  <bruno@clisp.org>
34635
34636         * modules/poll-tests (Depends-on): Add sys_ioctl, ioctl.
34637         * modules/select-tests (Depends-on): Likewise.
34638         Reported by Simon Josefsson.
34639
34640 2008-10-21  Simon Josefsson  <simon@josefsson.org>
34641
34642         * lib/close.c: Add _gl_close_fd_maybe_socket from winsock.c.
34643         * lib/accept.c: New file, based on winsock.c.
34644         * lib/bind.c: New file, based on winsock.c.
34645         * lib/connect.c: New file, based on winsock.c.
34646         * lib/getpeername.c: New file, based on winsock.c.
34647         * lib/getsockname.c: New file, based on winsock.c.
34648         * lib/getsockopt.c: New file, based on winsock.c.
34649         * lib/ioctl.c: New file, based on winsock.c.
34650         * lib/listen.c: New file, based on winsock.c.
34651         * lib/recv.c: New file, based on winsock.c.
34652         * lib/recvfrom.c: New file, based on winsock.c.
34653         * lib/send.c: New file, based on winsock.c.
34654         * lib/sendto.c: New file, based on winsock.c.
34655         * lib/setsockopt.c: New file, based on winsock.c.
34656         * lib/shutdown.c: New file, based on winsock.c.
34657         * lib/socket.c: New file, based on winsock.c.
34658         * lib/w32sock.h: New file, based on winsock.c.
34659         * lib/winsock.c: Remove file.
34660         * modules/accept: Likewise.
34661         * modules/bind: Likewise.
34662         * modules/connect: Likewise.
34663         * modules/getpeername: Likewise.
34664         * modules/getsockname: Likewise.
34665         * modules/getsockopt: Likewise.
34666         * modules/ioctl: Likewise.
34667         * modules/listen: Likewise.
34668         * modules/recv: Likewise.
34669         * modules/recvfrom: Likewise.
34670         * modules/send: Likewise.
34671         * modules/sendto: Likewise.
34672         * modules/setsockopt: Likewise.
34673         * modules/shutdown: Likewise.
34674         * modules/socket: Use socket.c instead of winsock.c.
34675         * modules/sys_socket: Remove (unneeded?) dependency on winsock.c.
34676         * doc/posix-functions/accept.texi: Doc fix.
34677         * doc/posix-functions/bind.texi: Doc fix.
34678         * doc/posix-functions/close.texi: Doc fix.
34679         * doc/posix-functions/connect.texi: Doc fix.
34680         * doc/posix-functions/getpeername.texi: Doc fix.
34681         * doc/posix-functions/getsockname.texi: Doc fix.
34682         * doc/posix-functions/getsockopt.texi: Doc fix.
34683         * doc/posix-functions/ioctl.texi: Doc fix.
34684         * doc/posix-functions/listen.texi: Doc fix.
34685         * doc/posix-functions/recv.texi: Doc fix.
34686         * doc/posix-functions/recvfrom.texi: Doc fix.
34687         * doc/posix-functions/send.texi: Doc fix.
34688         * doc/posix-functions/sendto.texi: Doc fix.
34689         * doc/posix-functions/setsockopt.texi: Doc fix.
34690         * doc/posix-functions/shutdown.texi: Doc fix.
34691         * doc/posix-functions/socket.texi: Doc fix.
34692
34693 2008-10-20  Bruno Haible  <bruno@clisp.org>
34694
34695         Take into account the role of SIGABRT_COMPAT on Windows 2008.
34696         * lib/sigprocmask.c (SIGABRT_COMPAT, SIGABRT_COMPAT_MASK): New macros.
34697         (sigismember, sigaddset, sigdelset, sigfillset, rpl_signal): Handle it
34698         as an alias for SIGABRT.
34699         * lib/sigaction.c (SIGABRT_COMPAT): New macro.
34700         (sigaction): Map it to SIGABRT.
34701         Reported by Ramiro Polla <ramiro.polla@gmail.com> via Eric Blake.
34702
34703 2008-10-20  Bruno Haible  <bruno@clisp.org>
34704
34705         * lib/fts.c: Don't include lstat.h.
34706         * lib/openat.c: Include <sys/stat.h> instead of lstat.h.
34707
34708         Move the lstat() declaration to <sys/stat.h>.
34709         * lib/lstat.h: Remove file.
34710         * lib/sys_stat.in.h: Add special invocation convention.
34711         (lstat): New declaration.
34712         * lib/lstat.c (orig_lstat): New function.
34713         (rpl_lstat): Use orig_lstat instead of lstat.
34714         * m4/lstat.m4 (gl_FUNC_LSTAT): Require gl_SYS_STAT_H_DEFAULTS and
34715         AC_C_INLINE. Set REPLACE_LSTAT.
34716         * m4/sys_stat_h.m4 (gl_SYS_STAT_H_DEFAULTS): Initialize GNULIB_LSTAT
34717         and REPLACE_LSTAT.
34718         * modules/lstat (Files): Remove lib/lstat.h.
34719         (configure.ac): Invoke gl_SYS_STAT_MODULE_INDICATOR.
34720         (Include): Specify <sys/stat.h> instead of lstat.h.
34721         * modules/sys_stat (Makefile.am): Substitute GNULIB_LSTAT and
34722         REPLACE_LSTAT.
34723         * NEWS: Mention the change.
34724
34725 2008-10-20  Bruno Haible  <bruno@clisp.org>
34726
34727         * modules/posix_spawn-tests: New file.
34728         * tests/test-posix_spawn3.c: New file.
34729
34730 2008-10-20  Bruno Haible  <bruno@clisp.org>
34731
34732         * modules/posix_spawnp-tests (Depends-on): Add sys_wait.
34733         * tests/test-posix_spawn1.c (WTERMSIG, WCOREDUMP, WEXITSTATUS,
34734         WIFSIGNALED, WIFEXITED, WIFSTOPPED): Remove fallback definitions.
34735         * tests/test-posix_spawn2.c (WTERMSIG, WCOREDUMP, WEXITSTATUS,
34736         WIFSIGNALED, WIFEXITED, WIFSTOPPED): Likewise.
34737
34738 2008-10-20  Bruno Haible  <bruno@clisp.org>
34739
34740         * m4/posix_spawn.m4 (gl_POSIX_SPAWN_WORKS): Test against another bug
34741         of posix_spawn on AIX 5.3.
34742
34743 2008-10-20  Bruno Haible  <bruno@clisp.org>
34744
34745         * m4/posix_spawn.m4 (gl_POSIX_SPAWN_WORKS): Make the check on MacOS X.
34746
34747 2008-10-20  Bruno Haible  <bruno@clisp.org>
34748
34749         * m4/posix_spawn.m4 (gl_POSIX_SPAWN_WORKS): Use AC_LANG_SOURCE instead
34750         of AC_LANG_PROGRAM.
34751
34752 2008-10-20  Simon Josefsson  <simon@josefsson.org>
34753
34754         * lib/netdb.in.h: Don't define GNU specific constants until they
34755         are supported or needed.  Reported by Bruno Haible
34756         <bruno@clisp.org>.
34757
34758 2008-10-20  Simon Josefsson  <simon@josefsson.org>
34759
34760         * lib/canon-host.c: Include netdb.h instead of getaddrinfo.h.
34761
34762 2008-10-20  Simon Josefsson  <simon@josefsson.org>
34763
34764         * lib/getaddrinfo.h: Remove file.
34765         * modules/getaddrinfo: Reflect move from getaddrinfo.h to netdb.h.
34766         * m4/getaddrinfo.m4: Call gl_HEADER_NETDB.  Don't check for netdb.h.
34767         * lib/netdb.in.h: Add declarations from getaddrinfo.h.
34768         * m4/netdb_h.m4: Initialize GNULIB_GETADDRINFO to 0.
34769         * modules/netdb: Substitute GNULIB_GETADDRINFO.
34770         * lib/getaddrinfo.c: Include netdb.h instead of getaddrinfo.h.
34771         * tests/test-getaddrinfo.c: Likewise.
34772         * lib/gai_strerror.c: Likewise.  Also drop HAVE_NETDB_H check.
34773         * NEWS: Mention change.
34774
34775 2008-10-19  Bruno Haible  <bruno@clisp.org>
34776
34777         * m4/posix_spawn.m4 (gl_POSIX_SPAWN_WORKS): Remove unneeded code.
34778
34779 2008-10-19  Bruno Haible  <bruno@clisp.org>
34780
34781         * lib/wait-process.c: Include simply <sys/wait.h>.
34782         (waitpid, WTERMSIG, WCOREDUMP, WEXITSTATUS, WIFSIGNALED, WIFEXITED,
34783         WIFSTOPPED): Remove fallback definitions.
34784         * modules/wait-process (Depends-on): Add sys_wait.
34785
34786         New module 'sys_wait'.
34787         * modules/sys_wait: New file.
34788         * lib/sys_wait.in.h: New file, partially copied from
34789         lib/wait-process.c.
34790         * m4/sys_wait_h.m4: New file.
34791         * doc/posix-headers/sys_wait.texi: Mention the new module.
34792
34793 2008-10-19  Bruno Haible  <bruno@clisp.org>
34794
34795         * m4/wait-process.m4 (gl_WAIT_PROCESS): Remove test for unistd.h.
34796
34797 2008-10-19  Bruno Haible  <bruno@clisp.org>
34798
34799         Assume that waitpid() fills an 'int' status, not a 'union wait'.
34800         * lib/wait-process.c (WAIT_T): Remove type.
34801         (WTERMSIG, WCOREDUMP, WEXITSTATUS): Define fallbacks using bit masks.
34802         (wait_subprocess): Update.
34803
34804 2008-10-19  Bruno Haible  <bruno@clisp.org>
34805
34806         New module 'atoll'.
34807         * modules/atoll: New file.
34808         * lib/stdlib.in.h (atoll): New declaration.
34809         * lib/atoll.c: New file, from glibc with modifications.
34810         * m4/atoll.m4: New file.
34811         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize GNULIB_ATOLL,
34812         HAVE_ATOLL.
34813         * modules/stdlib (Makefile.am): Substitute GNULIB_ATOLL, HAVE_ATOLL.
34814         * doc/posix-functions/atoll.texi: Mention the new module.
34815
34816 2008-10-19  Bruno Haible  <bruno@clisp.org>
34817
34818         Add strtoull() declaration to <stdlib.h>.
34819         * lib/stdlib.in.h (strtoull): New declaration.
34820         * m4/strtoull.m4 (gl_FUNC_STRTOLL): Require gl_STDLIB_H_DEFAULTS.
34821         Set HAVE_STRTOULL.
34822         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize GNULIB_STRTOULL,
34823         HAVE_STRTOULL.
34824         * modules/strtoull (Depends-on): Add stdlib.
34825         (configure.ac): Invoke gl_STDLIB_MODULE_INDICATOR.
34826         * modules/stdlib (Makefile.am): Substitute GNULIB_STRTOULL,
34827         HAVE_STRTOULL.
34828
34829 2008-10-19  Bruno Haible  <bruno@clisp.org>
34830
34831         Add strtoll() declaration to <stdlib.h>.
34832         * lib/stdlib.in.h (strtoll): New declaration.
34833         * m4/strtoll.m4 (gl_FUNC_STRTOLL): Require gl_STDLIB_H_DEFAULTS.
34834         Set HAVE_STRTOLL.
34835         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize GNULIB_STRTOLL,
34836         HAVE_STRTOLL.
34837         * modules/strtoll (Depends-on): Add stdlib.
34838         (configure.ac): Invoke gl_STDLIB_MODULE_INDICATOR.
34839         * modules/stdlib (Makefile.am): Substitute GNULIB_STRTOLL, HAVE_STRTOLL.
34840
34841 2008-10-19  Bruno Haible  <bruno@clisp.org>
34842
34843         * modules/bcopy (Depends-on): Add strings.
34844         (Include): Specify <strings.h>.
34845
34846 2008-10-19  Bruno Haible  <bruno@clisp.org>
34847
34848         * doc/posix-functions/atexit.texi: Update doc regarding mingw.
34849
34850 2008-10-19  Bruno Haible  <bruno@clisp.org>
34851
34852         * lib/openat-die.c (openat_save_fail, openat_restore_fail): Rename
34853         the parameter from 'errno' to 'errnum'. Fixes a compilation error on
34854         mingw.
34855
34856 2008-10-19  Bruno Haible  <bruno@clisp.org>
34857
34858         * lib/atanl.c: Don't include isnanl.h.
34859         * lib/cosl.c: Likewise.
34860         * lib/ldexpl.c: Likewise.
34861         * lib/logl.c: Likewise.
34862         * lib/sinl.c: Likewise.
34863         * lib/sqrtl.c: Likewise.
34864         * lib/tanl.c: Likewise.
34865
34866         Move the isnanf(), isnand(), isnanl() declarations to <math.h>.
34867         * lib/isnanf.h: Remove file.
34868         * lib/isnand.h: Remove file.
34869         * lib/isnanl.h: Remove file.
34870         * lib/math.in.h: Include the contents of lib/isnanf.h, lib/isnand.h,
34871         lib/isnanl.h. Use HAVE_ISNANF, HAVE_ISNAND, HAVE_ISNANL as substituted
34872         macros.
34873         * m4/isnanf.m4 (gl_FUNC_ISNANF): Require gl_MATH_H_DEFAULTS. Set
34874         HAVE_ISNANF, don't define it as a C macro.
34875         * m4/isnand.m4 (gl_FUNC_ISNAND): Require gl_MATH_H_DEFAULTS. Set
34876         HAVE_ISNAND, don't define it as a C macro.
34877         * m4/isnanl.m4 (gl_FUNC_ISNANL): Require gl_MATH_H_DEFAULTS. Set
34878         HAVE_ISNANL, don't define it as a C macro.
34879         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize GNULIB_ISNAN[FDL] and
34880         HAVE_ISNAN[FDL].
34881         * modules/isnanf (Files): Remove lib/isnanf.h.
34882         (Depends-on): Add math.
34883         (configure.ac): Invoke gl_MATH_MODULE_INDICATOR.
34884         (Include): Specify <math.h> instead of isnanf.h.
34885         * modules/isnand (Files): Remove lib/isnand.h.
34886         (Depends-on): Add math.
34887         (configure.ac): Invoke gl_MATH_MODULE_INDICATOR.
34888         (Include): Specify <math.h> instead of isnand.h.
34889         * modules/isnanl (Files): Remove lib/isnanl.h.
34890         (Depends-on): Add math.
34891         (configure.ac): Invoke gl_MATH_MODULE_INDICATOR.
34892         (Include): Specify <math.h> instead of isnanl.h.
34893         * modules/math (Makefile.am): Substitute GNULIB_ISNAN[FDL] and
34894         HAVE_ISNAN[FDL].
34895         * tests/test-isnanf.c: Include <math.h> instead of isnanf.h.
34896         * tests/test-isnand.c: Include <math.h> instead of isnand.h.
34897         * tests/test-isnanl.c: Include <math.h> instead of isnanl.h.
34898         * NEWS: Mention the change.
34899
34900 2008-10-18  Bruno Haible  <bruno@clisp.org>
34901
34902         Add getusershell(), setusershell(), endusershell() declarations to
34903         <unistd.h>.
34904         * lib/unistd.in.h (getusershell, setusershell, endusershell): New
34905         declarations.
34906         * lib/getusershell.c: Include unistd.h.
34907         * m4/getusershell.m4 (gl_FUNC_GETUSERSHELL): Require
34908         gl_UNISTD_H_DEFAULTS and AC_USE_SYSTEM_EXTENSIONS. Set
34909         HAVE_GETUSERSHELL.
34910         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize GNULIB_GETUSERSHELL
34911         and HAVE_GETUSERSHELL.
34912         * modules/getusershell (Depends-on): Add unistd, extensions.
34913         (configure.ac): Invoke gl_UNISTD_MODULE_INDICATOR.
34914         (Include): Specify <unistd.h>.
34915         * modules/unistd (Makefile.am): Substitute GNULIB_GETUSERSHELL and
34916         HAVE_GETUSERSHELL.
34917
34918 2008-10-18  Bruno Haible  <bruno@clisp.org>
34919
34920         Add a getloadavg() declaration to <stdlib.h>.
34921         * lib/stdlib.in.h; Include <sys/loadavg.h> when needed for the
34922         getloadavg declaration.
34923         (getloadavg): New declaration.
34924         * lib/getloadavg.c: Include <stdlib.h> first.
34925         * m4/getloadavg.m4 (gl_GETLOADAVG): Require gl_STDLIB_H_DEFAULTS and
34926         AC_USE_SYSTEM_EXTENSIONS. Test whether sys/loadavg.h exists. Set
34927         HAVE_SYS_LOADAVG_H and HAVE_DECL_GETLOADAVG.
34928         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize GNULIB_GETLOADAVG,
34929         HAVE_SYS_LOADAVG_H, HAVE_DECL_GETLOADAVG.
34930         * modules/getloadavg (Depends-on): Add stdlib, extensions.
34931         (configure.ac): Invoke gl_STDLIB_MODULE_INDICATOR.
34932         (Include): Specify <stdlib.h>.
34933         * modules/stdlib (Makefile.am): Substitute GNULIB_GETLOADAVG,
34934         HAVE_SYS_LOADAVG_H, HAVE_DECL_GETLOADAVG.
34935
34936 2008-10-18  Bruno Haible  <bruno@clisp.org>
34937
34938         * lib/dirchownmod.c: Don't include lchmod.h.
34939
34940         Move the lchmod() declaration to <sys/stat.h>.
34941         * lib/lchmod.h: Remove file.
34942         * lib/sys_stat.in.h: Add placeholder for GL_LINK_WARNING.
34943         (lchmod): New declaration, moved here from lib/lchown.h.
34944         * m4/lchmod.m4 (gl_FUNC_LCHMOD): Require gl_SYS_STAT_H_DEFAULTS and
34945         AC_USE_SYSTEM_EXTENSIONS. Set HAVE_LCHMOD.
34946         * m4/sys_stat_h.m4 (gl_SYS_STAT_H_DEFAULTS): Initialize GNULIB_LCHMOD
34947         and HAVE_LCHMOD.
34948         * modules/lchmod (Files): Remove lib/lchmod.h.
34949         (Depends-on): Add sys_stat, extensions.
34950         (configure.ac): Invoke gl_SYS_STAT_MODULE_INDICATOR.
34951         (Include): Specify <sys/stat.h> instead of lchmod.h.
34952         * modules/sys_stat (Depends-on): Add link-warning.
34953         (Makefile.am): Substitute GNULIB_LCHMOD, HAVE_LCHMOD, and the
34954         definition of GL_LINK_WARNING.
34955         * NEWS: Mention the change.
34956
34957 2008-10-18  Bruno Haible  <bruno@clisp.org>
34958
34959         * lib/fchdir.c: Don't include dirfd.h.
34960         * lib/fts.c: Likewise.
34961         * lib/getcwd.c: Likewise.
34962         * lib/glob.c: Likewise.
34963
34964         Move the dirfd() declaration to <dirent.h>.
34965         * lib/dirfd.h: Remove file.
34966         * lib/dirent.in.h: Add placeholder for GL_LINK_WARNING.
34967         (dirfd): New declaration.
34968         * lib/dirfd.c: Include <dirent.h> instead of dirfd.h.
34969         * m4/dirfd.m4 (gl_FUNC_DIRFD): Require gl_DIRENT_H_DEFAULTS and
34970         AC_USE_SYSTEM_EXTENSIONS. Invoke gl_REPLACE_DIRENT_H. Set
34971         HAVE_DECL_DIRFD.
34972         * m4/dirent_h.m4 (gl_DIRENT_H_DEFAULTS): Initialize GNULIB_DIRFD and
34973         HAVE_DECL_DIRFD.
34974         * modules/dirfd (Files): Remove lib/dirfd.h.
34975         (Depends-on): Add dirent, extensions.
34976         (configure.ac): Invoke gl_DIRENT_MODULE_INDICATOR.
34977         (Include): Specify <dirent.h> instead of dirfd.h.
34978         * modules/dirent (Depends-on): Add link-warning.
34979         (Makefile.am): Substitute GNULIB_DIRFD, HAVE_DECL_DIRFD, and
34980         definition of GL_LINK_WARNING.
34981         * NEWS: Mention the change.
34982
34983 2008-10-18  Bruno Haible  <bruno@clisp.org>
34984
34985         Move the euidaccess() declaration to <unistd.h>.
34986         * lib/euidaccess.h: Remove file.
34987         * lib/unistd.in.h (euidaccess): New declaration.
34988         * lib/euidaccess.c: Don't include euidaccess.h.
34989         * m4/euidaccess.m4 (gl_FUNC_EUIDACCESS): Require gl_UNISTD_H_DEFAULTS.
34990         Don't check whether euidaccess is declared. Set HAVE_EUIDACCESS.
34991         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize GNULIB_EUIDACCESS
34992         and HAVE_EUIDACCESS.
34993         * modules/euidaccess (Files): Remove lib/euidaccess.h.
34994         (Depends-on): Add unistd.
34995         (configure.ac): Invoke gl_UNISTD_MODULE_INDICATOR.
34996         (Include): Specify <unistd.h> instead of euidaccess.h.
34997         * modules/unistd (Makefile.am): Substitute GNULIB_EUIDACCESS and
34998         HAVE_EUIDACCESS.
34999         * NEWS: Mention the change.
35000
35001 2008-10-18  Bruno Haible  <bruno@clisp.org>
35002
35003         * lib/xgetdomainname.c: Include <unistd.h> instead of getdomainname.h.
35004
35005         Move the getdomainname() declaration to <unistd.h>.
35006         * lib/getdomainname.h: Remove file.
35007         * lib/unistd.in.h (getdomainname): New declaration.
35008         * lib/getdomainname.c: Include <unistd.h> instead of getdomainname.h.
35009         * m4/getdomainname.m4 (gl_FUNC_GETDOMAINNAME): Require
35010         gl_UNISTD_H_DEFAULTS and AC_USE_SYSTEM_EXTENSIONS. Set
35011         HAVE_GETDOMAINNAME.
35012         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize
35013         GNULIB_GETDOMAINNAME and HAVE_GETDOMAINNAME.
35014         * modules/getdomainname (Files): Remove lib/getdomainname.h.
35015         (Depends-on): Add unistd, extensions.
35016         (configure.ac): Invoke gl_UNISTD_MODULE_INDICATOR.
35017         (Includes): Specify <unistd.h> instead of getdomainname.h.
35018         * modules/unistd (Makefile.am): Substitute GNULIB_GETDOMAINNAME and
35019         HAVE_GETDOMAINNAME.
35020         * NEWS: Mention the change.
35021
35022 2008-10-18  Bruno Haible  <bruno@clisp.org>
35023
35024         * modules/dirent: New file.
35025         * m4/dirent_h.m4: New file.
35026         * m4/fchdir.m4 (gl_FUNC_FCHDIR): Require gl_DIRENT_H_DEFAULTS.
35027         Invoke gl_REPLACE_DIRENT_H. Don't assign DIRENT_H directly.
35028         * modules/fchdir (Files): Remove lib/dirent.in.h.
35029         (Depends-on): Add dirent.
35030         (Makefile.am): Move rules to modules/dirent.
35031         * doc/posix-headers/dirent.texi: Mention the new module.
35032
35033 2008-10-18  Bruno Haible  <bruno@clisp.org>
35034
35035         Avoid -Wunused-parameter warnings in public gnulib header files.
35036         * m4/gnulib-common.m4 (gl_COMMON_BODY): Define _UNUSED_PARAMETER_ as a
35037         macro.
35038         * lib/unistr.h (u32_mbtouc_unsafe, u32_mbtouc): Use it.
35039
35040 2008-10-18  Bruno Haible  <bruno@clisp.org>
35041
35042         * doc/glibc-functions/dirfd.texi: Mention the module 'dirfd'.
35043         * doc/glibc-functions/error.texi: Mention the module 'error'.
35044         * doc/glibc-functions/euidaccess.texi: Mention the module 'euidaccess'.
35045         * doc/glibc-functions/getdomainname.texi: Mention the module
35046         'getdomainname'.
35047         * doc/glibc-functions/getloadavg.texi: Mention the module 'getloadavg'.
35048         * doc/glibc-functions/getpagesize.texi: Mention the module
35049         'getpagesize'.
35050         * doc/glibc-functions/getusershell.texi: Mention the module
35051         'getusershell'.
35052         * doc/glibc-functions/isnanl.texi: Mention the module 'isnanl'.
35053         * doc/glibc-functions/lchmod.texi: Mention the module 'lchmod'.
35054         * doc/glibc-functions/mempcpy.texi: Mention the module 'mempcpy'.
35055         * doc/glibc-functions/memrchr.texi: Mention the module 'memrchr'.
35056         * doc/glibc-functions/mkdtemp.texi: Mention the module 'mkdtemp'.
35057         * doc/glibc-functions/rpmatch.texi: Mention the module 'rpmatch'.
35058         * doc/glibc-functions/stpcpy.texi: Mention the module 'stpcpy'.
35059         * doc/glibc-functions/stpncpy.texi: Mention the module 'stpncpy'.
35060         * doc/glibc-functions/strchrnul.texi: Mention the module 'strchrnul'.
35061         * doc/glibc-functions/strndup.texi: Mention the module 'strndup'.
35062         * doc/glibc-functions/strnlen.texi: Mention the module 'strnlen'.
35063         * doc/glibc-functions/strsep.texi: Mention the module 'strsep'.
35064         * doc/glibc-functions/timegm.texi: Mention the module 'timegm'.
35065         * doc/glibc-functions/vasprintf.texi: Mention the module 'vasprintf'.
35066
35067 2008-10-17  Bruno Haible  <bruno@clisp.org>
35068
35069         * m4/signbit.m4 (gl_SIGNBIT_TEST_PROGRAM): On platforms other than
35070         HP-UX and IRIX, use -0.0L.
35071         * tests/test-ceill.c (minus_zero): Likewise.
35072         * tests/test-floorl.c (minus_zero): Likewise.
35073         * tests/test-frexpl.c (minus_zero): Likewise.
35074         * tests/test-isnan.c (minus_zerol): Likewise.
35075         * tests/test-isnanl.h (minus_zero): Likewise.
35076         * tests/test-ldexpl.c (minus_zero): Likewise.
35077         * tests/test-roundl.c (minus_zero): Likewise.
35078         * tests/test-signbit.c (minus_zerol): Likewise.
35079         * tests/test-snprintf-posix.h (minus_zerol): Likewise.
35080         * tests/test-sprintf-posix.h (minus_zerol): Likewise.
35081         * tests/test-truncl.c (minus_zero): Likewise.
35082         * tests/test-vasnprintf-posix.c (minus_zerol): Likewise.
35083         * tests/test-vasprintf-posix.c (minus_zerol): Likewise.
35084         Reported by Markus Armbruster <armbru@redhat.com> via Jim Meyering
35085         and by Nelson H. F. Beebe <beebe@math.utah.edu> via Eric Blake.
35086
35087 2008-10-17  Bruno Haible  <bruno@clisp.org>
35088
35089         Avoid gcc warnings because of #pragma GCC system_header on older gcc.
35090         * lib/arpa_inet.in.h: Encloses reference to PRAGMA_SYSTEM_HEADER so
35091         that it gets activated only for gcc >= 3.0.
35092         * lib/dirent.in.h: Likewise.
35093         * lib/errno.in.h: Likewise.
35094         * lib/fcntl.in.h: Likewise.
35095         * lib/float.in.h: Likewise.
35096         * lib/iconv.in.h: Likewise.
35097         * lib/inttypes.in.h: Likewise.
35098         * lib/locale.in.h: Likewise.
35099         * lib/math.in.h: Likewise.
35100         * lib/netdb.in.h: Likewise.
35101         * lib/netinet_in.in.h: Likewise.
35102         * lib/search.in.h: Likewise.
35103         * lib/signal.in.h: Likewise.
35104         * lib/spawn.in.h: Likewise.
35105         * lib/stdarg.in.h: Likewise.
35106         * lib/stdint.in.h: Likewise.
35107         * lib/stdio.in.h: Likewise.
35108         * lib/stdlib.in.h: Likewise.
35109         * lib/string.in.h: Likewise.
35110         * lib/strings.in.h: Likewise.
35111         * lib/sys_file.in.h: Likewise.
35112         * lib/sys_ioctl.in.h: Likewise.
35113         * lib/sys_select.in.h: Likewise.
35114         * lib/sys_socket.in.h: Likewise.
35115         * lib/sys_stat.in.h: Likewise.
35116         * lib/sys_time.in.h: Likewise.
35117         * lib/sysexits.in.h: Likewise.
35118         * lib/time.in.h: Likewise.
35119         * lib/unistd.in.h: Likewise.
35120         * lib/wchar.in.h: Likewise.
35121         * lib/wctype.in.h: Likewise.
35122         Reported by Yoann Vandoorselaere <yoann.v@prelude-ids.com>.
35123
35124 2008-10-17  Jim Meyering  <meyering@redhat.com>
35125
35126         ignore-value: don't depend on inline module
35127         * modules/ignore-value (Depends-on): Remove 'inline'.
35128         (configure.ac): Instead, add AC_REQUIRE([AC_C_INLINE]) here.
35129         Suggestion from Bruno Haible.
35130
35131 2008-10-17  Bruno Haible  <bruno@clisp.org>
35132
35133         New implementation of condition variables for Win32.
35134         * lib/glthread/cond.h (struct gl_waitqueue_link): New type.
35135         (gl_linked_waitqueue_t): New type.
35136         (gl_cond_t): Use it.
35137         * lib/glthread/cond.c (struct gl_waitqueue_element): New type.
35138         (gl_waitqueue_init, gl_waitqueue_add, gl_waitqueue_remove,
35139         gl_waitqueue_notify_first, gl_waitqueue_notify_all): New functions.
35140         (glthread_cond_init_func, glthread_cond_wait_func,
35141         glthread_cond_timedwait_func, glthread_cond_signal_func,
35142         glthread_cond_broadcast_func, glthread_cond_destroy_func):
35143         Reimplemented on the basis of gl_linked_waitqueue_t.
35144         * lib/glthread/lock.h (gl_carray_waitqueue_t): Renamed from
35145         gl_waitqueue_t.
35146         (gl_rwlock_t): Update.
35147         * lib/glthread/lock.c (gl_waitqueue_t): Alias to gl_carray_waitqueue_t.
35148
35149 2008-10-17  Simon Josefsson  <simon@josefsson.org>
35150
35151         * modules/recvfrom (Depends-on): Add dependency on getpeername.
35152         Reported by Yoann Vandoorselaere <yoann@prelude-ids.org>.
35153
35154 2008-10-17  Jim Meyering  <meyering@redhat.com>
35155
35156         ignore-value: new module
35157         * modules/ignore-value: New file.
35158         * lib/ignore-value.h: New file.
35159         * MODULES.html.sh (Compiler warning management): New section,
35160         just for this module.  More to come.
35161
35162 2008-10-16  Paul Eggert  <eggert@cs.ucla.edu>
35163
35164         open-safer.c: avoid 'signed and unsigned in conditional...' warning
35165         * lib/open-safer.c (open_safer): Use an "if/else" statement in place
35166         of the ternary operator.  Reported by Reuben Thomas <rrt@sc3d.org>.
35167
35168 2008-10-16  Jim Meyering  <meyering@redhat.com>
35169
35170         openat-die.c: avoid 'no previous prototype' warning
35171         * lib/openat-die.c: Include "openat.h".
35172         Reported by Reuben Thomas <rrt@sc3d.org>.
35173
35174 2008-10-16  Simon Josefsson  <simon@josefsson.org>
35175
35176         * m4/netdb_h.m4: Assume that if netdb.h exists, it works.
35177         * lib/netdb.in.h: Fix typo.
35178         Reported by Bruno Haible  <bruno@clisp.org>
35179
35180         * lib/netdb.in.h: Include sys/socket.h for platforms without
35181         netdb.h, to get structures like hostent on MinGW.
35182         * modules/netdb (Depends-on): Add sys_socket.
35183
35184 2008-10-15  Simon Josefsson  <simon@josefsson.org>
35185
35186         * modules/netdb, modules/netdb-tests: New file.
35187         * m4/netdb_h.m4: New file.
35188         * lib/netdb.in.h: Add, currently just an empty file pending
35189         definitions.
35190         * tests/test-netdb.c: New file.
35191         * doc/posix-headers/netdb.texi: Mention that we replace it if
35192         needed.
35193         * MODULES.html.sh (Support for systems lacking POSIX:2001): Add
35194         netdb.
35195
35196 2008-10-15  Simon Josefsson  <simon@josefsson.org>
35197
35198         * doc/gnulib.texi (Getaddrinfo and WINVER): Sync documentation
35199         with code.
35200
35201 2008-10-13  Bruno Haible  <bruno@clisp.org>
35202
35203         * lib/glthread/cond.c (glthread_cond_wait_func,
35204         glthread_cond_timedwait_func): Add a comment.
35205
35206 2008-10-13  Yoann Vandoorselaere  <yoann@prelude-ids.org>
35207
35208         * tests/test-poll.c: Include <sys/ioctl.h>, for ioctl().
35209         * tests/test-select.c: Likewise,
35210
35211 2008-10-13  Bruno Haible  <bruno@clisp.org>
35212
35213         * lib/glthread/cond.c (glthread_cond_wait_func,
35214         glthread_cond_timedwait_func): Fix variable name.
35215         Reported by Yoann Vandoorselaere <yoann@prelude-ids.org>.
35216
35217 2008-10-13  Paolo Bonzini  <bonzini@gnu.org>
35218
35219         fix getaddrinfo emulation for systems with struct sockaddr.sa_len
35220         * m4/getaddrinfo.m4 (gl_PREREQ_GETADDRINFO): Detect
35221         struct sockaddr.sa_len.
35222         * lib/getaddrinfo.c (getaddrinfo): Set it if appropriate.
35223
35224 2008-10-13  Simon Josefsson  <simon@josefsson.org>
35225
35226         * build-aux/pmccabe2html: Add css and css_url parameters.
35227
35228 2008-10-12  Bruno Haible  <bruno@clisp.org>
35229
35230         * tests/test-sameacls.c (main) [AIX]: Clear type argument before
35231         calling aclx_get.
35232         Reported by Rainer Tammer <tammer@tammer.net>.
35233
35234 2008-10-12  Bruno Haible  <bruno@clisp.org>
35235
35236         Use msvcrt aware primitives for creation/termination of Win32 threads.
35237         * lib/glthread/thread.c: Include <process.h>.
35238         (glthread_create_func): Use _beginthreadex instead of CreateThread.
35239         (wrapper_func): Update signature.
35240         (gl_thread_exit_func): Use _endthreadex instead of EndThread.
35241
35242 2008-10-11  Yoann Vandoorselaere  <yoann@prelude-ids.org>
35243             Bruno Haible  <bruno@clisp.org>
35244
35245         Provide a Win32 implementation of the 'cond' module.
35246         * lib/glthread/cond.h [USE_WIN32]: New implementation.
35247         * lib/glthread/cond.c (glthread_cond_init_func,
35248         glthread_cond_wait_func, glthread_cond_timedwait_func,
35249         glthread_cond_signal_func, glthread_cond_broadcast_func,
35250         glthread_cond_destroy_func) [USE_WIN32]: New functions.
35251         * modules/cond (Dependencies): Add gettimeofday.
35252
35253 2008-10-11  Bruno Haible  <bruno@clisp.org>
35254
35255         Make sleep work on older versions of mingw.
35256         * m4/sleep.m4 (gl_FUNC_SLEEP): Test whether 'sleep' is declared, not
35257         only whether it exists.
35258         * doc/posix-functions/sleep.texi: Mention the problem with older
35259         versions of mingw.
35260
35261 2008-10-11  Bruno Haible  <bruno@clisp.org>
35262
35263         New module 'shutdown'.
35264         * modules/shutdown: New file.
35265         * lib/sys_socket.in.h (shutdown): New declaration.
35266         * lib/winsock.c (shutdown): New function.
35267         * m4/sys_socket_h.m4 (gl_SYS_SOCKET_H_DEFAULTS): Initialize
35268         GNULIB_SHUTDOWN.
35269         * modules/sys_socket (Makefile.am): Substitute GNULIB_SHUTDOWN.
35270         * doc/posix-functions/shutdown.texi: Document the new module.
35271
35272 2008-10-11  Jim Meyering  <meyering@redhat.com>
35273
35274         * lib/fclose.c: Fix typo in comment: s/close/fclose/.
35275
35276 2008-10-11  Bruno Haible  <bruno@clisp.org>
35277
35278         New module 'fclose'.
35279         * modules/fclose: New file.
35280         * lib/stdio.in.h (fclose): New declaration.
35281         * lib/fclose.c: New file.
35282         * m4/fclose.m4: New file.
35283         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Initialize GNULIB_FCLOSE,
35284         REPLACE_FCLOSE.
35285         * m4/close.m4 (gl_REPLACE_CLOSE): Invoke gl_REPLACE_FCLOSE.
35286         * modules/stdio (Makefile.am): Substitute GNULIB_FCLOSE,
35287         REPLACE_FCLOSE.
35288         * modules/close (Depends-on): fclose.
35289         * doc/posix-functions/fclose.texi: Mention the problem on Windows.
35290
35291 2008-10-11  Bruno Haible  <bruno@clisp.org>
35292
35293         * lib/winsock.c (_gl_close_fd_maybe_socket): If closesocket fails,
35294         set errno and don't call _close.
35295
35296 2008-10-10  Bruno Haible  <bruno@clisp.org>
35297
35298         * lib/copy-acl.c (qcopy_acl) [CYGWIN]: Call chmod before setting the
35299         ACL, not afterwards. Fixes test failure on Cygwin.
35300
35301 2008-10-09  Ben Pfaff  <blp@gnu.org>
35302
35303         * build-aux/announce-gen: Fix gnulib version related part of usage
35304         message.  Die with a useful error message if no tarballs are
35305         found.
35306
35307 2008-10-10  Jim Meyering  <meyering@redhat.com>
35308
35309         bootstrap: use git's --depth=N option only if it's supported
35310         * build-aux/bootstrap: Work with git-1.4.4.4, which does not
35311         recognize the --depth option.  Reported by Pádraig Brady.
35312
35313 2008-10-09  Bruno Haible  <bruno@clisp.org>
35314
35315         New module 'ioctl'.
35316         * modules/ioctl: New file.
35317         * lib/sys_socket.in.h (ioctl): Remove declaration.
35318         * lib/winsock.c: Include <sys/ioctl.h>.
35319         (rpl_ioctl): Define only of the gnulib module 'ioctl' is present.
35320         * m4/sys_socket_h.m4 (gl_PREREQ_SYS_H_WINSOCK2): Require
35321         gl_SYS_IOCTL_H_DEFAULTS. Set also SYS_IOCTL_H_HAVE_WINSOCK2_H.
35322         * modules/sys_socket (Files): Add m4/sys_ioctl_h.m4.
35323         * doc/posix-functions/ioctl.texi: Mention the new module.
35324
35325 2008-10-09  Bruno Haible  <bruno@clisp.org>
35326
35327         New module 'sys_ioctl'.
35328         * lib/sys_ioctl.in.h: New file.
35329         * m4/sys_ioctl_h.m4: New file.
35330         * modules/sys_ioctl: New file.
35331         * doc/glibc-headers/sys_ioctl.texi: Mention the new module.
35332
35333 2008-10-09  Bruno Haible  <bruno@clisp.org>
35334
35335         * lib/sys_socket.in.h (ioctl): Make signature POSIX compliant.
35336         * lib/winsock.c: Include <stdarg.h>.
35337         (rpl_ioctl): Change to second argument 'int' and then varargs.
35338
35339 2008-10-09  Bruno Haible  <bruno@clisp.org>
35340
35341         * m4/close.m4 (gl_FUNC_CLOSE): Arrange to replace the close() function
35342         when the sys_socket module is present and the system has <winsock2.h>.
35343
35344 2008-10-09  Bruno Haible  <bruno@clisp.org>
35345
35346         * doc/posix-functions/close.texi: Mention module 'close' instead of
35347         module 'sys_socket'.
35348
35349 2008-10-09  Bruno Haible  <bruno@clisp.org>
35350
35351         * doc/glibc-headers/sys_ioctl.texi: New file.
35352         * doc/gnulib.texi: Include it.
35353
35354 2008-10-09  Paolo Bonzini  <bonzini@gnu.org>
35355             Bruno Haible  <bruno@clisp.org>
35356
35357         Combine the two replacements of 'close'.
35358         * lib/sys_socket.in.h (close): Define to a reminder to include
35359         <unistd.h>.
35360         (_gl_close_fd_maybe_socket): New declaration.
35361         (HAVE__GL_CLOSE_FD_MAYBE_SOCKET): New macro.
35362         * lib/winsock.c (close): Remove undefinition.
35363         (_gl_close_fd_maybe_socket): Renamed from rpl_close. Define only when
35364         needed for the gnulib module 'close'.
35365         * lib/unistd.in.h (close): If the gnulib module 'close' is not used,
35366         define to an error symbol or to a warning, if suitable.
35367         * lib/close.c: Include <sys/socket.h>.
35368         (rpl_close): Invoke _gl_close_fd_maybe_socket when gnulib defines it.
35369         * m4/sys_socket_h.m4 (gl_PREREQ_SYS_H_WINSOCK2): Set also
35370         UNISTD_H_HAVE_WINSOCK2_H.
35371         (gl_SYS_SOCKET_H_DEFAULTS): Require gl_UNISTD_H_DEFAULTS.
35372         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize
35373         UNISTD_H_HAVE_WINSOCK2_H.
35374         * modules/sys_socket (Files): Add m4/unistd_h.m4.
35375         (configure.ac): Set a module indicator.
35376         (Makefile.am): Substitute GNULIB_CLOSE.
35377         * modules/unistd (Makefile.am): Substitute UNISTD_H_HAVE_WINSOCK2_H.
35378         * modules/poll-tests (Depends-on): Add close.
35379         * modules/select-tests (Depends-on): Likewise.
35380
35381 2008-10-09  Paolo Bonzini  <bonzini@gnu.org>
35382             Bruno Haible  <bruno@clisp.org>
35383
35384         New module 'close'.
35385         * modules/close: New file.
35386         * lib/unistd.in.h (close): Move declaration out of the
35387         FCHDIR_REPLACEMENT scope.
35388         (_gl_unregister_fd): New declaration.
35389         * lib/close.c: New file.
35390         * lib/fchdir.c (rpl_close): Remove function.
35391         * m4/close.m4: New file.
35392         * m4/fchdir.m4 (gl_FUNC_FCHDIR): When replacing fchdir, also replace
35393         close.
35394         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize GNULIB_CLOSE and
35395         REPLACE_CLOSE.
35396         * modules/unistd (Makefile.am): Substitute GNULIB_CLOSE and
35397         REPLACE_CLOSE.
35398         * modules/fchdir (Depends-on): Add close.
35399
35400 2008-10-09  Paolo Bonzini  <bonzini@gnu.org>
35401             Bruno Haible  <bruno@clisp.org>
35402
35403         * lib/fcntl.in.h (open): Simplify conditionals.
35404         (_gl_register_fd): New declaration.
35405         * lib/fchdir.c (rpl_open): Remove function.
35406         * lib/open.c: When FCHDIR_REPLACEMENT is defined, compile the file
35407         also.
35408         (open): When FCHDIR_REPLACEMENT is defined, invoke _gl_register_fd.
35409         * m4/fchdir.m4 (gl_FUNC_FCHDIR): When replacing fchdir, also replace
35410         open.
35411
35412 2008-10-09  Jim Meyering  <meyering@redhat.com>
35413
35414         GNUmakefile: use the more name-space-friendly "_version"
35415         * top/GNUmakefile (_dummy): Update.
35416         (_version): Rename from "version".
35417
35418 2008-10-09  Paolo Bonzini  <bonzini@gnu.org>
35419             Bruno Haible  <bruno@clisp.org>
35420
35421         * lib/fchdir.c (_gl_unregister_fd): New functions, extracted from
35422         rpl_close.
35423         (_gl_register_fd): New function, extracted from rpl_open.
35424         (rpl_close, rpl_closedir): Use _gl_unregister_fd.
35425         (rpl_open, rpl_opendir): Use _gl_register_fd.
35426
35427 2008-10-09  Paolo Bonzini  <bonzini@gnu.org>
35428
35429         Fix organization of 'open' replacement.
35430         * m4/open.m4 (gl_REPLACE_OPEN): New macro.
35431         (gl_FUNC_OPEN): Use it.
35432         (gl_PREREQ_OPEN): Add a : to make the body non-empty.
35433
35434 2008-10-08  Bruno Haible  <bruno@clisp.org>
35435
35436         * modules/getdate-tests (test_getdata_LDADD): Add LIBINTL.
35437
35438 2008-10-08  Simon Josefsson  <simon@josefsson.org>
35439
35440         * m4/sys_socket_h.m4: Don't AC_LIBOBJ(winsock).  The file is
35441         AC_LIBOBJ'ed by each gnulib module that needs it (e.g., socket,
35442         listen).
35443
35444 2008-10-08  Eric Blake  <ebb9@byu.net>
35445
35446         GNUmakefile: add 'make version' target
35447         * top/GNUmakefile (_curr-ver): Split version update rules...
35448         (version): ...into a target.
35449
35450 2008-10-07  Bruno Haible  <bruno@clisp.org>
35451
35452         Use a more portable replacement expression for -0.0L.
35453         * m4/signbit.m4 (gl_SIGNBIT_TEST_PROGRAM): Use -LDBL_MIN * LDBL_MIN
35454         instead of -0.0L. Fix m4 quotation.
35455
35456         * tests/test-signbit.c: Include <float.h>.
35457         (minus_zero): New variable.
35458         (test_signbitl): Use minus_zero instead of -zero.
35459         * modules/signbit-tests (Depends-on): Add float.
35460
35461         * tests/test-ceill.c: Include <float.h>.
35462         (zero): Remove variable.
35463         (minus_zero): New variable.
35464         (main): Use minus_zero instead of -zero.
35465         * modules/ceill-tests (Depends-on): Add float.
35466
35467         * tests/test-floorl.c: Include <float.h>.
35468         (zero): Remove variable.
35469         (minus_zero): New variable.
35470         (main): Use minus_zero instead of -zero.
35471         * modules/floorl-tests (Depends-on): Add float.
35472
35473         * tests/test-roundl.c: Include <float.h>.
35474         (zero): Remove variable.
35475         (minus_zero): New variable.
35476         (main): Use minus_zero instead of -zero.
35477         * modules/roundl-tests (Depends-on): Add float.
35478
35479         * tests/test-truncl.c: Include <float.h>.
35480         (zero): Remove variable.
35481         (minus_zero): New variable.
35482         (main): Use minus_zero instead of -zero.
35483         * modules/truncl-tests (Depends-on): Add float.
35484
35485         * tests/test-frexpl.c (zero): Remove variable.
35486         (minus_zero): New variable.
35487         (main): Use minus_zero instead of -zero.
35488         * modules/frexpl-tests (Depends-on): Add float.
35489
35490         * tests/test-isnan.c (zerol): Remove variable.
35491         (minus_zerol): New variable.
35492         (test_long_double): Use minus_zerol instead of -zerol.
35493         * modules/isnan-tests (Depends-on): Add float.
35494
35495         * tests/test-isnanl.h (zero): Remove variable.
35496         (minus_zero): New variable.
35497         (main): Use minus_zero instead of -zero.
35498         * modules/isnanl-nolibm-tests (Depends-on): Add float.
35499         * modules/isnanl-tests (Depends-on): Add float.
35500
35501         * tests/test-ldexpl.c (zero): Remove variable.
35502         (minus_zero): New variable.
35503         (main): Use minus_zero instead of -zero.
35504         * modules/ldexpl-tests (Depends-on): Add float.
35505
35506         * tests/test-snprintf-posix.h (zerol): Remove variable.
35507         (minus_zerol): New variable.
35508         (test_function): Use minus_zerol instead of -zerol.
35509         * modules/snprintf-posix-tests (Depends-on): Add float.
35510         * modules/vsnprintf-posix-tests (Depends-on): Add float.
35511
35512         * tests/test-sprintf-posix.h (zerol): Remove variable.
35513         (minus_zerol): New variable.
35514         (test_function): Use minus_zerol instead of -zerol.
35515         * modules/sprintf-posix-tests (Depends-on): Add float.
35516         * modules/vsprintf-posix-tests (Depends-on): Add float.
35517
35518         * tests/test-vasnprintf-posix.c (zerol): Remove variable.
35519         (minus_zerol): New variable.
35520         (test_function): Use minus_zerol instead of -zerol.
35521         * modules/vasnprintf-posix-tests (Depends-on): Add float.
35522
35523         * tests/test-vasprintf-posix.c (zerol): Remove variable.
35524         (minus_zerol): New variable.
35525         (test_function): Use minus_zerol instead of -zerol.
35526         * modules/vasprintf-posix-tests (Depends-on): Add float.
35527
35528 2008-10-07  Simon Josefsson  <simon@josefsson.org>
35529
35530         * MODULES.html.sh (Support for building documentation): Mention
35531         pmccabe2html.  Sort entries.
35532
35533         Add pmccabe2html module, from gnupdf.
35534         * build-aux/pmccabe.css: New file.
35535         * build-aux/pmccabe2html: New file.
35536         * m4/pmccabe2html.m4: New file.
35537         * modules/pmccabe2html: New file.
35538
35539 2008-10-07  Richard W.M. Jones <rjones@redhat.com>
35540
35541         flock: new module
35542         * MODULES.html.sh: Add to list of modules.
35543         * lib/flock.c: flock implementation for Windows and Unix systems
35544         which have fcntl.
35545         * doc/glibc-functions/flock.texi: Update documentation.
35546         * lib/sys_file.in.h: <sys/file.h> header file.
35547         * m4/flock.m4: M4 macros.
35548         * m4/sys_file_h.m4: M4 macros for replacement sys/file.h.
35549         * modules/flock: flock module.
35550         * modules/flock-tests: flock tests module.
35551         * modules/sys_file: sys/file.h module.
35552         * tests/test-flock.c: test suite for flock.
35553
35554 2008-10-06  Jim Meyering  <meyering@redhat.com>
35555
35556         bootstrap: check for LT_INIT more portably still ;-)
35557         * build-aux/bootstrap: Don't rely on \>, since it's not portable.
35558         Spotted by Bruno Haible.
35559
35560 2008-10-06  Eric Blake  <ebb9@byu.net>
35561
35562         test-signbit: avoid tripping Irix cc bug on -0.0L
35563         * tests/test-signbit.c (minus_zerol): Delete, and replace with
35564         '-zerol'.  This may break on HP-UX/hppa, but at least makes the
35565         entire testsuite consistent and avoids an Irix 6.2 bug.
35566
35567 2008-10-05  Bruno Haible  <bruno@clisp.org>
35568             Jim Meyering  <jim@meyering.net>
35569
35570         Add an option for ignoring EPIPE during close_stdout.
35571         * lib/closeout.h: Include <stdbool.h>.
35572         (close_stdout_set_ignore_EPIPE): New declaration.
35573         * lib/closeout.c: Include <stdbool.h>.
35574         (ignore_EPIPE): New variable.
35575         (close_stdout_set_ignore_EPIPE): New function.
35576         (close_stdout): Ignore EPIPE error if ignore_EPIPE is set.
35577         * lib/close-stream.c (close_stream): Mention the possible EPIPE
35578         failure.
35579         * modules/closeout (Depends-on): Add stdbool.
35580
35581 2008-10-05  Bruno Haible  <bruno@clisp.org>
35582
35583         * modules/accept: New file.
35584         * modules/bind: New file.
35585         * modules/connect: New file.
35586         * modules/getpeername: New file.
35587         * modules/getsockname: New file.
35588         * modules/getsockopt: New file.
35589         * modules/listen: New file.
35590         * modules/recv: New file.
35591         * modules/recvfrom: New file.
35592         * modules/send: New file.
35593         * modules/sendto: New file.
35594         * modules/setsockopt: New file.
35595         * modules/socket: New file.
35596         * lib/sys_socket.in.h: Include the GL_LINK_WARNING definition.
35597         (socket, connect, accept, bind, getpeername, getsockname, getsockopt,
35598         listen, recv, send, recvfrom, sendto, setsockopt): Declare only when
35599         the particular module is requested. Add a link warning when the
35600         particular module is not requested.
35601         * lib/winsock.c (rpl_socket, rpl_connect, rpl_accept, rpl_bind,
35602         rpl_getpeername, rpl_getsockname, rpl_getsockopt, rpl_listen, rpl_recv,
35603         rpl_send, rpl_recvfrom, rpl_sendto, rpl_setsockopt): Define only when
35604         the particular module is requested.
35605         * m4/sys_socket_h.m4 (gl_SYS_SOCKET_MODULE_INDICATOR,
35606         gl_SYS_SOCKET_H_DEFAULTS): New macros.
35607         (gl_HEADER_SYS_SOCKET): Require gl_SYS_SOCKET_H_DEFAULTS.
35608         * modules/sys_socket (Depends-on): Add link-warning.
35609         (Makeifle.am): Substitute GNULIB_SOCKET, GNULIB_CONNECT, GNULIB_ACCEPT,
35610         GNULIB_BIND, GNULIB_GETPEERNAME, GNULIB_GETSOCKNAME, GNULIB_GETSOCKOPT,
35611         GNULIB_LISTEN, GNULIB_RECV, GNULIB_SEND, GNULIB_RECVFROM,
35612         GNULIB_SENDTO, GNULIB_SETSOCKOPT, and the definition of
35613         GL_LINK_WARNING.
35614         * doc/posix-functions/accept.texi: Mention the new module 'accept'.
35615         * doc/posix-functions/bind.texi: Mention the new module 'bind'.
35616         * doc/posix-functions/connect.texi: Mention the new module 'connect'.
35617         * doc/posix-functions/getpeername.texi: Mention the new module
35618         'getpeername'.
35619         * doc/posix-functions/getsockname.texi: Mention the new module
35620         'getsockname'.
35621         * doc/posix-functions/getsockopt.texi: Mention the new module
35622         'getsockopt'.
35623         * doc/posix-functions/listen.texi: Mention the new module 'listen'.
35624         * doc/posix-functions/recv.texi: Mention the new module 'recv'.
35625         * doc/posix-functions/recvfrom.texi: Mention the new module 'recvfrom'.
35626         * doc/posix-functions/send.texi: Mention the new module 'send'.
35627         * doc/posix-functions/sendto.texi: Mention the new module 'sendto'.
35628         * doc/posix-functions/setsockopt.texi: Mention the new module
35629         'setsockopt'.
35630         * doc/posix-functions/socket.texi: Mention the new module 'socket'.
35631         * modules/poll-tests (Depends-on): Add socket, bind, getsockopt,
35632         listen, connect, accept.
35633         * modules/select-tests (Depends-on): Likewise.
35634
35635 2008-10-05  Bruno Haible  <bruno@clisp.org>
35636
35637         * lib/winsock.c (strerror): Remove unused #undef.
35638         (rpl_close): Remove unused local variable.
35639
35640         * modules/sys_socket (Depends-on); Add errno.
35641
35642 2008-10-05  Bruno Haible  <bruno@clisp.org>
35643
35644         * lib/sys_select.in.h: Include the GL_LINK_WARNING definition.
35645         (select): Add a link warning when the 'select' module is not used.
35646         * modules/sys_select (Depends-on): Add link-warning.
35647         (Makefile.am): Substitute the definition of GL_LINK_WARNING.
35648         Suggested by Paolo Bonzini.
35649
35650 2008-10-05  Jim Meyering  <meyering@redhat.com>
35651
35652         bootstrap: check for LT_INIT more portably
35653         * build-aux/bootstrap: Avoid using grep -E, since it's not
35654         portable enough.  Suggestion from Bruno Haible.
35655
35656 2008-10-05  Bruno Haible  <bruno@clisp.org>
35657
35658         * doc/posix-headers/sys_select.texi: Mention 'struct timeval' problem
35659         as being fixed by gnulib.
35660
35661 2008-10-05  Bruno Haible  <bruno@clisp.org>
35662
35663         * modules/select-tests: New file, mostly copied from
35664         modules/sys_select-tests.
35665         * tests/test-select.c: New file, mostly copied from
35666         tests/test-sys_select.c.
35667         * tests/test-sys_select.c: Move most of the code to tests/test-select.c.
35668         * modules/sys_select-tests (Depends-on): Remove all dependencies.
35669         (Makefile.am): Remove test_sys_select_LDADD.
35670
35671         * lib/sys_select.in.h (select): If GNULIB_SELECT is not set, define it
35672         to an undefined symbol, for an error message.
35673         * m4/sys_select_h.m4 (gl_SYS_SELECT_MODULE_INDICATOR): New macro.
35674         (gl_SYS_SELECT_H_DEFAULTS): New macro.
35675         (gl_HEADER_SYS_SELECT): Require it. Don't require compilation of
35676         winsock-select.c here.
35677         * modules/sys_select (Files): Remove lib/winsock-select.c.
35678         (Depends-on): Remove alloca.
35679         (Makefile.am): Substitute GNULIB_SELECT.
35680         * modules/select: New file.
35681         * doc/posix-functions/select.texi: Update.
35682
35683 2008-10-05  Bruno Haible  <bruno@clisp.org>
35684
35685         * lib/spawn_faction_addclose.c (__sysconf): Use getdtablesize always.
35686         * lib/spawn_faction_adddup2.c (__sysconf): Likewise.
35687         * lib/spawn_faction_addopen.c (__sysconf): Likewise.
35688         * modules/posix_spawn_file_actions_addclose (Depends-on): Add
35689         getdtablesize.
35690         * modules/posix_spawn_file_actions_adddup2 (Depends-on): Likewise.
35691         * modules/posix_spawn_file_actions_addopen (Depends-on): Likewise.
35692
35693 2008-10-05  Bruno Haible  <bruno@clisp.org>
35694
35695         * modules/getdtablesize-tests: New file.
35696         * tests/test-getdtablesize.c: New file.
35697
35698         New module 'getdtablesize'.
35699         * lib/unistd.in.h (getdtablesize): New declaration.
35700         * lib/getdtablesize.c: New file.
35701         * m4/getdtablesize.m4: New file.
35702         * modules/getdtablesize: New file.
35703         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize
35704         GNULIB_GETDTABLESIZE, HAVE_GETDTABLESIZE.
35705         * modules/unistd (Makefile.am): Substitute GNULIB_GETDTABLESIZE,
35706         HAVE_GETDTABLESIZE.
35707         * doc/glibc-functions/getdtablesize.texi: Mention the new module.
35708
35709 2008-10-05  Bruno Haible  <bruno@clisp.org>
35710
35711         * modules/sched (Makefile.am): Fix typo.
35712         Reported by Simon Josefsson.
35713
35714 2008-10-05  Jim Meyering  <meyering@redhat.com>
35715
35716         bootstrap: check for LT_INIT, too
35717         * build-aux/bootstrap: Both AC_PROG_LIBTOOL and AM_PROG_LIBTOOL
35718         are deprecated.  Suggestion from Ralf Wildenhues.
35719
35720 2008-10-05  Bruno Haible  <bruno@clisp.org>
35721
35722         * lib/spawn.in.h (POSIX_SPAWN_*): Use the system's values, rather than
35723         overriding them by ours.
35724         (POSIX_SPAWN_USEVFORK): Use the next free bit position.
35725
35726 2008-10-05  Jim Meyering  <meyering@redhat.com>
35727
35728         bootstrap: check for AC_PROG_LIBTOOL as well as AM_PROG_LIBTOOL
35729         * build-aux/bootstrap: Check for AC_PROG_LIBTOOL, as well as the
35730         obsolete AM_PROG_LIBTOOL.  Spotted by Debarshi Ray <rishi@gnu.org>.
35731
35732 2008-10-04  Bruno Haible  <bruno@clisp.org>
35733
35734         * modules/dup2 (License): Change to LGPLv2+.
35735         * modules/sleep (License): Likewise.
35736         * modules/perror (License): Likewise.
35737         * modules/fopen (License): Change to LGPLv2+, with approval by Eric
35738         Blake.
35739         * modules/signal (License): Likewise.
35740         * modules/sigprocmask (License): Likewise.
35741         * modules/raise (License): Change to LGPLv2+, with approval by Jim
35742         Meyering.
35743
35744 2008-10-04  Bruno Haible  <bruno@clisp.org>
35745
35746         * lib/spawn.in.h (POSIX_SPAWN_*): Undefine before redefining.
35747         Reported by Rainer Tammer <tammer@tammer.net>.
35748
35749 2008-10-03  Paolo Bonzini  <bonzini@gnu.org>
35750             Bruno Haible  <bruno@clisp.org>
35751
35752         * lib/errno.in.h (EWOULDBLOCK) [win32]: Define to EAGAIN.
35753         * lib/winsock.c (set_winsock_errno): Map WSAEWOULDBLOCK to EWOULDBLOCK.
35754         * lib/strerror.c (rpl_strerror): Remove error string for EWOULDBLOCK.
35755
35756 2008-10-03  Kamil Dudka  <kdudka@redhat.com>
35757
35758         filevercmp: new module
35759         * lib/filevercmp.h: New function filevercmp comparing version strings.
35760         * lib/filevercmp.c: Implementation of filevercmp function.
35761         * modules/filevercmp: Module metadata.
35762         * tests/test-filevercmp.c: Unit test for new module.
35763         * modules/filevercmp-tests: Unit test metadata.
35764         * MODULES.html.sh: Add filevercmp module.
35765
35766 2008-10-03  Bruno Haible  <bruno@clisp.org>
35767
35768         * lib/c-ctype.h: Add comment.
35769         Reported by Jim Meyering.
35770
35771 2008-10-02  Bruno Haible  <bruno@clisp.org>
35772
35773         * modules/posix_spawn-internal (Depends-on): Add 'open'.
35774
35775 2008-10-02  Paolo Bonzini  <bonzini@gnu.org>
35776
35777         * build-aux/bootstrap: Allow renaming bootstrap, and change the
35778         name of bootstrap.conf accordingly.
35779
35780 2008-10-02  Paolo Bonzini  <bonzini@gnu.org>
35781
35782         * build-aux/bootstrap: Install git-merge-changelog configuration
35783         items into .gitconfig if needed.
35784
35785 2008-10-02  Paolo Bonzini  <bonzini@gnu.org>
35786
35787         * build-aux/bootstrap: Recognize `gnulib' being a submodule in a
35788         git repository, and initialize/update it accordingly.
35789
35790 2008-10-02  Richard W.M. Jones  <rjones@redhat.com>
35791
35792         * modules/fsync-tests: New file.
35793         * tests/test-fsync.c: New file.
35794
35795         New module 'fsync'.
35796         * lib/fsync.c: New file.
35797         * m4/fsync.m4: New file.
35798         * modules/fsync: New file.
35799         * lib/unistd.in.h (fsync): New declaration.
35800         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Define and AC_SUBST both
35801         GNULIB_FSYNC and HAVE_FSYNC.
35802         * modules/unistd: Substitute GNULIB_FSYNC and HAVE_FSYNC.
35803         * MODULES.html.sh (posix_functions): Add fsync.
35804         * doc/posix-functions/fsync.texi: Mention the new module.
35805
35806 2008-10-02  Jim Meyering  <meyering@redhat.com>
35807
35808         fts.c: sync with similar code from coreutils' remove.c
35809         * lib/fts.c (dirent_inode_sort_may_be_useful): Merge from coreutils.
35810         Guard also with "#if defined __linux__", since for now at least,
35811         this code is Linux-kernel-specific.
35812
35813 2008-10-02  Jim Meyering  <meyering@redhat.com>
35814
35815         fts: bug fixes
35816         * lib/fts.c: Remove unnecessary "defined" in cpp directive.
35817         Include <sys/vfs.h>, not <sys/statfs.h>.
35818
35819         * m4/fts.m4 (gl_FUNC_FTS_CORE): Fix typo s/vfs/vfs.h/.
35820         Include <sys/vfs.h>, not <sys/statfs.h>.
35821
35822 2008-10-01  Bruno Haible  <bruno@clisp.org>
35823
35824         Avoid the broken posix_spawn function on AIX 5.3 and 6.1.
35825         * m4/posix_spawn.m4 (gl_POSIX_SPAWN_WORKS): New macro.
35826         (gl_POSIX_SPAWN_BODY): Invoke it. Set REPLACE_POSIX_SPAWN if needed.
35827         * doc/posix-functions/posix_spawn.texi: Mention the AIX bugs.
35828         * doc/posix-functions/posix_spawnp.texi: Likewise.
35829         * m4/execute.m4 (gl_EXECUTE): Invoke gl_POSIX_SPAWN_WORKS, to check
35830         whether posix_spawn actually works.
35831         * m4/pipe.m4 (gl_PIPE): Likewise.
35832         * modules/execute (Files): Add m4/posix_spawn.m4.
35833         * modules/pipe (Files): Add m4/posix_spawn.m4.
35834         Reported and analyzed by Rainer Tammer <tammer@tammer.net>.
35835
35836 2008-10-01  Jim Meyering  <meyering@redhat.com>
35837
35838         remove trailing spaces
35839         * NEWS: Likewise.
35840         * lib/poll.c (poll): Likewise.
35841         * lib/sys_socket.in.h (SHUT_RDWR): Likewise.
35842         * lib/winsock.c (rpl_close): Likewise.
35843         * m4/memcmp.m4 (gl_FUNC_MEMCMP): Likewise.
35844         * modules/yield: Likewise.
35845         * tests/test-poll.c (connect_to_socket, poll1): Likewise.
35846         * tests/test-sys_select.c (connect_to_socket): Likewise.
35847
35848         fts.c: adjust a new interface to be more generally useful
35849         * lib/fts.c (dirent_inode_sort_may_be_useful): Take an FD parameter.
35850         (fts_build): Adjust caller.
35851
35852 2008-09-30  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
35853
35854         * modules/cond-tests: New file.
35855         * tests/test-cond.c: New file.
35856
35857 2008-09-30  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
35858             Bruno Haible  <bruno@clisp.org>
35859
35860         * modules/cond (Dependencies): Add errno, time.
35861         * lib/glthread/cond.h: Include <time.h>.
35862         (gl_cond_define, gl_cond_define_initialized): Use the same definition
35863         across platforms.
35864
35865 2008-09-30  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
35866             Bruno Haible  <bruno@clisp.org>
35867
35868         * m4/thread.m4 (gl_THREAD): Fix detection of pthread_atfork function.
35869
35870 2008-09-30  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
35871             Bruno Haible  <bruno@clisp.org>
35872
35873         * modules/tls-tests (Depends-on): Add thread, yield.
35874         (configure.ac): Remove all checks.
35875         (test_tls_LDADD): Use YIELD_LIB instead of LIBSCHED.
35876         * tests/test-tls.c (gl_thread_t, gl_thread_join, gl_thread_yield,
35877         gl_thread_self): Remove definitions. Include glthread/thread.h and
35878         glthread/yield.h instead.
35879         (test_tls): Pass an additional NULL argument to gl_thread_join.
35880
35881 2008-09-30  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
35882             Bruno Haible  <bruno@clisp.org>
35883
35884         * modules/lock-tests (Depends-on): Add thread, yield.
35885         (configure.ac): Remove all checks.
35886         (test_lock_LDADD): Use YIELD_LIB instead of LIBSCHED.
35887         * tests/test-lock.c (gl_thread_t, gl_thread_join, gl_thread_yield,
35888         gl_thread_self): Remove definitions. Include glthread/thread.h and
35889         glthread/yield.h instead.
35890         (test_lock, test_rwlock, test_recursive_lock, test_once): Pass an
35891         additional NULL argument to gl_thread_join.
35892
35893 2008-09-30  Bruno Haible  <bruno@clisp.org>
35894
35895         Fix the Win32 implementation of the 'thread' module.
35896         * lib/glthread/thread.h [USE_WIN32_THREADS] (gl_thread_t): Change to a
35897         pointer type.
35898         (gl_thread_self): Invoke gl_thread_self_func.
35899         (gl_thread_self_func): New declaration.
35900         * lib/glthread/thread.c [USE_WIN32_THREADS] (self_key): New variable.
35901         (do_init_self_key, init_self_key): New functions.
35902         (struct gl_thread_struct): Renamed from 'struct thread_extra'.
35903         Remove some fields.
35904         (running_threads, running_lock): Remove variables.
35905         (get_current_thread_handle): New function.
35906         (gl_thread_self_func, wrapper_func, glthread_create_func,
35907         glthread_join_func, gl_thread_exit_func): Largely rewritten and
35908         simplified.
35909
35910 2008-09-30  Bruno Haible  <bruno@clisp.org>
35911
35912         * lib/winsock-select.c (win32_poll_handle): Add shortcut for regular
35913         files.
35914
35915 2008-09-30  Jim Meyering  <meyering@redhat.com>
35916
35917         fts.m4: correct the test for statfs.f_type
35918         * m4/fts.m4 (gl_FUNC_FTS_CORE): Include <sys/statfs.h>
35919         when checking for statfs.f_type.
35920
35921 2008-09-15  Simon Josefsson  <simon@josefsson.org>
35922
35923         tests: avoid some compiler warnings
35924         * tests/test-memchr.c (main): Pass NULL indirectly.
35925         * tests/test-getdate.c (main): Remove unused variable 'ret'.
35926
35927 2008-09-29  OndÅ™ej Vašík  <ovasik@redhat.com>
35928
35929         getdate.y: disallow countable dayshifts like "4 yesterday ago"
35930         * lib/getdate.y (relative_time_table) [tDAY_SHIFT]: New type for
35931         exactly specified dayshifts.
35932         (dayshift): New rule.
35933         (rel): Add dayshift.
35934         (relative_time_table) [tomorrow, yesterday, today, now]:
35935         Use tDAY_SHIFT in place of tDAY_UNIT.
35936         * tests/test-getdate.c: Add tests for now-disallowed countable
35937         dayshifts, e.g., "4 yesterday ago".
35938
35939 2008-09-29  Bruno Haible  <bruno@clisp.org>
35940
35941         * tests/test-posix_spawn1.c: Renamed from tests/test-posix_spawn.c.
35942         * tests/test-posix_spawn1.in.sh: Renamed from
35943         tests/test-posix_spawn.in.sh.
35944         * tests/test-posix_spawn2.c: New file.
35945         * tests/test-posix_spawn2.in.sh: New file.
35946         * modules/posix_spawnp-tests (Files): Update.
35947         (Makefile.am): Update. Add test-posix_spawn2 to the tests.
35948
35949 2008-09-29  Bruno Haible  <bruno@clisp.org>
35950
35951         Propagate effects of putenv/setenv/unsetenv to child processes.
35952         * lib/execute.c (execute): Use spawnvpe instead of spawnvp.
35953         * lib/pipe.c (create_pipe): Likewise.
35954
35955 2008-09-29  Bruno Haible  <bruno@clisp.org>
35956
35957         Enable use of shell scripts as executables in mingw.
35958         * lib/execute.c (execute): When spawnv fails with error ENOEXEC,
35959         run the program as a shell script.
35960         * lib/pipe.c (create_pipe): Likewise.
35961         * lib/w32spawn.h (prepare_spawn): Add a hidden element in front of the
35962         resulting array.
35963
35964 2008-09-29  Eric Blake  <ebb9@byu.net>
35965
35966         * m4/arpa_inet_h.m4 (gl_REPLACE_ARPA_INET_H): Fix typo.
35967
35968 2008-08-24  Paolo Bonzini  <bonzini@gnu.org>
35969
35970         * doc/posix-functions/accept.texi: Update mingw problems.
35971         * doc/posix-functions/bind.texi: Update mingw problems.
35972         * doc/posix-functions/close.texi: Update mingw problems.
35973         * doc/posix-functions/connect.texi: Update mingw problems.
35974         * doc/posix-functions/getpeername.texi: Update mingw problems.
35975         * doc/posix-functions/getsockname.texi: Update mingw problems.
35976         * doc/posix-functions/getsockopt.texi: Update mingw problems.
35977         * doc/posix-functions/ioctl.texi: Update mingw problems.
35978         * doc/posix-functions/listen.texi: Update mingw problems.
35979         * doc/posix-functions/recv.texi: Update mingw problems.
35980         * doc/posix-functions/recvfrom.texi: Update mingw problems.
35981         * doc/posix-functions/select.texi: Update mingw problems.
35982         * doc/posix-functions/send.texi: Update mingw problems.
35983         * doc/posix-functions/sendto.texi: Update mingw problems.
35984         * doc/posix-functions/setsockopt.texi: Update mingw problems.
35985         * doc/posix-functions/socket.texi: Update mingw problems.
35986
35987 2008-09-29  Paolo Bonzini  <bonzini@gnu.org>
35988             Bruno Haible  <bruno@clisp.org>
35989
35990         * lib/sys_select.in.h: Include sys/time.h.
35991         * m4/sys_select.h.m4: Test that struct timeval is fully defined.
35992         * modules/sys_select: Depend on sys_time.
35993         * tests/test-sys_select.c: Test that sys/select.h defines struct
35994         timeval fully.
35995
35996 2008-09-29  Bruno Haible  <bruno@clisp.org>
35997
35998         * lib/sys_socket.in.h: Wrap the definitions in 'extern "C"'.
35999         * lib/sys_select.in.h: Likewise.
36000
36001 2008-09-29  Bruno Haible  <bruno@clisp.org>
36002
36003         * lib/winsock.c (rpl_close, rpl_socket): Remove unused variables.
36004
36005 2008-09-29  Bruno Haible  <bruno@clisp.org>
36006
36007         * m4/sockets.m4 (gl_SOCKETS): Check also for the need to use -lsocket.
36008         Set LIBSOCKET instead of augmenting LIBS.
36009         * modules/sockets (Link): New section.
36010         * modules/sockets-tests (test_sockets_LDADD): New variable.
36011         * modules/sys_select-tests (test_sys_select_LDADD): New variable.
36012         * modules/poll-tests (test_poll_LDADD): New variable.
36013         * NEWS: Document the change.
36014
36015 2008-09-29  Bruno Haible  <bruno@clisp.org>
36016
36017         * m4/arpa_inet_h.m4 (gl_REPLACE_ARPA_INET_H): New macro.
36018         * m4/inet_ntop.m4 (gl_INET_NTOP): Invoke it instead of assigning
36019         ARPA_INET_H directly.
36020         * m4/inet_pton.m4 (gl_INET_PTON): Likewise.
36021
36022 2008-09-28  Bruno Haible  <bruno@clisp.org>
36023
36024         * m4/sys_socket_h.m4 (gl_PREREQ_SYS_H_WINSOCK2): New macro, extracted
36025         from gl_HEADER_SYS_SOCKET.
36026         (gl_HEADER_SYS_SOCKET): Invoke it.
36027         * m4/sys_select_h.m4 (gl_HEADER_SYS_SELECT): Likewise.
36028
36029 2008-09-28  Bruno Haible  <bruno@clisp.org>
36030
36031         * doc/posix-headers/sys_select.texi: Mention 'struct timeval' problem.
36032         * tests/test-sys_select.c: Include <sys/time.h>, for struct timeval.
36033         Needed on OSF/1 4.0.
36034
36035 2008-09-28  Bruno Haible  <bruno@clisp.org>
36036
36037         Override open more carefully.
36038         * lib/open.c (orig_open): New function.
36039         (rpl_open): Use orig_open instead of open.
36040         * lib/fcntl.in.h: Add special invocation convention.
36041         * m4/open.m4 (gl_PREREQ_OPEN): New macro.
36042         (gl_FUNC_OPEN): Invoke it.
36043
36044         Override freopen more carefully.
36045         * lib/freopen.c (orig_freopen): New function.
36046         (rpl_freopen): Use orig_freopen instead of freopen.
36047         * m4/freopen.m4 (gl_PREREQ_FREOPEN): New macro.
36048         (gl_FUNC_FREOPEN): Invoke it.
36049
36050         Override fopen more carefully.
36051         * lib/fopen.c (orig_fopen): New function.
36052         (rpl_fopen): Use orig_fopen instead of fopen.
36053         * m4/fopen.m4 (gl_PREREQ_FOPEN): New macro.
36054         (gl_FUNC_FOPEN): Invoke it.
36055         Needed on AIX. Reported by Rainer Tammer <tammer@tammer.net>.
36056
36057 2008-09-28  Bruno Haible  <bruno@clisp.org>
36058
36059         * lib/pipe.h (create_pipe_out, create_pipe_bidi): Add comment about
36060         SIGPIPE.
36061
36062 2008-09-28  Bruno Haible  <bruno@clisp.org>
36063
36064         * tests/test-sigaction.c (handler, main): Disable the check whether
36065         SA_RESETHAND has reverted the installed handler to SIG_DFL. Needed on
36066         glibc systems with LinuxThreads.
36067
36068 2008-09-28  Bruno Haible  <bruno@clisp.org>
36069
36070         * doc/posix-functions/freopen.texi: Mention the trailing slash problem.
36071
36072         * lib/stdio.in.h (fopen, freopen): Undefine before redefining. Needed
36073         with AIX xlc.
36074         * lib/fcntl.in.h (open): Likewise.
36075         Reported by Rainer Tammer <tammer@tammer.net>.
36076
36077 2008-09-28  Bruno Haible  <bruno@clisp.org>
36078
36079         * modules/posix_spawnp-tests: New file.
36080         * tests/test-posix_spawn.c: New file.
36081         * tests/test-posix_spawn.in.sh: New file.
36082
36083         New module 'posix_spawnp'.
36084         * modules/posix_spawnp: New file.
36085         * lib/spawnp.c: New file, from GNU libc with modifications.
36086         * doc/posix-functions/posix_spawnp.texi: Mention the new module.
36087
36088         New module 'posix_spawn'.
36089         * modules/posix_spawn: New file.
36090         * lib/spawn.c: New file, from GNU libc with modifications.
36091         * doc/posix-functions/posix_spawn.texi: Mention the new module.
36092
36093         New module 'posix_spawnattr_destroy'.
36094         * modules/posix_spawnattr_destroy: New file.
36095         * lib/spawnattr_destroy.c: New file, from GNU libc with modifications.
36096         * doc/posix-functions/posix_spawnattr_destroy.texi: Mention the new
36097         module.
36098
36099         New module 'posix_spawnattr_setsigmask'.
36100         * modules/posix_spawnattr_setsigmask: New file.
36101         * lib/spawnattr_setsigmask.c: New file, from GNU libc with
36102         modifications.
36103         * doc/posix-functions/posix_spawnattr_setsigmask.texi: Mention the
36104         new module.
36105
36106         New module 'posix_spawnattr_getsigmask'.
36107         * modules/posix_spawnattr_getsigmask: New file.
36108         * lib/spawnattr_getsigmask.c: New file, from GNU libc with
36109         modifications.
36110         * doc/posix-functions/posix_spawnattr_getsigmask.texi: Mention the
36111         new module.
36112
36113         New module 'posix_spawnattr_setsigdefault'.
36114         * modules/posix_spawnattr_setsigdefault: New file.
36115         * lib/spawnattr_setdefault.c: New file, from GNU libc with
36116         modifications.
36117         * doc/posix-functions/posix_spawnattr_setsigdefault.texi: Mention the
36118         new module.
36119
36120         New module 'posix_spawnattr_getsigdefault'.
36121         * modules/posix_spawnattr_getsigdefault: New file.
36122         * lib/spawnattr_getdefault.c: New file, from GNU libc with
36123         modifications.
36124         * doc/posix-functions/posix_spawnattr_getsigdefault.texi: Mention the
36125         new module.
36126
36127         New module 'posix_spawnattr_setschedpolicy'.
36128         * modules/posix_spawnattr_setschedpolicy: New file.
36129         * lib/spawnattr_setschedpolicy.c: New file, from GNU libc with
36130         modifications.
36131         * doc/posix-functions/posix_spawnattr_setschedpolicy.texi: Mention the
36132         new module.
36133
36134         New module 'posix_spawnattr_getschedpolicy'.
36135         * modules/posix_spawnattr_getschedpolicy: New file.
36136         * lib/spawnattr_getschedpolicy.c: New file, from GNU libc with
36137         modifications.
36138         * doc/posix-functions/posix_spawnattr_getschedpolicy.texi: Mention the
36139         new module.
36140
36141         New module 'posix_spawnattr_setschedparam'.
36142         * modules/posix_spawnattr_setschedparam: New file.
36143         * lib/spawnattr_setschedparam.c: New file, from GNU libc with
36144         modifications.
36145         * doc/posix-functions/posix_spawnattr_setschedparam.texi: Mention the
36146         new module.
36147
36148         New module 'posix_spawnattr_getschedparam'.
36149         * modules/posix_spawnattr_getschedparam: New file.
36150         * lib/spawnattr_getschedparam.c: New file, from GNU libc with
36151         modifications.
36152         * doc/posix-functions/posix_spawnattr_getschedparam.texi: Mention the
36153         new module.
36154
36155         New module 'posix_spawnattr_setpgroup'.
36156         * modules/posix_spawnattr_setpgroup: New file.
36157         * lib/spawnattr_setpgroup.c: New file, from GNU libc with
36158         modifications.
36159         * doc/posix-functions/posix_spawnattr_setpgroup.texi: Mention the new
36160         module.
36161
36162         New module 'posix_spawnattr_getpgroup'.
36163         * modules/posix_spawnattr_getpgroup: New file.
36164         * lib/spawnattr_getpgroup.c: New file, from GNU libc with
36165         modifications.
36166         * doc/posix-functions/posix_spawnattr_getpgroup.texi: Mention the new
36167         module.
36168
36169         New module 'posix_spawnattr_setflags'.
36170         * modules/posix_spawnattr_setflags: New file.
36171         * lib/spawnattr_setflags.c: New file, from GNU libc with modifications.
36172         * doc/posix-functions/posix_spawnattr_setflags.texi: Mention the new
36173         module.
36174
36175         New module 'posix_spawnattr_getflags'.
36176         * modules/posix_spawnattr_getflags: New file.
36177         * lib/spawnattr_getflags.c: New file, from GNU libc with modifications.
36178         * doc/posix-functions/posix_spawnattr_getflags.texi: Mention the new
36179         module.
36180
36181         New module 'posix_spawnattr_init'.
36182         * modules/posix_spawnattr_init: New file.
36183         * lib/spawnattr_init.c: New file, from GNU libc with modifications.
36184         * doc/posix-functions/posix_spawnattr_init.texi: Mention the new
36185         module.
36186
36187         New module 'posix_spawn_file_actions_destroy'.
36188         * modules/posix_spawn_file_actions_destroy: New file.
36189         * lib/spawn_faction_destroy.c: New file, from GNU libc with
36190         modifications.
36191         * doc/posix-functions/posix_spawn_file_actions_destroy.texi: Mention
36192         the new module.
36193
36194         New module 'posix_spawn_file_actions_addopen'.
36195         * modules/posix_spawn_file_actions_addopen: New file.
36196         * lib/spawn_faction_addopen.c: New file, from GNU libc with
36197         modifications.
36198         * doc/posix-functions/posix_spawn_file_actions_addopen.texi: Mention
36199         the new module.
36200
36201         New module 'posix_spawn_file_actions_adddup2'.
36202         * modules/posix_spawn_file_actions_adddup2: New file.
36203         * lib/spawn_faction_adddup2.c: New file, from GNU libc with
36204         modifications.
36205         * doc/posix-functions/posix_spawn_file_actions_adddup2.texi: Mention
36206         the new module.
36207
36208         New module 'posix_spawn_file_actions_addclose'.
36209         * modules/posix_spawn_file_actions_addclose: New file.
36210         * lib/spawn_faction_addclose.c: New file, from GNU libc with
36211         modifications.
36212         * doc/posix-functions/posix_spawn_file_actions_addclose.texi: Mention
36213         the new module.
36214
36215         New module 'posix_spawn_file_actions_init'.
36216         * modules/posix_spawn_file_actions_init: New file.
36217         * lib/spawn_faction_init.c: New file, from GNU libc with modifications.
36218         * doc/posix-functions/posix_spawn_file_actions_init.texi: Mention the
36219         new module.
36220
36221         New module 'posix_spawn-internal'.
36222         * modules/posix_spawn-internal: New file.
36223         * lib/spawn_int.h: New file, from GNU libc with modifications.
36224         * lib/spawni.c: New file, from GNU libc with modifications.
36225         * m4/posix_spawn.m4: New file.
36226
36227         New module 'spawn'.
36228         * modules/spawn: New file.
36229         * lib/spawn.in.h: New file, from GNU libc with modifications.
36230         * m4/spawn_h.m4: New file.
36231         * doc/posix-headers/spawn.texi: Mention the new module.
36232
36233 2008-09-28  Bruno Haible  <bruno@clisp.org>
36234
36235         * modules/sched-tests: New file.
36236         * tests/test-sched.c: New file.
36237
36238         New module 'sched'.
36239         * modules/sched: New file.
36240         * lib/sched.in.h: New file.
36241         * m4/sched_h.m4: New file.
36242         * doc/posix-headers/sched.texi: Mention the new module.
36243
36244 2008-09-27  Eric Blake  <ebb9@byu.net>
36245
36246         Fix previous patch, and tweak references to $0.
36247         * posix-modules: Call func_gnulib_dir before using $gnulib_dir.
36248         (func_version, func_gnulib_dir): Don't call this program
36249         gnulib-tool.
36250         (func_gnulib_dir, func_tmpdir, func_fatal_error): Avoid shell bugs
36251         with using $0 in function.
36252         * gnulib-tool (func_gnulib_dir, func_tmpdir): Likewise.
36253         (func_fatal_error): Reuse the name the user invoked us with.
36254
36255 2008-09-27  Bruno Haible  <bruno@clisp.org>
36256
36257         * m4/iconv_h.m4 (gl_REPLACE_ICONV_H): New macro.
36258         (gl_ICONV_H_DEFAULTS): Initialize ICONV_H here...
36259         (gl_ICONV_H): Not here.
36260         * m4/iconv_open.m4 (gl_REPLACE_ICONV_OPEN): Invoke gl_REPLACE_ICONV_H
36261         instead of assigning ICONV_H directly.
36262
36263         * m4/wchar.m4 (gl_REPLACE_WCHAR_H): New macro.
36264         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Invoke it instead of assigning
36265         WCHAR_H directly.
36266
36267 2008-09-27  Bruno Haible  <bruno@clisp.org>
36268
36269         * lib/arpa_inet.in.h: Include the GL_LINK_WARNING anchor.
36270         * modules/arpa_inet (Depends-on): Add link-warning.
36271         (Makefile.am): Insert the definition of GL_LINK-WARNING.
36272         * modules/unistd (Makefile.am): Likewise.
36273
36274 2008-09-26  Bruno Haible  <bruno@clisp.org>
36275
36276         * posix-modules (cvsdatestamp, last_checkin_date, version): Remove
36277         variables.
36278         (func_version): Essentially copied from gnulib-tool.
36279         (func_exit, func_gnulib_dir, func_tmpdir, func_fatal_error,
36280         func_readlink): Copied from gnulib-tool.
36281
36282 2008-09-26  Bruno Haible  <bruno@clisp.org>
36283
36284         * gnulib-tool (func_version): Change directory to $gnulib_dir before
36285         invoking git-version-gen.
36286
36287 2008-09-26  Bruno Haible  <bruno@clisp.org>
36288
36289         * posix-modules: Update to directory names changed on 2008-01-19.
36290         Remove commas in output before splitting into words. No more need to
36291         avoid 'ftruncate' since 2007-02-19.
36292
36293 2008-09-26  Bruno Haible  <bruno@clisp.org>
36294
36295         * doc/posix-headers/errno.texi: Remove mention of module 'EOVERFLOW'.
36296
36297 2008-09-26  Bruno Haible  <bruno@clisp.org>
36298
36299         * lib/fwriteerror.c (do_fwriteerror): Ignore error EPIPE.
36300         * modules/fwriteerror (Depends-on): Add errno.
36301
36302 2008-09-26  Bruno Haible  <bruno@clisp.org>
36303
36304         * tests/test-vc-list-files-git.sh: Explain reason for skipping test.
36305         * tests/test-vc-list-files-cvs.sh: Likewise.
36306
36307 2008-09-26  Bruno Haible  <bruno@clisp.org>
36308
36309         * doc/posix-headers/sys_resource.texi: Reorder items.
36310
36311 2008-09-26  Jim Meyering  <meyering@redhat.com>
36312
36313         fts: tweak inode comparison function
36314         * lib/fts.c (fts_compare_ino): Sort on increasing, not decreasing
36315         inode numbers, as documented.
36316
36317         fts: sort dirent entries on inode number before traversing
36318         This avoids a quadratic, seek-related performance penalty when
36319         operating on a directory containing many entries (measurable at 10k;
36320         3.5 hours at 2 million entries with a cold cache) on certain types
36321         of file systems, including ext3 and ext4, but not tmpfs.
36322         * lib/fts.c (DT_MUST_BE, NOT_AN_INODE_NUMBER, D_INO): Define.
36323         (FTS_INODE_SORT_DIR_ENTRIES_THRESHOLD): Define if not defined.
36324         (S_MAGIC_TMPFS, S_MAGIC_NFS): Define.
36325         (fs_handles_readdir_ordered_dirents_efficiently): New function.
36326         (dirent_inode_sort_may_be_useful, fts_compare_ino): Likewise.
36327         (fts_build): Set the stat.st_ino member from D_INO.
36328         If it is likely to be useful, sort dirent entries on inode number.
36329
36330         * m4/fts.m4 (gl_FUNC_FTS_CORE): Check for fstatfs, sys/vfs.h,
36331         and the struct statfs.f_type member.
36332         * modules/fts (Depends-on): Add d-ino.
36333
36334 2008-09-26  Bruno Haible  <bruno@clisp.org>
36335
36336         * modules/sigpipe-die (Depends-on): Add sigpipe.
36337
36338         * lib/stdio.in.h (fprintf, vfprintf, printf, vprintf, fputc, putc,
36339         putchar, fputs, puts, fwrite): Replace when REPLACE_STDIO_WRITE_FUNCS
36340         and GNULIB_STDIO_H_SIGPIPE are set.
36341         * lib/stdio-write.c: New file.
36342         * m4/stdio_h.m4 (gl_STDIO_H): Set GNULIB_FPRINTF, GNULIB_PRINTF,
36343         GNULIB_VFPRINTF, GNULIB_VPRINTF, GNULIB_FPUTC, GNULIB_PUTC,
36344         GNULIB_PUTCHAR, GNULIB_FPUTS, GNULIB_PUTS, GNULIB_FWRITE,
36345         REPLACE_STDIO_WRITE_FUNCS.
36346         (gl_STDIO_H_DEFAULTS): Initialize GNULIB_FPRINTF, GNULIB_PRINTF,
36347         GNULIB_VFPRINTF, GNULIB_VPRINTF, GNULIB_FPUTC, GNULIB_PUTC,
36348         GNULIB_PUTCHAR, GNULIB_FPUTS, GNULIB_PUTS, GNULIB_FWRITE,
36349         GNULIB_STDIO_H_SIGPIPE, REPLACE_STDIO_WRITE_FUNCS.
36350         * modules/stdio (Files): Add lib/stdio-write.c.
36351         (Makefile.am): Substitute GNULIB_FPRINTF, GNULIB_PRINTF,
36352         GNULIB_VFPRINTF, GNULIB_VPRINTF, GNULIB_FPUTC, GNULIB_PUTC,
36353         GNULIB_PUTCHAR, GNULIB_FPUTS, GNULIB_PUTS, GNULIB_FWRITE,
36354         GNULIB_STDIO_H_SIGPIPE, REPLACE_STDIO_WRITE_FUNCS.
36355         * m4/fprintf-posix.m4 (gl_REPLACE_FPRINTF): Define
36356         REPLACE_FPRINTF_POSIX.
36357         * m4/printf-posix-rpl.m4 (gl_REPLACE_PRINTF): Define
36358         REPLACE_PRINTF_POSIX.
36359         * m4/vfprintf-posix.m4 (gl_REPLACE_VFPRINTF): Define
36360         REPLACE_VFPRINTF_POSIX.
36361         * m4/vprintf-posix.m4 (gl_REPLACE_VPRINTF): Define
36362         REPLACE_VPRINTF_POSIX.
36363         * doc/posix-functions/fprintf.texi: Mention the sigpipe module and the
36364         SIGPIPE issue.
36365         * doc/posix-functions/fputc.texi: Likewise.
36366         * doc/posix-functions/fputs.texi: Likewise.
36367         * doc/posix-functions/fwrite.texi: Likewise.
36368         * doc/posix-functions/printf.texi: Likewise.
36369         * doc/posix-functions/putc.texi: Likewise.
36370         * doc/posix-functions/putchar.texi: Likewise.
36371         * doc/posix-functions/puts.texi: Likewise.
36372         * doc/posix-functions/vfprintf.texi: Likewise.
36373         * doc/posix-functions/vprintf.texi: Likewise.
36374
36375         * modules/safe-write (Depends-on): Add write.
36376
36377         * modules/sigpipe-tests: New file.
36378         * tests/test-sigpipe.c: New file.
36379         * tests/test-sigpipe.sh: New file.
36380
36381         * modules/write: New file.
36382         * lib/unistd.in.h: Include <sys/types.h>.
36383         (write): New declaration.
36384         * lib/write.c: New file.
36385         * m4/write.m4: New file.
36386         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize
36387         GNULIB_UNISTD_H_SIGPIPE, GNULIB_WRITE, REPLACE_WRITE.
36388         * modules/unistd (Makefile.am): Substitute GNULIB_UNISTD_H_SIGPIPE,
36389         GNULIB_WRITE, REPLACE_WRITE.
36390         * doc/posix-functions/write.texi: Mention the write, sigpipe modules
36391         and the SIGPIPE issue.
36392
36393         * lib/signal.in.h (SIGPIPE): Define to a replacement value.
36394         (raise): New declaration.
36395         * lib/sigprocmask.c (SIGPIPE_handler): New variable.
36396         (ext_signal): New function.
36397         (rpl_raise): New function.
36398         * m4/signal_h.m4 (gl_SIGNAL_H_DEFAULTS): Initialize
36399         GNULIB_SIGNAL_H_SIGPIPE.
36400         * modules/signal (Makefile.am): Substitute GNULIB_SIGNAL_H_SIGPIPE.
36401         * doc/posix-headers/signal.texi: Mention the SIGPIPE issue.
36402
36403         * modules/sigpipe: New file.
36404         * m4/sigpipe.m4: New file.
36405
36406 2008-09-25  Derek Price  <derek@ximbiot.com>
36407             Bruno Haible  <bruno@clisp.org>
36408
36409         * gnulib-tool (func_import): Report all license incompatibilities, not
36410         just the first one.
36411
36412 2008-09-25  Bruno Haible  <bruno@clisp.org>
36413
36414         * gnulib-tool (func_import): When computing the edits, consider not
36415         only the Makefile.ams that exist but also those that will be generated.
36416
36417 2008-09-25  Simon Josefsson  <simon@josefsson.org>
36418
36419         * modules/sys_select-tests (Depends-on): Remove sys_select itself,
36420         fixes gnulib-tool --test warning about duplicate dependency.
36421
36422 2008-09-25  Bruno Haible  <bruno@clisp.org>
36423
36424         * gnulib-tool: Don't ask the user to perform edits in the generated
36425         Makefile.ams.
36426         (func_emit_lib_Makefile_am): Emit empty SUBDIRS. Execute edits that
36427         apply to the Makefile.am being generated.
36428         (func_emit_tests_Makefile_am): Execute edits that apply to the
36429         Makefile.am being generated.
36430         (func_import): Setup list of Makefile.am edits before emitting the
36431         Makefile.ams, not at the end.
36432         (func_create_testdir): Update.
36433         Reported by Yoann Vandoorselaere <yoann.v@prelude-ids.com>.
36434
36435 2008-09-25  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
36436
36437         * gnulib-tool (func_import): Store the --tests-base option in the
36438         comment in gnulib-cache.m4.
36439
36440 2008-09-24  Paolo Bonzini  <bonzini@gnu.org>
36441
36442         * NEWS: Document increased portability that sys_select now provides.
36443
36444         * lib/sys_select.in.h: Install select wrapper.
36445         * lib/sys_socket.in.h: Use more descriptive name when there is no
36446         select wrapper.
36447         * lib/winsock-select.c: New.
36448         * m4/sys_select_h.m4: Compile lib/winsock-select.c if WinSock is used.
36449         Require gl_HEADER_SYS_SOCKET.
36450         * modules/sys_select: Depend on alloca, add lib/winsock-select.c.
36451         * modules/sys_select-tests: Copy dependencies from modules/poll-tests.
36452         * tests/test-sys_select.c: Add functional tests.
36453
36454 2008-09-24  Eric Blake  <ebb9@byu.net>
36455
36456         open, fopen: close fd leak in last patch
36457         * lib/open.c (rpl_open): Close fd before returning error.
36458         * lib/fopen.c (rpl_fopen): Close fd before returning error.
36459         * doc/posix-functions/open.texi (open): Document that Irix also
36460         has the bug.
36461         * doc/posix-functions/fopen.texi (fopen): Likewise.
36462         Reported by Paolo Bonzini.
36463
36464 2008-09-24  Bruno Haible  <bruno@clisp.org>
36465
36466         Ensure that a filename ending in a slash cannot be used to access a
36467         non-directory.
36468         * lib/open.c (rpl_open): When the filename ends in a slash, use fstat()
36469         to check whether it's really a directory.
36470         * lib/fopen.c: Include fcntl.h, unistd.h.
36471         (rpl_fopen): When the filename ends in a slash, use open(), fstat(),
36472         and fdopen().
36473         * modules/fopen (Depends-on): Add unistd.
36474         * tests/test-open.c (main): Try to open "/dev/null/" as a directory.
36475         * tests/test-fopen.c (main): Likewise.
36476         * doc/posix-functions/open.texi: Mention the HP-UX, Solaris bug.
36477         * doc/posix-functions/fopen.texi: Likewise.
36478         Reported by Eric Blake.
36479
36480 2008-09-23  Eric Blake  <ebb9@byu.net>
36481
36482         c-stack: avoid compiler optimizations when provoking overflow
36483         * m4/c-stack.m4 (AC_SYS_XSI_STACK_OVERFLOW_HEURISTIC): Make
36484         recursion harder to optimize, to ensure a stack overflow occurs.
36485         * tests/test-c-stack.c (recurse): Likewise.
36486         Borrowed from libsigsegv.
36487
36488         c-stack: work around Irix sigaltstack bug
36489         * m4/c-stack.m4 (AC_SYS_XSI_STACK_OVERFLOW_HEURISTIC): Check
36490         whether sigaltstack uses wrong end of stack_t (copied in part from
36491         libsigsegv).
36492         * lib/c-stack.c (c_stack_action) [!HAVE_LIBSIGSEGV]: Work around
36493         Irix bug, without requiring an over-allocation.
36494         * doc/posix-functions/sigaltstack.texi (sigaltstack): Document the
36495         bug.
36496
36497         fopen: document mingw bug on directories
36498         * doc/posix-functions/fopen.texi (fopen): Mention mingw bug for
36499         not allowing a stream visiting a directory, even though reading
36500         from such a stream is not portable.
36501
36502 2008-09-23  Paolo Bonzini  <bonzini@gnu.org>
36503
36504         * lib/poll.c: Rewrite.
36505         * modules/poll: Depend on alloca.
36506
36507 2008-09-23  Paolo Bonzini  <bonzini@gnu.org>
36508
36509         * lib/sys_socket.in.h: Do not implement rpl_setsockopt here,
36510         instead define prototypes for a full set of wrappers.  Ensure
36511         that Cygwin does not use the compatibility code, which is only
36512         for MinGW.
36513         * lib/winsock.c: New.
36514         * m4/sys_socket_h.m4: Compile lib/winsock.c if WinSock is being used.
36515         * modules/sys_socket: Add lib/winsock.c.
36516
36517         * modules/poll-tests: Add errno and perror.
36518         * tests/test-poll.c: Use ioctl, not ioctlsocket.
36519
36520 2008-09-23  Paolo Bonzini  <bonzini@gnu.org>
36521
36522         * tests/test-poll.c: Downgrade minimum needed Winsock version.
36523
36524 2008-09-23  Bruno Haible  <bruno@clisp.org>
36525
36526         * doc/posix-functions/*: Add info about functions missing on IRIX 5.3.
36527         * doc/glibc-functions/*: Likewise.
36528
36529 2008-09-23  Simon Josefsson  <simon@josefsson.org>
36530
36531         * tests/test-perror.sh (tmpfiles): Cleanup temporary files on
36532         success.
36533
36534 2008-09-22  Eric Blake  <ebb9@byu.net>
36535             Bruno Haible  <bruno@clisp.org>
36536
36537         vasnprintf: fix x86/glibc regression on printf("%La", 0.0L)
36538         * lib/vasnprintf.c (VASNPRINTF): Support 0.0 on platforms that
36539         supply %A but mishandle pseudo-NaN.
36540         Reported by Simon Josefsson.
36541
36542 2008-09-21  Bruno Haible  <bruno@clisp.org>
36543
36544         * tests/test-lock.c (main): Tweak skip message.
36545         * tests/test-tls.c (main): Likewise.
36546
36547 2008-09-21  Bruno Haible  <bruno@clisp.org>
36548
36549         * m4/sigaction.m4 (gl_SIGACTION): Remove unnecessary AC_SUBST. Check
36550         whether 'struct sigaction' has sa_sigaction here...
36551         (gl_PREREQ_SIG_HANDLER_H): ... not here.
36552         (gl_PREREQ_SIGACTION): Remove unnecessary AC_SUBST.
36553
36554 2008-09-21  Bruno Haible  <bruno@clisp.org>
36555
36556         * MODULES.html.sh (Support for obsolete systems lacking ANSI C 89): New
36557         section.
36558         (Support for systems lacking ANSI C 89): Move stdlib, exit, strtol,
36559         strtoul, memchr, memcmp, memcpy, memmove, memset, strcspn, strpbrk to
36560         the new section.
36561         (Support for obsolete systems lacking POSIX:2001): New section.
36562         (String handling <string.h>): Move strdup to the new section.
36563         Suggested by Simon Josefsson and Paolo Bonzini.
36564
36565 2008-09-21  Bruno Haible  <bruno@clisp.org>
36566
36567         * tests/test-vasnprintf-posix.c (test_function): Allow 3-digit
36568         exponents in %e and %g results on 'long double'. Needed for mingw's
36569         improved *printf functions.
36570         * tests/test-vasprintf-posix.c (test_function): Likewise.
36571         * tests/test-snprintf-posix.h (test_function): Likewise.
36572         * tests/test-sprintf-posix.h (test_function): Likewise.
36573         Reported by Eric Blake.
36574
36575 2008-09-21  Bruno Haible  <bruno@clisp.org>
36576
36577         * tests/test-snprintf-posix.h (test_function): Remove useless ASSERTs.
36578         * tests/test-sprintf-posix.h (test_function): Likewise.
36579
36580 2008-09-21  Bruno Haible  <bruno@clisp.org>
36581
36582         * modules/getpass (Depends-on): Add strdup-posix.
36583
36584         New module 'strdup-posix'.
36585         * modules/strdup-posix: New file.
36586         * m4/strdup.m4 (gl_FUNC_STRDUP_POSIX): New macro.
36587         * lib/string.in.h (strdup): Replace if REPLACE_STRDUP is 1.
36588         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Initialize
36589         REPLACE_STRDUP.
36590         * modules/string (Makefile.am): Substitute REPLACE_STRDUP.
36591         * doc/posix-functions/strdup.texi: Mention module strdup-posix.
36592         * MODULES.html.sh (Support for systems lacking POSIX:2001): Add
36593         strdup-posix.
36594
36595         * modules/strdup (Depends-on): Remove malloc-posix.
36596
36597 2008-09-20  Bruno Haible  <bruno@clisp.org>
36598
36599         * lib/fstrcmp.c: Add data about branch probabilities, from Ralf
36600         Wildenhues.
36601
36602 2008-09-20  Bruno Haible  <bruno@clisp.org>
36603
36604         Ensure that wint_t gets defined on IRIX 5.3.
36605         * lib/wchar.in.h (wint_t): Define if not defined by the system.
36606         * lib/wctype.in.h (wint_t): Likewise.
36607         (__wctype_wint_t): Remove type.
36608         (isw*): Use wint_t instead of __wctype_wint_t.
36609         * m4/wchar.m4 (gl_WCHAR_H): Invoke gt_TYPE_WINT_T and set HAVE_WINT_T.
36610         * modules/wchar (Files): Add m4/wint_t.m4.
36611         (Makefile.am): Substitute HAVE_WINT_T.
36612         * tests/test-wchar.c: Check that wchar_t and wint_t are defined.
36613         * tests/test-wctype.c: Check that wint_t is defined.
36614         * doc/posix-headers/wchar.texi: Mention the IRIX 5 problem.
36615         * doc/posix-headers/wctype.texi: Likewise.
36616         Reported by Tom G. Christensen <tgc@jupiterrise.com>.
36617
36618 2008-09-18  Bruno Haible  <bruno@clisp.org>
36619
36620         * gnulib-tool (func_exit): Update comment.
36621
36622 2008-09-18  Simon Josefsson  <simon@josefsson.org>
36623
36624         * modules/getaddrinfo (Depends-on): Remove strdup, this module
36625         assumes strdup exists and does not depend on strdup to return
36626         ENOMEM on out of memory conditions.
36627
36628 2008-09-18  Bruno Haible  <bruno@clisp.org>
36629
36630         * lib/vasnprintf.c (VASNPRINTF): When printing Â±0.0L in
36631         NEED_PRINTF_INFINITE_LONG_DOUBLE case with 'e' format, always use two
36632         digits for the exponent.
36633
36634 2008-09-18  Jim Meyering  <meyering@redhat.com>
36635             Bruno Haible  <bruno@clisp.org>
36636
36637         * lib/vasnprintf.c (decimal_point_char): Define also if
36638         NEED_PRINTF_INFINITE_LONG_DOUBLE.
36639
36640 2008-09-16  Bruno Haible  <bruno@clisp.org>
36641         and Eric Blake  <ebb9@byu.net>
36642
36643         vasnprintf: support Irix 5.3
36644         * lib/vasnprintf.c (VASNPRINTF): Also handle -0.0L on platforms
36645         that mishandle long double infinity.
36646         Reported by Tom G. Christensen.
36647
36648 2008-09-16  Bruno Haible  <bruno@clisp.org>
36649
36650         * doc/glibc-functions/scandir.texi: Mention the function is missing on
36651         Solaris 9.
36652         * doc/glibc-functions/alphasort.texi: Likewise.
36653         Reported by Michael Haubenwallner <michael.haubenwallner@salomon.at>.
36654
36655 2008-09-16  Jim Meyering  <meyering@redhat.com>
36656
36657         posix-shell.m4: reject opensolaris's "sh (AT&T Research) 1993-12-28 s+"
36658         * m4/posix-shell.m4 (gl_POSIX_SHELL): Reject a shell that lets
36659         a umask modification leak out of a subshell.  Otherwise, the
36660         opensolaris /bin/sh would be accepted and thus cause unwarranted
36661         failures in the coreutils test suite.
36662
36663 2008-09-16  Paolo Bonzini  <bonzini@gnu.org>
36664
36665         * tests/test-poll.c (connect_to_socket): Allow non-blocking connect
36666         to succeed.
36667
36668 2008-09-16  Jim Meyering  <meyering@redhat.com>
36669
36670         avoid spurious test failure when library is built without ACL support
36671         * m4/acl.m4 (USE_ACL): Define as a shell variable, too, for...
36672         * modules/acl-tests (Makefile.am) [TESTS_ENVIRONMENT]: Add USE_ACL.
36673         * tests/test-file-has-acl.sh: Skip if USE_ACL == 0.
36674         * tests/test-copy-acl.sh: Likewise.
36675
36676 2008-09-15  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
36677
36678         * lib/fstrcmp.c (fstrcmp_bounded): Use a second, less quick upper bound
36679         based on character occurrence counts.
36680
36681 2008-09-15  Eric Blake  <ebb9@byu.net>
36682
36683         tests: avoid some compiler warnings
36684         * tests/test-memchr.c (main): Pass NULL indirectly.
36685         * tests/test-closein.c (main): Avoid unused variable.
36686
36687 2008-09-15  Bruno Haible  <bruno@clisp.org>
36688
36689         * m4/errno_h.m4 (gl_HEADER_ERRNO_H_BODY): Test for all the macros that
36690         are missing on OpenBSD 4.0 individually.
36691         Reported by Yoann Vandoorselaere <yoann.v@prelude-ids.com>.
36692
36693 2008-09-15  Bruno Haible  <bruno@clisp.org>
36694
36695         * doc/posix-headers/errno.texi: Mention the Cygwin problem.
36696         * doc/posix-functions/strerror.texi: Mention also Cygwin.
36697         * doc/posix-functions/perror.texi: Likewise.
36698         * m4/errno_h.m4 (gl_HEADER_ERRNO_H_BODY): Test also whether ECANCELED
36699         is missing.
36700         Reported by Eric Blake.
36701
36702         * lib/errno.in.h: Use replacement values >= 2000.
36703         Reported by Eric Blake.
36704
36705 2008-09-14  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
36706
36707         * lib/fstrcmp.c (EXTRA_CONTEXT_FIELDS): Add field 'edit_count_limit'.
36708         (EARLY_ABORT): Return true when the edit_count has grown too beyond the
36709         limit.
36710         (fstrcmp_bounded): Initialize the edit_count_limit. Return 0 when
36711         compareseq was aborted.
36712
36713 2008-09-14  Bruno Haible  <bruno@clisp.org>
36714
36715         * lib/fstrcmp.c (EXTRA_CONTEXT_FIELDS): Combine xvec_edit_count and
36716         yvec_edit_count.
36717         (NOTE_DELETE, NOTE_INSERT): Increment the combined edit count.
36718         (fstrcmp_bounded): Simplify result computation accordingly.
36719
36720 2008-09-14  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
36721
36722         * lib/fstrcmp.h (fstrcmp_bounded): New declaration.
36723         (fstrcmp): Define in terms of fstrcmp_bounded.
36724         * lib/fstrcmp.c (fstrcmp_bounded): Renamed from fstrcmp. Add
36725         lower_bound argument.
36726         Return quickly if the result is certainly < lower_bound.
36727         * tests/test-fstrcmp.c (check_fstrcmp): Test also fstrcmp_bounded.
36728
36729 2008-09-14  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
36730
36731         * lib/diffseq.h (EARLY_ABORT): New macro.
36732         (compareseq): Change return type to bool. Return true when EARLY_ABORT
36733         evaluates to true.
36734
36735 2008-09-14  Bruno Haible  <bruno@clisp.org>
36736
36737         * modules/perror-tests: New file.
36738         * tests/test-perror.sh: New file.
36739         * tests/test-perror.c: New file.
36740
36741         New module 'perror'.
36742         * lib/stdio.in.h (perror): New declaration.
36743         * lib/perror.c: New file.
36744         * m4/perror.m4: New file.
36745         * modules/perror: New file.
36746         * MODULES.html.sh (Support for systems lacking POSIX:2001): Add perror.
36747         * doc/posix-functions/perror.texi: Mention the perror module.
36748         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Initialize GNULIB_PERROR,
36749         REPLACE_PERROR.
36750         * modules/stdio (Makefile.am): Substitute GNULIB_PERROR,
36751         REPLACE_PERROR.
36752
36753 2008-09-14  Bruno Haible  <bruno@clisp.org>
36754
36755         * modules/stdio (Makefile.am): Reorder to match the order in
36756         lib/stdio.in.h.
36757         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Likewise.
36758
36759 2008-09-13  Bruno Haible  <bruno@clisp.org>
36760
36761         * lib/sys_socket.in.h (EINPROGRESS, ...): Remove definitions.
36762
36763 2008-09-13  Bruno Haible  <bruno@clisp.org>
36764
36765         Extend strerror to cover the added errno values.
36766         * lib/strerror.c: Include errno.h and winsock2.h if it exists.
36767         (rpl_strerror): Provide error messages for the added errno values and
36768         for the WSA* values.
36769         * m4/strerror.m4 (gl_FUNC_STRERROR): Test REPLACE_STRERROR.
36770         (gl_FUNC_STRERROR_SEPARATE): If errno.h is replaced, always replace
36771         strerror.
36772         (gl_PREREQ_STRERROR): Test whether winsock2.h exists.
36773         * modules/strerror (Depends-on): Add errno.
36774         * doc/posix-functions/strerror.texi: Document the change.
36775         * tests/test-strerror.c (main): Check also the string for ETIMEDOUT
36776         and EOVERFLOW.
36777
36778 2008-09-13  Bruno Haible  <bruno@clisp.org>
36779
36780         * modules/EOVERFLOW: Remove file.
36781         * m4/eoverflow.m4: Remove file.
36782         * modules/EOVERFLOW-tests: Remove file.
36783         * tests/test-EOVERFLOW.c: Remove file.
36784         * modules/fprintf-posix (Depends-on): Replace EOVERFLOW with errno.
36785         * modules/ftell (Depends-on): Likewise.
36786         * modules/getdelim (Depends-on): Likewise.
36787         * modules/getugroups (Depends-on): Likewise.
36788         * modules/poll (Depends-on): Likewise.
36789         * modules/snprintf (Depends-on): Likewise.
36790         * modules/sprintf-posix (Depends-on): Likewise.
36791         * modules/vasnprintf (Depends-on): Likewise.
36792         * modules/vasprintf (Depends-on): Likewise.
36793         * modules/vfprintf-posix (Depends-on): Likewise.
36794         * modules/vsnprintf (Depends-on): Likewise.
36795         * modules/vsprintf-posix (Depends-on): Likewise.
36796         * modules/xvasprintf (Depends-on): Likewise.
36797         * modules/unistdio/u8-vasnprintf (Depends-on): Likewise.
36798         * modules/unistdio/u8-vasprintf (Depends-on): Likewise.
36799         * modules/unistdio/u8-vsnprintf (Depends-on): Likewise.
36800         * modules/unistdio/u8-vsprintf (Depends-on): Likewise.
36801         * modules/unistdio/u8-u8-vasnprintf (Depends-on): Likewise.
36802         * modules/unistdio/u8-u8-vasprintf (Depends-on): Likewise.
36803         * modules/unistdio/u8-u8-vsnprintf (Depends-on): Likewise.
36804         * modules/unistdio/u8-u8-vsprintf (Depends-on): Likewise.
36805         * modules/unistdio/u16-u16-vasnprintf (Depends-on): Likewise.
36806         * modules/unistdio/u16-u16-vasprintf (Depends-on): Likewise.
36807         * modules/unistdio/u16-u16-vsnprintf (Depends-on): Likewise.
36808         * modules/unistdio/u16-u16-vsprintf (Depends-on): Likewise.
36809         * modules/unistdio/u16-vasnprintf (Depends-on): Likewise.
36810         * modules/unistdio/u16-vasprintf (Depends-on): Likewise.
36811         * modules/unistdio/u16-vsnprintf (Depends-on): Likewise.
36812         * modules/unistdio/u16-vsprintf (Depends-on): Likewise.
36813         * modules/unistdio/u32-vasnprintf (Depends-on): Likewise.
36814         * modules/unistdio/u32-vasprintf (Depends-on): Likewise.
36815         * modules/unistdio/u32-vsnprintf (Depends-on): Likewise.
36816         * modules/unistdio/u32-vsprintf (Depends-on): Likewise.
36817         * modules/unistdio/u32-u32-vasnprintf (Depends-on): Likewise.
36818         * modules/unistdio/u32-u32-vasprintf (Depends-on): Likewise.
36819         * modules/unistdio/u32-u32-vsnprintf (Depends-on): Likewise.
36820         * modules/unistdio/u32-u32-vsprintf (Depends-on): Likewise.
36821         * modules/unistdio/ulc-fprintf (Depends-on): Likewise.
36822         * modules/unistdio/ulc-vasnprintf (Depends-on): Likewise.
36823         * modules/unistdio/ulc-vasprintf (Depends-on): Likewise.
36824         * modules/unistdio/ulc-vfprintf (Depends-on): Likewise.
36825         * modules/unistdio/ulc-vsnprintf (Depends-on): Likewise.
36826         * modules/unistdio/ulc-vsprintf (Depends-on): Likewise.
36827         * MODULES.html.sh: Remove EOVERFLOW.
36828         * NEWS: Mention the change.
36829
36830 2008-09-13  Bruno Haible  <bruno@clisp.org>
36831
36832         * modules/errno-tests: New file.
36833         * tests/test-errno.c: New file, incorporating tests/test-EOVERFLOW.c.
36834
36835         * lib/errno.in.h: New file.
36836         * m4/errno_h.m4: New file, borrowing from m4/eoverflow.m4.
36837         * modules/errno: New file.
36838         * doc/posix-headers/errno.texi: Update documentation.
36839         * MODULES.html.sh (Support for systems lacking POSIX:2001): Add errno.
36840
36841 2008-09-13  Bruno Haible  <bruno@clisp.org>
36842
36843         * tests/test-poll.c: Use #if for native Windows, rather than testing
36844         __MSVCRT__.
36845
36846 2008-09-13  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
36847             Bruno Haible  <bruno@clisp.org>
36848
36849         * lib/glob.c: Don't include <pwd.h> on native Windows.
36850         (WINDOWS32): New macro.
36851         (glob) [WINDOW32]: Provide a reasonable replacement for getenv("HOME").
36852
36853 2008-09-13  Bruno Haible  <bruno@clisp.org>
36854
36855         * lib/glthread/cond.h [USE_SOLARIS_THREADS]
36856         (ETIMEDOUT): Remove macro.
36857         (glthread_cond_timedwait_multithreaded): New declaration.
36858         (glthread_cond_timedwait): Use it.
36859         * lib/glthread/cond.c [USE_SOLARIS_THREADS]
36860         (glthread_cond_timedwait_multithreaded): New function.
36861
36862 2008-09-12  Paolo Bonzini  <bonzini@gnu.org>
36863
36864         * modules/poll-tests: Do not check for io.h.
36865         * tests/test-poll.c: Check for __MSVCRT__ instead.
36866
36867 2008-09-12  Paolo Bonzini  <bonzini@gnu.org>
36868
36869         * lib/sys_socket.in.h (EINPROGRESS): Define for Winsock case.
36870         * modules/poll-tests: Add inet_pton, stdbool, sockets.
36871         * tests/test-poll.c: Use them.  Use _pipe on Windows.
36872
36873 2008-09-12  Paolo Bonzini  <bonzini@gnu.org>
36874
36875         * modules/poll-tests: New.
36876         * tests/test-poll.c: New.
36877
36878 2008-09-12  Eric Blake  <ebb9@byu.net>
36879
36880         frexp: test for NetBSD failure on -0.0
36881         * m4/frexp.m4 (gl_FUNC_FREXP_WORKS): Enhance test, since some, but
36882         not all, bugs from NetBSD 3.0 have been fixed.
36883         * doc/posix-functions/frexp.texi (frexp): Document bug.
36884         Reported by Thomas Klausner.
36885
36886         signbit: work around bug of HP-UX 10.20 cc with -0.0 literal
36887         * m4/signbit.m4 (gl_SIGNBIT_TEST_PROGRAM): Rewrite test to avoid
36888         literal -0.0.
36889         Reported by Jonathan C. Patschke <jp@centtech.com>.
36890
36891 2008-09-11  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
36892
36893         * lib/glthread/cond.h: Use dummy implementation also if
36894         USE_WIN32_THREADS.
36895
36896 2008-09-11  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
36897
36898         * modules/fnmatch-posix (License): Change to LGPLv2+.
36899         * modules/fnmatch-gnu (License): Likewise.
36900
36901 2008-09-11  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
36902
36903         * lib/poll.c (poll): Fix polling unconnected server sockets on WIN32.
36904
36905 2008-09-11  Jim Meyering  <meyering@redhat.com>
36906
36907         * users.txt: Add gtk-vnc.
36908
36909 2008-09-08  Simon Josefsson  <simon@josefsson.org>
36910
36911         * tests/test-bitrotate.c: Test 8/16-bit rotates with 0 and maximum
36912         rotate amounts.
36913
36914         * lib/bitrotate.h: Doc fix, mention that N can be wider than minimally
36915         required for 16-bit and 8-bit rotates.
36916         * lib/bitrotate.h (rotl64, rotr64, rotl32, rotl32, rotl16, rotr16,
36917         rotl8, rotr8): Use UINT64_MAX, UINT32_MAX, UINT16_MAX, and
36918         UINT8_MAX instead of hard-coded constants.
36919         Suggested by Paul Eggert.
36920
36921 2008-09-07  Bruno Haible  <bruno@clisp.org>
36922
36923         * tests/test-striconveh.c (main): Check behaviour when converting from
36924         UTF-7.
36925
36926         Make striconveh work better with stateful encodings.
36927         * lib/striconveh.c (iconv_carefully, iconv_carefully_1): Don't assume
36928         that iconv does not increment the inptr when returning -1/EINVAL.
36929
36930 2008-09-07  Bruno Haible  <bruno@clisp.org>
36931
36932         * build-aux/config.rpath: Update according to libtool-2.2.6.
36933         * build-aux/config.libpath: Likewise.
36934
36935 2008-09-06  Bruno Haible  <bruno@clisp.org>
36936
36937         * lib/freadahead.c (freadahead): Add conditional for SLOW_BUT_NO_HACKS.
36938         * lib/freadptr.c (freadptr): Likewise.
36939         * lib/freadseek.c (freadptrinc): Likewise.
36940         Reported by Simon Josefsson.
36941
36942 2008-09-06  Bruno Haible  <bruno@clisp.org>
36943
36944         * modules/freadptr (License): Change to LGPLv2+.
36945         * modules/freadseek (License): Likewise.
36946         Suggested by Eric Blake.
36947
36948         * modules/memchr2 (License): Change to LGPLv2+.
36949         Approved by Eric Blake.
36950
36951 2008-09-04  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
36952             Bruno Haible  <bruno@clisp.org>
36953
36954         Make gnulib-tool work with native 'sed' on AIX.
36955         * gnulib-tool (sed_noop): New variable.
36956         (func_emit_lib_Makefile_am, func_emit_tests_Makefile_am, func_import,
36957         func_add_or_update, func_create_testdir): Use it to initialize sed
36958         script variables.
36959         Reported by Albert Chin <bug-gnulib@mlists.thewrittenword.com>.
36960
36961 2008-09-04  Albert Chin  <bug-gnulib@mlists.thewrittenword.com>
36962             Bruno Haible  <bruno@clisp.org>
36963
36964         * m4/include_next.m4 (gl_INCLUDE_NEXT): Add check whether #include_next
36965         also works after #include directives.
36966
36967 2008-09-04  OndÅ™ej Vašík  <ovasik@redhat.com>
36968
36969         getdate.y: reject an out-of-range timezone value
36970         * lib/getdate.y (time_zone_hhmm): Reject any TZ offset that is outside
36971         the range [-24...+24].  When specified with only one or two digits,
36972         * tests/test-getdate.c: Tests for the fix.
36973         * doc/getdate.texi: Document this change.
36974
36975 2008-09-03  Bruno Haible  <bruno@clisp.org>
36976
36977         * doc/glibc-functions/strverscmp.texi: Mention the strverscmp module.
36978
36979 2008-09-02  Simon Josefsson  <simon@josefsson.org>
36980
36981         * lib/bitrotate.h (rotl64, rotr64): Add.  Suggested by Bruce Korb
36982         <bruce.korb@gmail.com> with ideas from Ben Pfaff
36983         <blp@cs.stanford.edu>, Bruno Haible <bruno@clisp.org> and Eric
36984         Blake <ebb9@byu.net>.
36985
36986         * tests/test-bitrotate.c: Add more test vectors.
36987
36988 2008-09-02  Eric Blake  <ebb9@byu.net>
36989
36990         vasnprintf-posix: handle large precision via %.*d
36991         * lib/vasnprintf.c (VASNPRINTF): Don't pass precision to snprintf
36992         when handling it ourselves.
36993         * tests/test-vasnprintf-posix.c (test_function): Add test.
36994         * tests/test-snprintf-posix.h (test_function): Likewise.
36995         * tests/test-sprintf-posix.h (test_function): Likewise.
36996         * tests/test-vasprintf-posix.c (test_function): Likewise.
36997         Reported by Alain Guibert.
36998
36999 2008-09-01  Eric Blake  <ebb9@byu.net>
37000
37001         c-stack: make configure-time check more robust
37002         * m4/c-stack.m4 (AC_SYS_XSI_STACK_OVERFLOW_HEURISTIC): Check for
37003         successful sigaction call.
37004         Reported by Tom G. Christensen.
37005
37006 2008-09-01  Bruno Haible  <bruno@clisp.org>
37007
37008         New module 'findprog-lgpl'.
37009         * modules/findprog-lgpl: New file.
37010         * lib/findprog-lgpl.c: New file.
37011         * lib/findprog.c: Compile nothing in findprog.c if findprog-lgpl.c is
37012         also compiled. Consider the possibly defined symbol IN_FINDPROG_LGPL
37013         to decide whether to use strdup or xstrdup, concatenated_filename or
37014         xconcatenated_filename.
37015
37016 2008-09-01  Bruno Haible  <bruno@clisp.org>
37017
37018         Split module 'concat-filename' into 'concat-filename' (LGPL) and
37019         'xconcat-filename' (GPL).
37020         * modules/concat-filename (Depends-on): Add malloc-posix, remove xalloc.
37021         (License): Change to LGPLv2+.
37022         * modules/xconcat-filename: New file.
37023         * lib/concat-filename.h (concatenated_filename): Change specification.
37024         (xconcatenated_filename): New declaration.
37025         * lib/concat-filename.c: Include errno.h, stdlib.h, not xalloc.h.
37026         (concatenated_filename): Use malloc instead of xalloc. Handle out-of-
37027         memory situations.
37028         * lib/xconcat-filename.c: New file.
37029         * NEWS: Mention the change.
37030         * lib/findprog.c: Include concat-filename.h, not filename.h.
37031         (find_in_path): Use xconcatenated_filename instead of
37032         concatenated_filename.
37033         * lib/javacomp.c: Include concat-filename.h, not filename.h.
37034         (is_envjavac_gcj43_usable, is_envjavac_oldgcj_14_14_usable,
37035         is_envjavac_oldgcj_14_13_usable, is_envjavac_nongcj_usable,
37036         is_gcj_present, is_gcj43_usable, is_oldgcj_14_14_usable,
37037         is_oldgcj_14_13_usable, is_javac_usable): Use xconcatenated_filename
37038         instead of concatenated_filename.
37039         * lib/javaexec.c: Include concat-filename.h, not filename.h.
37040         (execute_java_class): Use xconcatenated_filename instead of
37041         concatenated_filename.
37042         * modules/findprog (Depends-on): Add xconcat-filename, remove filename.
37043         * modules/javacomp (Depends-on): Likewise.
37044         * modules/javaexec (Depends-on): Likewise.
37045
37046 2008-09-01  Bruno Haible  <bruno@clisp.org>
37047
37048         Split module 'filename' into 'filename' and 'concat-filename'.
37049         * modules/filename: Keep only lib/filename.h.
37050         (License): Change to LGPLv2+.
37051         * modules/concat-filename: New file, extracted from modules/filename.
37052         * lib/filename.h (concatenated_filename): Remove declaration.
37053         * lib/concat-filename.h: New file, extracted from lib/filename.h.
37054         * lib/concat-filename.c: Include concat-filename.h.
37055         * NEWS: Mention the change.
37056
37057 2008-09-01  Simon Josefsson  <simon@josefsson.org>
37058
37059         * lib/bitrotate.h (rotl8, rotr8): Add.
37060
37061         * modules/bitrotate (configure.ac): Need
37062         AC_REQUIRE([AC_C_INLINE]).
37063         (Description): Mention stdint.h.  Reported by Bruno Haible
37064         <bruno@clisp.org>.
37065
37066         * lib/bitrotate.h (rotr16, rotl16): Fix mask value.  Reported by
37067         Paolo Bonzini <bonzini@gnu.org>.
37068
37069 2008-08-31  Bruno Haible  <bruno@clisp.org>
37070
37071         Assume Solaris specific bi-arch conventions on Solaris systems.
37072         * m4/lib-prefix.m4 (AC_LIB_PREPARE_MULTILIB): On Solaris in 64-bit
37073         mode, set acl_libdirstem to lib/64. Also set acl_libdirstem2.
37074         * m4/lib-link.m4 (AC_LIB_LINKFLAGS_BODY): If acl_libdirstem does not
37075         work, try acl_libdirstem2 as fallback. Otherwise treat acl_libdirstem2
37076         like acl_libdirstem.
37077         (AC_LIB_LINKFLAGS_FROM_LIBS): Treat acl_libdirstem2 like
37078         acl_libdirstem.
37079         * NEWS: Mention the change.
37080         Reported by Ben Taylor <bentaylor.solx86@gmail.com>.
37081
37082 2008-08-31  Jim Meyering  <meyering@redhat.com>
37083
37084         * lib/strftime.h: Add comments describing the two added arguments.
37085
37086         remove duplicate #include directives
37087         * lib/chdir-long.c [TEST_CHDIR]: Remove duplicate #include <stdio.h>.
37088         * lib/putenv.c: Remove duplicate #include <stdlib.h>.
37089
37090 2008-08-31  Bruno Haible  <bruno@clisp.org>
37091
37092         New module 'sigpipe-die'.
37093         * modules/sigpipe-die: New file.
37094         * lib/sigpipe-die.h: New file.
37095         * lib/sigpipe-die.c: New file.
37096         * MODULES.html.sh (Signal handling): Add sigpipe-die.
37097
37098 2008-08-31  Bruno Haible  <bruno@clisp.org>
37099
37100         Don't override previously installed signal handlers.
37101         * lib/fatal-signal.c (saved_sigactions): New variable.
37102         (uninstall_handlers): Reset the signal to the saved handler, not
37103         to SIG_DFL (except when ignored).
37104         (install_handlers): Save the previous handlers.
37105
37106 2008-08-30  Bruno Haible  <bruno@clisp.org>
37107
37108         * gnulib-tool (func_reset_sigpipe): New function.
37109         (func_get_automake_snippet, func_modules_transitive_closure,
37110         func_import): Invoke it before a join command that reads from stdin,
37111         to avoid "echo: write error: Broken pipe" error messages on stderr.
37112         Reported by Sam Steingold <sds@gnu.org>.
37113
37114 2008-08-30  Bruno Haible  <bruno@clisp.org>
37115
37116         * m4/fopen.m4 (gl_FUNC_FOPEN): Test against bug with trailing slash.
37117         Code copied from m4/open.m4.
37118         * lib/fopen.c (rpl_fopen): Return NULL if the mode specifies write
37119         access and the filename ends in a slash. Code copied from lib/open.c.
37120         * doc/posix-functions/fopen.texi: Document bug with trailing slash.
37121         * tests/test-fopen.c (main): Check against bug with trailing slash.
37122
37123 2008-08-29  Bruno Haible  <bruno@clisp.org>
37124
37125         Avoid some "gcc -pedantic" warnings.
37126         * m4/include_next.m4 (gl_INCLUDE_NEXT): Set also PRAGMA_SYSTEM_HEADER.
37127         * lib/arpa_inet.in.h: Use PRAGMA_SYSTEM_HEADER.
37128         * lib/dirent.in.h: Likewise.
37129         * lib/fcntl.in.h: Likewise.
37130         * lib/float.in.h: Likewise.
37131         * lib/iconv.in.h: Likewise.
37132         * lib/inttypes.in.h: Likewise.
37133         * lib/locale.in.h: Likewise.
37134         * lib/math.in.h: Likewise.
37135         * lib/netinet_in.in.h: Likewise.
37136         * lib/search.in.h: Likewise.
37137         * lib/signal.in.h: Likewise.
37138         * lib/stdarg.in.h: Likewise.
37139         * lib/stdint.in.h: Likewise.
37140         * lib/stdio.in.h: Likewise.
37141         * lib/stdlib.in.h: Likewise.
37142         * lib/string.in.h: Likewise.
37143         * lib/strings.in.h: Likewise.
37144         * lib/sys_select.in.h: Likewise.
37145         * lib/sys_socket.in.h: Likewise.
37146         * lib/sys_stat.in.h: Likewise.
37147         * lib/sys_time.in.h: Likewise.
37148         * lib/sysexits.in.h: Likewise.
37149         * lib/time.in.h: Likewise.
37150         * lib/unistd.in.h: Likewise.
37151         * lib/wchar.in.h: Likewise.
37152         * lib/wctype.in.h: Likewise.
37153         * modules/arpa_inet (Makefile.am): Also substitute PRAGMA_SYSTEM_HEADER.
37154         * modules/fchdir (Makefile.am): Likewise.
37155         * modules/fcntl (Makefile.am): Likewise.
37156         * modules/float (Makefile.am): Likewise.
37157         * modules/iconv_open (Makefile.am): Likewise.
37158         * modules/inttypes (Makefile.am): Likewise.
37159         * modules/locale (Makefile.am): Likewise.
37160         * modules/math (Makefile.am): Likewise.
37161         * modules/netinet_in (Makefile.am): Likewise.
37162         * modules/search (Makefile.am): Likewise.
37163         * modules/signal (Makefile.am): Likewise.
37164         * modules/stdarg (Makefile.am): Likewise.
37165         * modules/stdint (Makefile.am): Likewise.
37166         * modules/stdio (Makefile.am): Likewise.
37167         * modules/stdlib (Makefile.am): Likewise.
37168         * modules/string (Makefile.am): Likewise.
37169         * modules/strings (Makefile.am): Likewise.
37170         * modules/sys_select (Makefile.am): Likewise.
37171         * modules/sys_socket (Makefile.am): Likewise.
37172         * modules/sys_stat (Makefile.am): Likewise.
37173         * modules/sys_time (Makefile.am): Likewise.
37174         * modules/sysexits (Makefile.am): Likewise.
37175         * modules/time (Makefile.am): Likewise.
37176         * modules/unistd (Makefile.am): Likewise.
37177         * modules/wchar (Makefile.am): Likewise.
37178         * modules/wctype (Makefile.am): Likewise.
37179         Reported by Reuben Thomas <rrt@sc3d.org>.
37180
37181 2008-08-29  Bruno Haible  <bruno@clisp.org>
37182
37183         * m4/include_next.m4 (gl_INCLUDE_NEXT): Don't define HAVE_INCLUDE_NEXT
37184         any more.
37185
37186 2008-08-29  Simon Josefsson  <simon@josefsson.org>
37187
37188         * MODULES.html.sh (Misc): Add bitrotate.
37189
37190         * modules/bitrotate: New file.
37191
37192         * lib/bitrotate.h: New file.
37193
37194         * modules/bitrotate-tests: New file.
37195
37196         * tests/test-bitrotate.c: New file.
37197
37198         * modules/crypto/gc-arctwo, modules/crypto/arctwo: Add dependency
37199         on the bitrotate module.
37200
37201         * lib/arctwo.c: Use new bitrotate module.
37202
37203 2008-08-29  Jim Meyering  <meyering@redhat.com>
37204
37205         bootstrap: merge changes from coreutils
37206         * build-aux/bootstrap (cp_mark_as_generated): Preserve perms
37207         of copied files.  Remove a kludge, now that this is fixed.
37208         * build-aux/bootstrap: Fix unportable expr usage. (by Ralf Wildenhues)
37209         * build-aux/bootstrap: Remove $bt and $bt2 also when not using gettext.
37210         * build-aux/bootstrap: Remove coreutils-specific SUBDIRS-related code.
37211
37212 2008-08-29  Bruno Haible  <bruno@clisp.org>
37213
37214         * MODULES.html.sh: Remove --cvs-urls option.
37215
37216 2008-08-28  Jose E. Marchesi  <jemarch@gnu.org>  (tiny change)
37217
37218         maint.mk: adjust to file name change
37219         * top/maint.mk: s/Makefile.cfg/cfg.mk/.
37220
37221 2008-08-28  Jim Meyering  <meyering@redhat.com>
37222
37223         * modules/getndelim2 (License): Relicense to LGPLv2+.
37224         Approved by Richard Stallman for the version of 1995, and by
37225         Paul Eggert, Bruno Haible, Eric Blake for their contributions.
37226
37227 2008-08-27  Paolo Bonzini  <bonzini@gnu.org>
37228
37229         * lib/getdelim.c (flockfile, funlockfile): Make all of them
37230         dummy if one is not available.  Do not touch them if
37231         USE_UNLOCKED_IO, instead letting unlocked-io.h do that.
37232         (getc_maybe_unlocked): New.
37233         * m4/getdelim.m4 (gl_PREREQ_GETDELIM): Check for getc_unlocked.
37234
37235 2008-08-26  Eric Blake  <ebb9@byu.net>
37236
37237         doc/INSTALL: resync from autoconf
37238         * doc/Makefile (INSTALL, INSTALL.ISO, INSTALL.UTF-8): Simplify.
37239         (INSTALL_PRELUDE): Delete; this is done more efficiently by
37240         moving...
37241         * install.texi [!autoconf]: ...here.  Resync from autoconf.
37242         * INSTALL: Regenerate.
37243         * INSTALL.ISO: New file.
37244         * INSTALL.UTF-8: Likewise.
37245
37246 2008-08-26  Jim Meyering  <meyering@redhat.com>
37247
37248         GNUmakefile: cfg.mk definitions override default autoreconf-rerun policy
37249         * top/GNUmakefile (_is-dist-target, _is-install-target): Make
37250         these definitions conditional, so that they may be overridden, too.
37251
37252 2008-08-26  Bruno Haible  <bruno@clisp.org>
37253
37254         Generate INSTALL file variants with prettier quotes.
37255         * doc/Makefile (INSTALL_PRELUDE): New macro.
37256         (INSTALL): Use it.
37257         (INSTALL.ISO, INSTALL.UTF-8): New rules.
37258
37259 2008-08-26  Bruno Haible  <bruno@clisp.org>
37260
37261         Run makeinfo in an English locale.
37262         * doc/Makefile (MAKEINFO): New variable.
37263
37264 2008-08-26  Bruno Haible  <bruno@clisp.org>
37265
37266         * doc/Makefile (INSTALL): Use --no-validate instead of --no-warn.
37267         Suggested by Eric Blake.
37268
37269 2008-08-25  Bruno Haible  <bruno@clisp.org>
37270
37271         * doc/Makefile (INSTALL): Generate with @firstparagraphindent set.
37272
37273 2008-08-25  Eric Blake  <ebb9@byu.net>
37274
37275         c-stack: test that stack overflow can be caught
37276         * m4/c-stack.m4 (AC_SYS_XSI_STACK_OVERFLOW_HEURISTIC): Also check
37277         that platform allows handling stack overflow; at least OS/2 EMX
37278         has sigaltstack, but crashes before transferring control to
37279         handler on stack overflow.
37280         * lib/c-stack.c [HAVE_SIGALTSTACK]: Adjust conditions to also
37281         check for HAVE_STACK_OVERFLOW_HANDLING.
37282         Reported by Elbert Pol.
37283
37284 2008-08-25  Bruno Haible  <bruno@clisp.org>
37285
37286         * doc/posix-functions/strftime.texi: Fix description of strftime
37287         module.
37288
37289 2008-08-24  Bruno Haible  <bruno@clisp.org>
37290
37291         * tests/uniwidth/test-uc_width2.c: New file.
37292         * tests/uniwidth/test-uc_width2.sh: New file.
37293         * modules/uniwidth/width-tests (Files): Add the new files.
37294         (TESTS): Add uniwidth/test-uc_width2.sh.
37295         (TESTS_ENVIRONMENT): New variable.
37296         (check_PROGRAMS): Add test-uc_width2.
37297         (test_uc_width2_SOURCES): New variable.
37298
37299         Fix uc_width(0x00AB) bug, introduced on 2007-07-08.
37300         * lib/uniwidth/width.c (nonspacing_table_data): Set bit for 0x00AD,
37301         not 0x00AB.
37302         Reported by Alexander V. Lukyanov <lav@netis.ru>.
37303
37304 2008-08-22  Eric Blake  <ebb9@byu.net>
37305
37306         test-lock, test-tls: mention why a test is skipped
37307         * tests/test-lock.c (main) [!USE_*_THREADS]: Print why test is
37308         skipped.
37309         * tests/test-tls.c (main) [!USE_*_THREADS]: Likewise.
37310
37311         count-one-bits: relax license
37312         * modules/count-one-bits (License): Relicense to LGPLv2+.
37313         Suggested by Ludovic Courtès, approved by Ben Pfaff.
37314
37315 2008-08-22  Andreas Schwab  <schwab@suse.de>
37316
37317         * m4/obstack-printf-posix.m4 (gl_FUNC_OBSTACK_PRINTF_POSIX):
37318         Remove spurious space in assignment.
37319
37320 2008-08-21  Simon Josefsson  <simon@josefsson.org>
37321
37322         * m4/autobuild.m4: Use TZ=UTC0 instead of TZ=UTC.  Reported by
37323         Paul Eggert <eggert@CS.UCLA.EDU>.
37324
37325 2008-08-20  Paolo Bonzini  <bonzini@gnu.org>
37326
37327         * modules/gettext: Add m4/threadlib.m4.
37328
37329 2008-08-19  Eric Blake  <ebb9@byu.net>
37330
37331         test-c-stack: fix compilation failure on FreeBSD 5.0
37332         * tests/test-c-stack.c [HAVE_SETRLIMIT]: Include prerequisite
37333         headers before <sys/resource.h>.
37334         * doc/posix-headers/sys_resource.texi (sys/resource.h): Document
37335         the bug.
37336         Reported by Nelson H. F. Beebe.
37337
37338         strverscmp: migrate from "strverscmp.h" to <string.h>
37339         * modules/string (Makefile.am): Add new hooks.
37340         * modules/strverscmp (Files): Remove strverscmp.h.
37341         (Depends-on): Add string.
37342         (configure.ac): Add indicator.
37343         (Include): Mention new header.
37344         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Provide new
37345         defaults.
37346         * m4/strverscmp.m4 (gl_FUNC_STRVERSCMP): Inform string module of
37347         results.
37348         * lib/strverscmp.h: Delete.
37349         * lib/string.in.h (strverscmp): Provide declaration, when needed.
37350         * tests/test-strverscmp.c (includes): Adjust client.
37351         * lib/check-version.c (includes): Likewise.
37352         * NEWS: Document the change.
37353
37354         strverscmp: add unit test
37355         * modules/strverscmp-tests: New file.
37356         * tests/test-strverscmp.c: Likewise.
37357
37358 2008-08-19  Simon Josefsson  <simon@josefsson.org>
37359
37360         * lib/gc-gnulib.c: Indentation cleanup.  Add some comments
37361         regarding Windows crypto stuff, from Mono.
37362
37363 2008-08-19  Adam Strzelecki <ono@java.pl>  (tiny change)
37364
37365         * lib/gc-gnulib.c: Use CRYPT_VERIFY_CONTEXT.  Try to use Intel CSP
37366         if present, for intel RND.  Return error on failures.
37367
37368 2008-08-18  Ben Pfaff  <blp@gnu.org>
37369
37370         gitlog-to-changelog: give better diagnostic for failed pipe-open
37371         * build-aux/gitlog-to-changelog: Improve error message: suggest
37372         that the version of Git may be too old.
37373
37374 2008-08-18  Simon Josefsson  <simon@josefsson.org>
37375
37376         * m4/autobuild.m4: Use TZ=UTC to avoid time zone complexity.  Use
37377         ISO 8601 format.  Suggested by Greg Troxel <gdt@ir.bbn.com>.
37378
37379 2008-08-18  Bruno Haible  <bruno@clisp.org>
37380
37381         * lib/glthread/thread.h [USE_SOLARIS_THREADS]: Use thread_in_use(), not
37382         pthread_in_use().
37383
37384 2008-08-18  Bruno Haible  <bruno@clisp.org>
37385
37386         * lib/glthread/threadlib.c: Include <pthread.h>.
37387
37388 2008-08-18  Bruno Haible  <bruno@clisp.org>
37389
37390         * lib/glthread/lock.h [USE_SOLARIS_THREADS]: Fix
37391         glthread_recursive_lock_* macros.
37392         * lib/glthread/lock.c (glthread_recursive_lock_destroy_multithreaded):
37393         Fix syntax error.
37394
37395 2008-08-18  Bruno Haible  <bruno@clisp.org>
37396
37397         * lib/glthread/thread.c: Avoid forcing a context switch right after
37398         thread creation.
37399
37400 2008-08-17  Bruno Haible  <bruno@clisp.org>
37401
37402         * lib/glthread/thread.c: New file, based on code from tests/test-lock.c.
37403         * lib/glthread/thread.h: Provide Win32 specific implementation.
37404         * modules/thread (Files): Add lib/glthread/thread.c.
37405         (Depends-on): Add lock.
37406         (Makefile.am): Add glthread/thread.c to lib_SOURCES.
37407
37408 2008-08-17  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
37409
37410         New module 'yield'.
37411         * modules/yield: New file.
37412         * lib/glthread/yield.h: New file.
37413         * m4/yield.m4: New file.
37414         * MODULES.html.sh (Multithreading): Add yield.
37415
37416 2008-08-17  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
37417
37418         New module 'thread'.
37419         * modules/thread: New file.
37420         * lib/glthread/thread.h: New file.
37421         * m4/thread.m4: New file.
37422         * MODULES.html.sh (Multithreading): Add thread.
37423
37424 2008-08-17  Bruno Haible  <bruno@clisp.org>
37425
37426         * lib/glthread/lock.h: Include <stdlib.h> always.
37427         * lib/glthread/tls.h: Likewise.
37428         * lib/glthread/cond.h: Likewise.
37429
37430 2008-08-17  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
37431
37432         New module 'cond'.
37433         * modules/cond: New file.
37434         * lib/glthread/cond.h: New file.
37435         * lib/glthread/cond.c: New file.
37436         * m4/cond.m4: New file.
37437         * MODULES.html.sh (Multithreading): Add cond.
37438
37439 2008-08-16  Eric Blake  <ebb9@byu.net>
37440
37441         c-stack: fix regression on Irix 5.3 from 2008-06-21
37442         * m4/c-stack.m4 (gl_PREREQ_C_STACK): Move check for
37443         sa_sigaction...
37444         * m4/sigaction.m4 (gl_PREREQ_SIG_HANDLER_H): ...here.
37445         (gl_PREREQ_SIGACTION): Depend on sig-handler.h prereq's.
37446         * m4/signal_h.m4 (gl_SIGNAL_H_DEFAULTS): Set the default.
37447         * modules/signal (Makefile.am): Use the value.
37448         * lib/signal.in.h (sa_sigaction) [HAVE_SIGACTION
37449         && !HAVE_STRUCT_SIGACTION_SA_SIGACTION]: Define.
37450         * doc/posix-headers/signal.texi (signal.h): Document this
37451         portability issue.
37452         * doc/posix-functions/sigaction.texi (sigaction): Likewise.
37453         Reported by Tom G. Christensen.
37454
37455 2008-08-17  Bruno Haible  <bruno@clisp.org>
37456
37457         New module 'threadlib'.
37458         * modules/threadlib: New file.
37459         * lib/glthread/threadlib.c: New file, extracted from
37460         lib/glthread/lock.c.
37461         * lib/glthread/lock.c (dummy_thread_func, glthread_in_use): Remove
37462         functions.
37463         * m4/threadlib.m4: New file, from m4/lock.m4, renaming gl_LOCK to
37464         gl_THREADLIB and gl_LOCK_EARLY to gl_THREADLIB_EARLY.
37465         * m4/lock.m4 (gl_LOCK_EARLY, gl_LOCK_EARLY_BODY, gl_LOCK_BODY): Remove
37466         macros.
37467         (gl_LOCK): Just require gl_THREADLIB and perform checks for lock.h.
37468         (gl_DISABLE_THREADS): Remove macro.
37469         * modules/lock (Files): Remove build-aux/config.rpath.
37470         (Depends-on): Remove havelib. Add threadlib.
37471         (configure.ac-early): Remove section.
37472         * m4/tls.m4 (gl_TLS): Require gl_THREADLIB instead of gl_LOCK.
37473         * modules/tls (Depends-on): Remove lock. Add threadlib.
37474         (Link): New section, copied from threadlib.
37475         * MODULES.html.sh (Multithreading): Add threadlib.
37476
37477 2008-08-14  Bruno Haible  <bruno@clisp.org>
37478
37479         * lib/glthread/lock.h (glthread_lock_lock, glthread_lock_unlock,
37480         glthread_lock_destroy, glthread_rwlock_rdlock, glthread_rwlock_wrlock,
37481         glthread_rwlock_unlock, glthread_rwlock_destroy,
37482         glthread_recursive_lock_lock, glthread_recursive_lock_unlock,
37483         glthread_recursive_lock_destroy): Define as macros always.
37484         * lib/glthread/lock.c (glthread_lock_lock_func): Renamed from
37485         glthread_lock_lock.
37486         (glthread_lock_unlock_func): Renamed from glthread_lock_unlock.
37487         (glthread_lock_destroy_func): Renamed from glthread_lock_destroy.
37488         (glthread_rwlock_rdlock_func): Renamed from glthread_rwlock_rdlock.
37489         (glthread_rwlock_wrlock_func): Renamed from glthread_rwlock_wrlock.
37490         (glthread_rwlock_unlock_func): Renamed from glthread_rwlock_unlock.
37491         (glthread_rwlock_destroy_func): Renamed from glthread_rwlock_destroy.
37492         (glthread_recursive_lock_lock_func): Renamed from
37493         glthread_recursive_lock_lock.
37494         (glthread_recursive_lock_unlock_func): Renamed from
37495         glthread_recursive_lock_unlock.
37496         (glthread_recursive_lock_destroy_func): Renamed from
37497         glthread_recursive_lock_destroy.
37498
37499 2008-08-14  Bruno Haible  <bruno@clisp.org>
37500
37501         * lib/glthread/lock.h: Renamed from lib/lock.h.
37502         * lib/glthread/lock.c: Renamed from lib/lock.c. Update includes.
37503         * lib/glthread/tls.h: Renamed from lib/tls.h.
37504         * lib/glthread/tls.c: Renamed from lib/tls.c. Update includes.
37505         * lib/fstrcmp.c: Update includes.
37506         * lib/strsignal.c: Update includes.
37507         * modules/lock (Files, Makefile.am): Update.
37508         (Include): Change to "glthread/lock.h".
37509         * modules/tls (Files, Makefile.am): Update.
37510         (Include): Change to "glthread/tls.h".
37511         * tests/test-lock.c: Update includes.
37512         * tests/test-tls.c: Update includes.
37513         * NEWS: Mention the renamed header files.
37514
37515 2008-08-11  Jim Meyering  <meyering@redhat.com>
37516
37517         * lib/fts_.h: Fix grammar (insert a missing "is") in a comment.
37518
37519 2008-08-11  Eric Blake  <ebb9@byu.net>
37520
37521         test-c-stack: avoid C99-ism
37522         * tests/test-c-stack.c (main): Fix whitespace, move declaration
37523         before statement.
37524         Reported by Alain Guibert.
37525
37526 2008-08-10  Jim Meyering  <meyering@redhat.com>
37527
37528         ensure that return value of uinttostr et al are not ignored
37529         * lib/inttostr.h (__GNUC_PREREQ): Define.
37530         (__attribute_warn_unused_result__): Define.
37531         (offtostr, imaxtostr, umaxtostr, uinttostr): Apply the attribute.
37532
37533 2008-08-07  Paolo Bonzini  <bonzini@gnu.org>
37534
37535         * lib/lock.c (glthread_recursive_lock_init_multithreaded)
37536         [!PTHREAD_RECURSIVE_MUTEX_INITIALIZER]: Fix typo.
37537
37538 2008-08-07  Jim Meyering  <meyering@redhat.com>
37539
37540         * m4/inet_pton.m4: Fix typo in comment: s/inet_ntop/inet_pton/.
37541
37542         * modules/mkstemp (License): Relicense under LGPLv2+.
37543         * modules/tempname (License): Likewise.
37544
37545 2008-08-06  Bruno Haible  <bruno@clisp.org>
37546
37547         * lib/poll.c (poll): Further micro-optimization.
37548
37549 2008-08-06  Jim Meyering  <meyering@redhat.com>
37550
37551         inet_pton.c: use locale-independent tolower
37552         * lib/inet_pton.c: Include <c-ctype.h> rather than <ctype.h>.
37553         (inet_pton6): Use c_tolower rather than tolower.
37554         * modules/inet_pton (Depends-on): Add c-ctype.
37555
37556 2008-08-06  Paolo Bonzini  <bonzini@gnu.org>
37557
37558         * lib/poll.c (poll): Avoid division when timeout is 0, cache
37559         _SC_OPEN_MAX, avoid repeated access to errno.  Check for nfd < 0.
37560
37561 2008-08-06  Jim Meyering  <meyering@redhat.com>
37562
37563         * modules/inet_pton (License): Relicense under LGPLv2+.
37564
37565 2008-08-03  Bruno Haible  <bruno@clisp.org>
37566
37567         Additional non-aborting API for lock and tls.
37568         * lib/lock.h: Include <errno.h>.
37569         (glthread_lock_init): New macro/function.
37570         (gl_lock_init): Define as wrapper around glthread_lock_init.
37571         (glthread_lock_lock): New macro/function.
37572         (gl_lock_lock): Define as wrapper around glthread_lock_lock.
37573         (glthread_lock_unlock): New macro/function.
37574         (gl_lock_unlock): Define as wrapper around glthread_lock_unlock.
37575         (glthread_lock_destroy): New macro/function.
37576         (gl_lock_destroy): Define as wrapper around glthread_lock_destroy.
37577         (glthread_rwlock_init): New macro/function.
37578         (gl_rwlock_init): Define as wrapper around glthread_rwlock_init.
37579         (glthread_rwlock_rdlock): New macro/function.
37580         (gl_rwlock_rdlock): Define as wrapper around glthread_rwlock_rdlock.
37581         (glthread_rwlock_wrlock): New macro/function.
37582         (gl_rwlock_wrlock): Define as wrapper around glthread_rwlock_wrlock.
37583         (glthread_rwlock_unlock): New macro/function.
37584         (gl_rwlock_unlock): Define as wrapper around glthread_rwlock_unlock.
37585         (glthread_rwlock_destroy): New macro/function.
37586         (gl_rwlock_destroy): Define as wrapper around glthread_rwlock_destroy.
37587         (glthread_recursive_lock_init): New macro/function.
37588         (gl_recursive_lock_init): Define as wrapper around
37589         glthread_recursive_lock_init.
37590         (glthread_recursive_lock_lock): New macro/function.
37591         (gl_recursive_lock_lock): Define as wrapper around
37592         glthread_recursive_lock_lock.
37593         (glthread_recursive_lock_unlock): New macro/function.
37594         (gl_recursive_lock_unlock): Define as wrapper around
37595         glthread_recursive_lock_unlock.
37596         (glthread_recursive_lock_destroy): New macro/function.
37597         (gl_recursive_lock_destroy): Define as wrapper around
37598         glthread_recursive_lock_destroy.
37599         (glthread_once): New macro/function.
37600         (gl_once): Define as wrapper around glthread_once.
37601         Update function declarations.
37602         * lib/lock.c (glthread_rwlock_init_multithreaded): Renamed from
37603         glthread_rwlock_init. Return error code.
37604         (glthread_rwlock_rdlock_multithreaded): Renamed from
37605         glthread_rwlock_rdlock. Return error code.
37606         (glthread_rwlock_wrlock_multithreaded): Renamed from
37607         glthread_rwlock_wrlock. Return error code.
37608         (glthread_rwlock_unlock_multithreaded): Renamed from
37609         glthread_rwlock_unlock. Return error code.
37610         (glthread_rwlock_destroy_multithreaded): Renamed from
37611         glthread_rwlock_destroy. Return error code.
37612         (glthread_recursive_lock_init_multithreaded): Renamed from
37613         glthread_recursive_lock_init. Return error code.
37614         (glthread_recursive_lock_lock_multithreaded): Renamed from
37615         glthread_recursive_lock_lock. Return error code.
37616         (glthread_recursive_lock_unlock_multithreaded): Renamed from
37617         glthread_recursive_lock_unlock. Return error code.
37618         (glthread_recursive_lock_destroy_multithreaded): Renamed from
37619         glthread_recursive_lock_destroy. Return error code.
37620         (glthread_once_call): Make static.
37621         (glthread_once_multithreaded): Renamed from glthread_once.
37622         * lib/tls.h: Include <errno.h>.
37623         (glthread_tls_key_init): New macro/function.
37624         (gl_tls_key_init): Define as wrapper around glthread_tls_key_init.
37625         (glthread_tls_set): New macro/function.
37626         (gl_tls_set): Define as wrapper around glthread_tls_set.
37627         (glthread_tls_key_destroy): New macro/function.
37628         (gl_tls_key_destroy): Define as wrapper around glthread_tls_key_destroy.
37629         Update function declarations.
37630         * lib/tls.c (glthread_tls_get_multithreaded): Renamed from
37631         glthread_tls_get.
37632         Suggested by Yoann Vandoorselaere <yoann@prelude-ids.org>.
37633
37634 2008-08-04  Eric Blake  <ebb9@byu.net>
37635
37636         gnumakefile: use space, not TAB, outside of targets
37637         * top/GNUmakefile (_dummy): Fix whitespace error in prior edit.
37638
37639 2008-08-02  Jim Meyering  <meyering@redhat.com>
37640
37641         getdate.y: avoid locale-dependent date parsing failure
37642         In Turkish locales, getdate would fail to recognize keywords
37643         containing a lowercase "i".  The solution is not to rely on
37644         locale-sensitive case-conversion.
37645         * lib/getdate.y: Include <c-ctype.h> rather than <ctype.h>.
37646         (lookup_word): Use c_toupper in place of toupper.
37647         (yylex, get_date): Use c_ prefixed variants of isspace and isalpha, too.
37648         Reported by Vefa Bicakci <bicave@superonline.com> in
37649         <http://thread.gmane.org/gmane.comp.gnu.coreutils.bugs/14184>.
37650         * modules/getdate (Depends-on): Add c-ctype.
37651
37652 2008-08-02  Bruno Haible  <bruno@clisp.org>
37653
37654         * gnulib-tool (func_import): When updating or creating a .gitignore
37655         file, prepend each added line with a slash, and ignore leading slashes
37656         from the existing lines.
37657         Reported by Joel E. Denny <jdenny@ces.clemson.edu>.
37658
37659 2008-08-02  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
37660
37661         Portability fix for GNU make 3.79.1.
37662         * top/GNUmakefile: Avoid 'else COND', which older GNU make
37663         versions do not understand.
37664
37665 2008-08-01  Bruno Haible  <bruno@clisp.org>
37666
37667         Work around bug of HP-UX 10.20 cc with -0.0 literal.
37668         * tests/test-isnanf.h (zero): New variable.
37669         (main): Avoid literal -0.0f.
37670         * tests/test-isnand.h (zero): New variable.
37671         (main): Avoid literal -0.0.
37672         * tests/test-isnanl.h (zero): New variable.
37673         (main): Avoid literal -0.0L.
37674         * tests/test-isnan.c (zerof, zerod, zerol): New variables.
37675         (test_float, test_double, test_long_double): Avoid literals -0.0f,
37676         -0.0, -0.0L.
37677         * tests/test-signbit.c (test_signbitf): Avoid literal -0.0f.
37678         (test_signbitd): Avoid literal -0.0.
37679         (test_signbitl): Avoid literal -0.0L.
37680         * tests/test-ceilf1.c (zero): New variable.
37681         (main): Avoid literal -0.0f.
37682         * tests/test-ceill.c (zero): New variable.
37683         (main): Avoid literal -0.0L.
37684         * tests/test-floorf1.c (zero): New variable.
37685         (main): Avoid literal -0.0f.
37686         * tests/test-floorl.c (zero): New variable.
37687         (main): Avoid literal -0.0L.
37688         * tests/test-roundf1.c (zero): New variable.
37689         (main): Avoid literal -0.0f.
37690         * tests/test-round1.c (zero): New variable.
37691         (main): Avoid literal -0.0.
37692         * tests/test-roundl.c (zero): New variable.
37693         (main): Avoid literal -0.0L.
37694         * tests/test-truncf1.c (zero): New variable.
37695         (main): Avoid literal -0.0f.
37696         * tests/test-trunc1.c (zero): New variable.
37697         (main): Avoid literal -0.0.
37698         * tests/test-truncl.c (zero): New variable.
37699         (main): Avoid literal -0.0L.
37700         * tests/test-frexp.c (zero): New variable.
37701         (main): Avoid literal -0.0.
37702         * tests/test-frexpl.c (zero): New variable.
37703         (main): Avoid literal -0.0L.
37704         * tests/test-ldexpl.c (zero): New variable.
37705         (main): Avoid literal -0.0L.
37706         * tests/test-snprintf-posix.h (have_minus_zero): Avoid literal -0.0.
37707         (zerod, zerol): New variables.
37708         (test_function): Avoid literals -0.0, -0.0L.
37709         * tests/test-sprintf-posix.h (have_minus_zero): Avoid literal -0.0.
37710         (zerod, zerol): New variables.
37711         (test_function): Avoid literals -0.0, -0.0L.
37712         * tests/test-vasnprintf-posix.c (have_minus_zero): Avoid literal -0.0.
37713         (zerod, zerol): New variables.
37714         (test_function): Avoid literals -0.0, -0.0L.
37715         * tests/test-vasprintf-posix.c (have_minus_zero): Avoid literal -0.0.
37716         (zerod, zerol): New variables.
37717         (test_function): Avoid literals -0.0, -0.0L.
37718         * tests/test-strtod.c (zero): New variable.
37719         (main): Avoid literal -0.0.
37720         Reported by Jonathan C. Patschke <jp@centtech.com>.
37721
37722 2008-07-31  Jim Meyering  <meyering@redhat.com>
37723
37724         sha256.h: correct definition of SHA224_DIGEST_SIZE
37725         * lib/sha256.h (SHA224_DIGEST_SIZE): Define to 28, not 24.
37726         Reported by Paulie Pena IV <paulie4@gmail.com>.
37727         Define as 224 / 8, rather than as a literal.
37728         (SHA256_DIGEST_SIZE): Define as 256/8 rather than equivalent literal.
37729         * lib/sha512.h (SHA384_DIGEST_SIZE): Likewise, define as equiv: 384/8.
37730         (SHA512_DIGEST_SIZE): Likewise, define as equivalent quotient: 512/8.
37731
37732 2008-07-31  Bruno Haible  <bruno@clisp.org>
37733
37734         * lib/regex_internal.h (BITSET_WORD_BITS): Make first conditional work
37735         on HP-UX 10.20 with "cc -Ae". Fix second conditional.
37736         Reported by Jonathan Patschke <jp@centtech.com>.
37737
37738 2008-07-31  Bruno Haible  <bruno@clisp.org>
37739
37740         * gnulib-tool (func_import): Make change from 2008-06-23 more robust.
37741         Reported by Paolo Bonzini <bonzini@gnu.org>.
37742
37743 2008-07-30  Eric Blake  <ebb9@byu.net>
37744
37745         test-strtod: allow compilation without -lm
37746         * tests/test-strtod.c (main): Avoid link dependence on fabs.
37747         Reported by Dennis Clarke <blastwave@gmail.com>.
37748
37749 2008-07-28  Jim Meyering  <meyering@redhat.com>
37750
37751         bootstrap: work also when there are no .po files in po/
37752         * build-aux/bootstrap (update_po_files): Complete the change
37753         that I began in bc960df8c789c878f1c1c54a28a3c2648dead8d9.
37754
37755 2008-07-27  Jim Meyering  <meyering@redhat.com>
37756
37757         * users.txt: Add zile.
37758
37759 2008-07-26  Ben Pfaff  <blp@gnu.org>
37760
37761         Add missing dependencies on new m4/exponent[fdl].m4 files.
37762         * modules/isnanf-nolibm: Add m4/exponentf.m4.
37763         * modules/isnand-nolibm: Add m4/exponentd.m4.
37764         * modules/isnanl-nolibm: Add m4/exponentl.m4.
37765         * modules/signbit-tests: Use m4/exponent[fdl].m4 instead of
37766         m4/isnan[fdl].m4, because the macros actually used moved.
37767         Reported by Jim Meyering.
37768
37769 2008-07-14  Ben Pfaff  <blp@gnu.org>
37770
37771         Add isinf module.
37772         * lib/isinf.c: New file.
37773         * lib/math.in.h: Define isinf macro if we have decided to replace
37774         it.
37775         * m4/isinf.m4: New file.
37776         * m4/math_h.m4: Initialize and substitute variables for isinf
37777         module.
37778         * modules/isinf: New file.
37779         * modules/isinf-tests: New file.
37780         * modules/math: Add substitutions for new module.
37781         * tests/test-isinf.c: New file.
37782         * doc/posix-functions/isinf.texi: Mention new module.
37783         * MODULES.html.sh: Mention new module.
37784
37785 2008-07-14  Ben Pfaff  <blp@gnu.org>
37786
37787         Factor out some macros for use by additional modules.
37788         * m4/isnanf.m4 (gl_FLOAT_EXPONENT_LOCATION): Move into new file
37789         exponentf.m4.
37790         * m4/isnand.m4 (gl_DOUBLE_EXPONENT_LOCATION): Move into new file
37791         exponentd.m4.
37792         * m4/isnanl.m4 (gl_LONG_DOUBLE_EXPONENT_LOCATION): Move into new
37793         file exponentl.m4.
37794         * m4/exponentf.m4: New file.
37795         * m4/exponentd.m4: New file.
37796         * m4/exponentl.m4: New file.
37797         * modules/isnanf: Use new file m4/exponentf.m4.
37798         * modules/isnand: Use new file m4/exponentd.m4.
37799         * modules/isnanl: Use new file m4/exponentl.m4.
37800
37801 2008-07-23  Ulrich Drepper  <drepper@redhat.com>
37802
37803         mktime.c: normalize tp->tm_isdst value to -1/0/1.
37804         * lib/mktime.c (__mktime_internal): Normalize tp->tm_isdst value.
37805         Reported by Michael Ringe <Michael.Ringe@gmx.de> in
37806         <http://sourceware.org/bugzilla/show_bug.cgi?id=6723>.
37807
37808         * lib/canonicalize-lgpl.c (__realpath): Avoid buffer overflow after
37809         readlink on platforms without PATH_MAX.
37810
37811 2008-07-21  Eric Blake  <ebb9@byu.net>
37812
37813         Warn, not fail, on stale version.
37814         * top/GNUmakefile (_curr-ver): Tone down previous patch.
37815
37816         Don't allow installation with stale devel version number.
37817         * top/GNUmakefile (_is-install-target): New macro.
37818         (_curr-ver): Forbid installation with stale version number.
37819
37820 2008-07-20  Bruno Haible  <bruno@clisp.org>
37821
37822         * modules/c-stack-tests (Makefile.am): Add LIBSIGSEGV to
37823         TESTS_ENVIRONMENT.
37824         * tests/test-c-stack2.sh: React differently if LIBSIGSEGV is in use.
37825
37826 2008-07-20  Bruno Haible  <bruno@clisp.org>
37827
37828         * lib/c-stack.h (c_stack_action): Add documentation.
37829         * lib/c-stack.c (c_stack_action): Remove incomplete documentation.
37830
37831 2008-07-20  Bruno Haible  <bruno@clisp.org>
37832
37833         * modules/canonicalize-lgpl (License): Relicense under LGPLv2+.
37834         * modules/readlink (License): Likewise.
37835
37836 2008-07-17  Eric Blake  <ebb9@byu.net>
37837
37838         * modules/c-stack (Link): Fix typo.
37839
37840         Make c-stack use libsigsegv, when available.
37841         * modules/c-stack (Depends-on): Add libsigsegv.
37842         * modules/c-stack-tests (Makefile.am): Link with libsigsegv, if
37843         needed.
37844         * lib/c-stack.c (SIGSTKSZ): Define fallback.
37845         (segv_handler, overflow_handler, c_stack_action)
37846         [HAVE_LIBSIGSEGV && !HAVE_XSI_STACK_OVERFLOW_HEURISTIC]: Add new
37847         implementation when libsigsegv is available, but only when using
37848         the library is necessary.
37849         * m4/c-stack.m4 (AC_SYS_XSI_STACK_OVERFLOW_HEURISTIC): Add
37850         comment, explaining why XSI check fails on Linux.
37851         (gl_PREREQ_C_STACK): Supply LIBCSTACK, LTLIBCSTACK.
37852         * tests/test-c-stack2.sh: Tweak skip message.
37853         * NEWS: Document new link-time requirements.
37854
37855 2008-07-16  Eric Blake  <ebb9@byu.net>
37856
37857         c-stack: Expose false positives when not using libsigsegv.
37858         * modules/c-stack-tests (Files): Expand test.
37859         * tests/test-c-stack.c (main): Add means to conditionally trigger
37860         non-overflow SIGSEGV.
37861         * tests/test-c-stack2.sh: New file.
37862
37863 2008-07-14  Bruno Haible  <bruno@clisp.org>
37864
37865         * m4/libsigsegv.m4: Remove unneeded AC_PREREQ.
37866         Reported by Eric Blake.
37867
37868 2008-07-14  Sam Steingold  <sds@gnu.org>
37869             Bruno Haible  <bruno@clisp.org>
37870
37871         New module libsigsegv.
37872         * modules/libsigsegv: New file.
37873         * m4/libsigsegv.m4: New file, from GNU clisp sigsegv.m4 with
37874         modifications.
37875         * MODULES.html.sh (Signal handling): New section.
37876
37877 2008-07-14  Bruno Haible  <bruno@clisp.org>
37878
37879         * modules/unictype/ctype-* (Description): Add the word "function".
37880         Improves the resulting doc in MODULES.html.
37881
37882 2008-07-12  Ben Pfaff  <blp@gnu.org>
37883
37884         Add longlong module.
37885         * modules/longlong: New file.
37886
37887 2008-07-12  Bruno Haible  <bruno@clisp.org>
37888
37889         * m4/isnan.m4 (gl_ISNAN): When the replacement is used, set ISNAN_LIBM
37890         to empty.
37891
37892 2008-07-10  Ben Pfaff  <blp@gnu.org>
37893
37894         Add isnan module.
37895         * doc/posix-functions/isnan.texi: Mention new module.
37896         * lib/math.in.h: Define isnan macro if we have decided to replace
37897         it.
37898         * m4/isnan.m4: New file.
37899         * m4/isnanl.m4 (gl_FUNC_ISNANL): Factor out some code into new
37900         macro gl_BUILD_ISNANL so that isnan.m4 can use that functionality
37901         also.
37902         (gl_FUNC_ISNANL_NO_LIBM): Factor out same code, to reduce
37903         redundancy.
37904         * m4/math_h.m4: Initialize and substitute variables for isnan
37905         module.
37906         * modules/isnan: New file.
37907         * modules/isnan-tests: New file.
37908         * modules/math: Add substitutions for new module.
37909         * tests/test-isnan.c: New file.
37910         * MODULES.html.sh: Mention new module.
37911
37912 2008-07-10  Ben Pfaff  <blp@gnu.org>
37913
37914         Add isnanf module.
37915         * lib/isnanf.m4: New file.
37916         * m4/isnanf.m4 (gl_FUNC_ISNANF): New macro.
37917         (gl_HAVE_ISNANF_IN_LIBM): New macro.
37918         (gl_BUILD_ISNANF): New macro used by gl_FUNC_ISNANF,
37919         gl_FUNC_ISNANF_NO_LIBM, and gl_FUNC_ISNAN.
37920         * modules/isnanf: New file.
37921         * modules/isnanf-tests: New file.
37922         * modules/isnanf-nolibm-tests: Add tests/test-isnanf.h to list of
37923         files.
37924         * tests/test-isnanf-nolibm.c: factored most of its contents into
37925         new file tests/test-isnanf.h.
37926         * tests/test-isnanf.h: New file.
37927         * tests/test-isnanf.c: New file.
37928         * MODULES.html.sh: Mention new module.
37929         * doc/glibc-functions/isnanf.texi: Mention new module.
37930
37931 2008-07-10  Ben Pfaff  <blp@gnu.org>
37932
37933         Add isnand module.
37934         * lib/isnand.h: New file.
37935         * m4/isnand.m4 (gl_FUNC_ISNAND): New macro.
37936         (gl_FUNC_ISNAND_NO_LIBM): Split partially into new macro
37937         gl_HAVE_ISNAND_NO_LIBM so that gl_FUNC_ISNAND can use that
37938         functionality also.
37939         (gl_BUILD_ISNAND): New macro used by gl_FUNC_ISNAND,
37940         gl_FUNC_ISNAND_NO_LIBM, and gl_FUNC_ISNAN.
37941         (gl_HAVE_ISNAND_IN_LIBM): New macro.
37942         * modules/isnand: New file.
37943         * modules/isnand-tests: New file.
37944         * modules/isnand-nolibm-tests: Add tests/test-isnand.h to list of
37945         files.
37946         * tests/test-isnand-nolibm.c: factored most of its contents into
37947         new file tests/test-isnand.h.
37948         * tests/test-isnand.h: New file.
37949         * tests/test-isnand.c: New file.
37950         * MODULES.html.sh: Mention new module.
37951
37952 2008-07-10  Ben Pfaff  <blp@gnu.org>
37953
37954         * lib/isnanf.h: Rename lib/isnanf-nolibm.h.
37955         * lib/isnand.h: Rename lib/isnand-nolibm.h.
37956         * tests/test-isnanf.c: Rename tests/test-isnanf-nolibm.c.
37957         * tests/test-isnand.c: Rename tests/test-isnand-nolibm.c.
37958         * modules/isnanf-nolibm: Update references to renamed files.
37959         * modules/isnand-nolibm: Likewise.
37960         * modules/isnanf-nolibm-tests: Likewise.
37961         * modules/isnand-nolibm-tests: Likewise.
37962         * lib/frexp.c: Likewise.
37963         * lib/isfinite.c: Likewise.
37964         * lib/signbitd.c: Likewise.
37965         * lib/signbitf.c: Likewise.
37966         * lib/vasnprintf.c: Likewise.
37967         * tests/test-ceilf1.c: Likewise.
37968         * tests/test-ceilf2.c: Likewise.
37969         * tests/test-floorf1.c: Likewise.
37970         * tests/test-floorf2.c: Likewise.
37971         * tests/test-frexp.c: Likewise.
37972         * tests/test-round1.c: Likewise.
37973         * tests/test-round2.c: Likewise.
37974         * tests/test-roundf1.c: Likewise.
37975         * tests/test-strtod.c: Likewise.
37976         * tests/test-trunc1.c: Likewise.
37977         * tests/test-trunc2.c: Likewise.
37978         * tests/test-truncf1.c: Likewise.
37979         * tests/test-truncf2.c: Likewise.
37980         * NEWS: Mention the renamed header files.
37981
37982 2008-07-11  Jim Meyering  <meyering@redhat.com>
37983
37984         vc-list-files: make the last-resort awk code more portable
37985         * build-aux/vc-list-files: Don't rely on awk's "sub" command.
37986         /bin/awk from OpenSolaris 11's SUNWesu version 2008.03.22.10.56
37987         does not support it.
37988
37989 2008-07-10  Eric Blake  <ebb9@byu.net>
37990
37991         Work with tar's bootstrap.
37992         * gnulib-tool (func_emit_initmacro_end): Use m4_defn in the case
37993         where LIBSOURCES_DIR contains .#bootmp but must not be treated as
37994         an m4 comment.
37995
37996 2008-07-09  Jim Meyering  <meyering@redhat.com>
37997
37998         posix-shell.m4: fix typo that made this test malfunction
37999         * m4/posix-shell.m4: Remove capitalization in variable name.
38000
38001 2008-07-08  Bruno Haible  <bruno@clisp.org>
38002
38003         * m4/onceonly.m4: Update comments.
38004         Reported by Ben Pfaff <blp@cs.stanford.edu>.
38005
38006 2008-07-04  Jim Meyering  <meyering@redhat.com>
38007
38008         * users.txt: Add vc-dwim.
38009         (bison, coreutils): Use the gitweb URL.
38010
38011 2008-07-03  Jim Meyering  <meyering@redhat.com>
38012
38013         * users.txt: Add libffcall.  From Sam Steingold.
38014
38015 2008-07-03  OndÅ™ej Vašík  <ovasik@redhat.com>
38016
38017         getdate.y: do not ignore TZ with relative day, month or year offset
38018         * lib/getdate.y (get_date): Move the tz-handling block to follow the
38019         relative-date-handling, since otherwise, the latter would clobber the
38020         sole output (an updated Start value) of the tz-handling block.
38021         * tests/test-getdate.c: Tests for the fix
38022
38023 2008-07-03  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
38024
38025         Recognize 'foo_LIBRARIES += libgnu.a'.
38026         * gnulib-tool (func_emit_lib_Makefile_am): Recognize if a
38027         makefile snippet has already specified an installation location,
38028         also using '+='.
38029
38030 2008-07-02  OndÅ™ej Vašík  <ovasik@redhat.com>
38031
38032         getdate.y: factor out common actions
38033         * lib/getdate.y (apply_relative_time, set_hhmmss): New functions.
38034         Use them in place of open-coded actions.
38035
38036 2008-07-01  Simon Josefsson  <simon@josefsson.org>
38037
38038         Add self-test for getdate module.
38039         * modules/getdate-tests: New file.
38040         * tests/test-getdate.c: New file.
38041
38042 2008-06-29  Bruno Haible  <bruno@clisp.org>
38043
38044         * gnulib-tool (func_import): Put gnulib-comp.m4 into .cvsignore or
38045         .gitignore.
38046         Reported by Sylvain Beucler <beuc@beuc.net>.
38047
38048 2008-06-29  Bruno Haible  <bruno@clisp.org>
38049
38050         * doc/gnulib-tool.texi (VCS Issues): Mention --no-vc-files option.
38051         * m4/gnulib-tool.m4: Update to match current gnulib-tool.
38052
38053 2008-06-29  Bruno Haible  <bruno@clisp.org>
38054
38055         * gnulib-tool (func_import): Recommend to put gnulib-cache.m4 into
38056         EXTRA_DIST.
38057         Reported by Sylvain Beucler <beuc@beuc.net>.
38058
38059 2008-06-26  Jim Meyering  <meyering@redhat.com>
38060
38061         make several modules depend on the "open" module
38062         This provides slightly increased consistency when opening-for-write
38063         the name of a non-directory spelled with a trailing slash.
38064         * modules/chdir-safer: Likewise.
38065         * modules/chown: Likewise.
38066         * modules/clean-temp: Likewise.
38067         * modules/copy-file: Likewise.
38068         * modules/fchdir: Likewise.
38069         * modules/fcntl-safer: Likewise.
38070         * modules/pipe: Likewise.
38071         * modules/utime: Likewise.
38072         Prompted by Eric Blake and Bruno Haible.
38073
38074 2008-06-24  Andreas Schwab  <schwab@suse.de>
38075
38076         * m4/getdate.m4 (gl_C_COMPOUND_LITERALS): Don't test whether compound
38077         literals can be used as initializers for global variables.
38078
38079 2008-06-23  Eric Blake  <ebb9@byu.net>
38080
38081         Make gnulib-cache.m4 easier to diff.
38082         * gnulib-tool (func_import): Allow newlines when reading cached
38083         gl_MODULES, and generate newlines when creating gnulib-cache.m4.
38084
38085 2008-06-23  Bruno Haible  <bruno@clisp.org>
38086
38087         * m4/signalblocking.m4 (gl_PREREQ_SIG_HANDLER_H): Remove macro.
38088         (gl_PREREQ_SIGPROCMASK): Don't invoke it.
38089         * m4/sigaction.m4 (gl_PREREQ_SIG_HANDLER_H): New macro, moved here from
38090         m4/signalblocking.m4.
38091         (gl_PREREQ_SIGACTION): Don't invoke it.
38092         * m4/nanosleep.m4 (gl_PREREQ_NANOSLEEP): Invoke
38093         gl_PREREQ_SIG_HANDLER_H.
38094         * m4/fatal-signal.m4 (gl_FATAL_SIGNAL): Likewise.
38095         Don't check for sigaction here.
38096
38097 2008-06-23  Bruno Haible  <bruno@clisp.org>
38098
38099         * lib/fatal-signal.c (fatal_signal_handler): Update comment.
38100         (install_handlers): Don't set the SA_RESETHAND flag.
38101
38102 2008-06-23  Bruno Haible  <bruno@clisp.org>
38103
38104         * m4/sigaction.m4: Comment fixes.
38105         * lib/signal.in.h: Likewise.
38106
38107 2008-06-23  Eric Blake  <ebb9@byu.net>
38108
38109         Fix typo.
38110         * tests/test-sigaction.c (MASK_SA_FLAGS): Add missing operator.
38111
38112         Avoid SA_ namespace.
38113         * tests/test-sigaction.c (MASK_SA_FLAGS): Rename from SA_MASK.
38114         Reported by Ralf Wildenhues.
38115
38116         Avoid test failure due to SA_RESTORER.
38117         * tests/test-sigaction.c (SA_MASK): New macro.
38118         (main): Avoid failing due to extension flags being set.
38119         Reported by Jim Meyering.
38120
38121         Revert use of sig-handler.h in sigprocmask.c.
38122         * modules/sigprocmask (Files): Don't rely on sig-handler.h, since
38123         it requires the existence of struct sigaction.
38124         * lib/sigprocmask.c (handler_t): Restore typedef.
38125         (rpl_signal, old_handlers): Use local type.
38126
38127 2008-06-22  Bruno Haible  <bruno@clisp.org>
38128
38129         * tests/test-stdint.c: Disable the INTMAX_MAX preprocessor test
38130         conditionally.
38131         Reported by Albert Chin <bug-gnulib@mlists.thewrittenword.com>.
38132
38133 2008-06-22  Bruno Haible  <bruno@clisp.org>
38134
38135         * doc/posix-functions/siginterrupt.texi: Move note.
38136
38137         * lib/signal.in.h (SA_RESTART): New macro.
38138         * lib/sigaction.c: Update comment.
38139
38140         * m4/sigaction.m4 (gl_SIGACTION): Require gl_SIGNAL_H_DEFAULTS.
38141
38142         * m4/signalblocking.m4 (gl_PREREQ_SIG_HANDLER_H): New macro.
38143         (gl_PREREQ_SIGPROCMASK): Invoke it.
38144         * m4/sigaction.m4 (gl_PREREQ_SIGACTION): Likewise.
38145
38146         * lib/nanosleep.c (rpl_nanosleep): Setup newact only when it is needed.
38147
38148         * lib/sigprocmask.c: Update a comment.
38149
38150 2008-06-21  Eric Blake  <ebb9@byu.net>
38151
38152         Use sigaction module rather than signal().
38153         * modules/c-stack (Depends-on): Add sigaction.
38154         * modules/fatal-signal (Depends-on): Likewise.
38155         * modules/nanosleep (Depends-on): Likewise.
38156         * modules/sigprocmask (Files): Add sig-handler.h.
38157         * modules/sigaction (Files): Likewise.
38158         * lib/sig-handler.h (get_handler): New file, suggested by Paul
38159         Eggert.
38160         * lib/c-stack.c (SIGACTION_WORKS): Simplify conditions.
38161         (c_stack_action) [!SIGACTION_WORKS]: Use sigaction, not signal.
38162         * lib/fatal-signal.c (uninstall_handlers, install_handlers)
38163         (init_fatal_signals): Likewise.
38164         * lib/nanosleep.c (rpl_nanosleep): Likewise.
38165         (siginterrupt): Delete fallback.
38166         * lib/sigprocmask.c (handler_t, old_handlers): Use sa_handler_t
38167         instead.
38168         * m4/nanosleep.m4 (gl_PREREQ_NANOSLEEP): Drop check for
38169         siginterrupt.
38170
38171         New module sigaction, for mingw.
38172         * modules/sigaction: New module...
38173         * modules/sigaction-tests: ...and its test.
38174         * m4/sigaction.m4: New file.
38175         * lib/sigaction.c: Likewise.
38176         * tests/test-sigaction.c: Likewise.
38177         * m4/signal_h.m4 (gl_SIGNAL_H_DEFAULTS): Add sigaction variables.
38178         * modules/signal (Makefile.am): Likewise.
38179         * lib/signal.in.h (!@HAVE_SIGACTION@): Define replacements when
38180         needed.
38181         * doc/posix-headers/signal.texi (signal.h): Mention provided
38182         types.
38183         * doc/posix-functions/siginterrupt.texi (siginterrupt): Mention
38184         that sigaction is preferable.
38185         * doc/posix-functions/sigaction.texi (sigaction): Mention new
38186         module.
38187         * MODULES.html.sh (Support for systems lacking POSIX:2001): Add
38188         sigaction.
38189
38190         Improve robustness of sigprocmask by overriding signal.
38191         * lib/signal.in.h (rpl_signal): Override signal when sigprocmask
38192         is in use.
38193         * lib/sigprocmask.c (blocked_handler): Reinstall block handler.
38194         (SIGKILL, SIGSTOP): Provide fallbacks.
38195         (rpl_signal): Implement.
38196         (old_handlers, blocked_set): Mark volatile, since sigprocmask and
38197         signal can be called inside handlers.
38198
38199         Fix nanosleep module on mingw.
38200         * modules/nanosleep (Depends-on): Add sys_select.
38201         * lib/nanosleep.c (HAVE_SYS_SELECT_H): Rely on gnulib module.
38202
38203         Fix licensing of sigprocmask.
38204         * modules/raise (License): Relicense as LGPL.
38205
38206 2008-06-21  Bruno Haible  <bruno@clisp.org>
38207
38208         * lib/propername.c (proper_name_utf8): Don't use the transliterated
38209         result if it contains question marks.
38210         Reported by Michael Geng <linux@michaelgeng.de>.
38211
38212 2008-06-19  Bruno Haible  <bruno@clisp.org>
38213
38214         Fix CVS-ism.
38215         * doc/gnulib.texi: Include updated-stamp.texi.
38216         * doc/Makefile (GNULIB_TEXI_FILES): New variable.
38217         (updated-stamp.texi): New rule.
38218         (gnulib.info): Depend on it.
38219         * doc/.gitignore: Add updated-stamp.texi.
38220         Based on a patch by Thien-Thi Nguyen <ttn@gnuvola.org>.
38221
38222 2008-06-19  Bruno Haible  <bruno@clisp.org>
38223
38224         * doc/Makefile (gnulib.info): Update and simplify dependencies.
38225         Reported by Thien-Thi Nguyen <ttn@gnuvola.org>.
38226
38227 2008-06-19  Eric Blake  <ebb9@byu.net>
38228
38229         Fix VPATH 'make dist' with GNU make and non-VCS tarball.
38230         * top/GNUmakefile (_curr-ver): Don't use $(srcdir) unnecessarily.
38231         Reported by Stepan Kasal.
38232
38233 2008-06-18  Bruno Haible  <bruno@clisp.org>
38234
38235         * lib/fatal-signal.c (init_fatal_signals): Add comment.
38236         Reported by Eric Blake.
38237
38238 2008-06-18  Eric Blake  <ebb9@byu.net>
38239
38240         Work around cygwin 1.5.25 strsignal bug.
38241         * tests/test-strsignal.c: Allow for const char *.
38242         * doc/glibc-functions/strsignal.texi (strsignal): Document the bug.
38243
38244 2008-06-18  Simon Josefsson  <simon@josefsson.org>
38245
38246         * users.txt: Update URL to article and add author/date
38247         information.
38248
38249 2008-06-17  Bruno Haible  <bruno@clisp.org>
38250
38251         New macro gl_DISABLE_THREADS.
38252         * m4/lock.m4 (gl_LOCK_EARLY_BODY): Use value gl_use_threads_default
38253         if the user did not pass --enable-threads or --disable-threads option.
38254         (gl_DISABLE_THREADS): New macro.
38255         Reported by Eric Blake <ebb9@byu.net>.
38256
38257 2008-06-17  Bruno Haible  <bruno@clisp.org>
38258
38259         * lib/tls.h (gl_tls_key_init): Evaluate the destructor argument also
38260         when the macro ignores it.
38261         Based on a patch by Eric Blake <ebb9@byu.net>.
38262
38263 2008-06-17  Bruno Haible  <bruno@clisp.org>
38264
38265         * modules/tls (License): Change to LGPLv2+.
38266         Reported by Eric Blake.
38267
38268 2008-06-17  Eric Blake  <ebb9@byu.net>
38269
38270         Simplify c-stack prerequisites.
38271         * lib/c-stack.c (includes): Remove unused <sys/resource.h>.
38272         * m4/c-stack.m4 (AC_SYS_XSI_STACK_OVERFLOW_HEURISTIC): Posix 200x
38273         no longer requires <ucontext.h> to exist.  Optimize setrlimit
38274         check.
38275         (gl_PREREQ_C_STACK): Remove check for unused getcontext and
38276         <sys/resource.h>.
38277
38278         Move c-stack test into testsuite.
38279         * modules/c-stack-tests: New file.
38280         * lib/c-stack.c [DEBUG]: Move test program...
38281         * tests/test-c-stack.c: ...into this new file.  Skip rather than
38282         fail test if sigaltstack is lacking.
38283         * tests/test-c-stack.sh: New driver file.
38284
38285 2008-06-16  Eric Blake  <ebb9@byu.net>
38286
38287         Use raise module consistently.
38288         * modules/fatal-signal (Depends-on): Add raise.
38289         * modules/sigprocmask (Depends-on): Likewise.
38290         * lib/fatal-signal.c (fatal_signal_handler): Rely on raise.
38291         * lib/sigprocmask.c (sigprocmask): Likewise.
38292         * m4/fatal-signal.m4 (gl_FATAL_SIGNAL): Likewise.
38293         * m4/signalblocking.m4 (gl_PREREQ_SIGPROCMASK): Likewise.
38294
38295         Fix compliance bug in sigpending.
38296         * lib/sigprocmask.c (sigpending): Return pending array via
38297         parameter, not return value.
38298
38299 2008-06-14  Eric Blake  <ebb9@byu.net>
38300
38301         Improve obstack-printf test code.
38302         * tests/test-obstack-printf.c (test_function): Fix comment, and
38303         simplify usage of obstack_* in macros.  Add a test for coverage.
38304         Reported by Bruno Haible.
38305
38306 2008-06-14  Bruno Haible  <bruno@clisp.org>
38307
38308         * lib/obstack_printf.c (obstack_vprintf): Define the stack-allocated
38309         array size as a constant, not as a const variable.
38310         * m4/obstack-printf.m4 (gl_FUNC_OBSTACK_PRINTF): Require
38311         AC_USE_SYSTEM_EXTENSIONS.
38312         * m4/obstack-printf-posix.m4 (gl_FUNC_OBSTACK_PRINTF_POSIX): Likewise.
38313         Test whether the obstack_printf function actually exists.
38314         * modules/obstack-printf (Depends-on): Add extensions.
38315         (Include): Remove obstack.h.
38316         * modules/obstack-printf-posix (Depends-on): Add extensions.
38317         (Include): Remove obstack.h.
38318
38319 2008-06-13  Eric Blake  <ebb9@byu.net>
38320
38321         Add obstack-printf and obstack-printf-posix modules.
38322         * modules/obstack-printf: New file.
38323         * modules/obstack-printf-posix: Likewise.
38324         * MODULES.html.sh (Misc): Mention them.
38325         * doc/glibc-functions/obstack_printf.texi (obstack_printf):
38326         Likewise.
38327         * doc/glibc-functions/obstack_vprintf.texi (obstack_vprintf):
38328         Likewise.
38329         * modules/stdio (Makefile.am): Accomodate new modules.
38330         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Likewise.
38331         * lib/stdio.in.h (rpl_obstack_printf, rpl_obstack_vprintf):
38332         Declare.
38333         * lib/obstack_printf.c (obstack_printf, obstack_vprintf): New
38334         functions.
38335         * m4/obstack-printf.m4 (gl_OBSTACK_PRINTF)
38336         (gl_REPLACE_OBSTACK_PRINTF): New macros
38337         * m4/obstack-printf-posix.m4 (gl_OBSTACK_PRINTF_POSIX): Likewise.
38338         * tests/test-obstack-printf.c: New file.
38339         * modules/obstack-printf-tests: Likewise.
38340         * modules/obstack-printf-posix-tests: Likewise.
38341
38342 2008-06-11  Bruno Haible  <bruno@clisp.org>
38343
38344         * m4/open.m4 (gl_FUNC_OPEN): Add test against trailing slash bug.
38345         * lib/open.c: Include errno.h.
38346         (open): Fail when attempting to write to a file that has a trailing
38347         slash.
38348         * tests/test-open.c (main): Test against trailing slash bug.
38349         * doc/posix-functions/open.texi: Mention the trailing slash bug.
38350
38351 2008-06-10  Bruno Haible  <bruno@clisp.org>
38352
38353         * tests/test-vc-list-files-git.sh: Make double use of 'exit'. Needed
38354         for $? to work inside the trap command, with various /bin/sh-s.
38355         * tests/test-vc-list-files-cvs.sh: Likewise.
38356
38357 2008-06-10  Bruno Haible  <bruno@clisp.org>
38358
38359         * lib/acl-internal.h: Don't include gettext.h here.
38360         * lib/set-mode-acl.c: Include gettext.h here.
38361         * lib/copy-acl.c: Likewise.
38362
38363 2008-06-10  Bruno Haible  <bruno@clisp.org>
38364
38365         * lib/wait-process.h (wait_subprocess): Add termsigp argument.
38366         * lib/wait-process.c (wait_subprocess): Likewise.
38367         * lib/execute.h (execute): Add termsigp argument.
38368         * lib/execute.c (execute): Likewise.
38369         * lib/csharpcomp.c (compile_csharp_using_pnet,
38370         compile_csharp_using_mono, compile_csharp_using_sscli): Update.
38371         * lib/csharpexec.c (execute_csharp_using_pnet,
38372         execute_csharp_using_mono, execute_csharp_using_sscli): Update.
38373         * lib/javacomp.c (compile_using_envjavac, compile_using_gcj,
38374         compile_using_javac, compile_using_jikes, is_envjavac_gcj,
38375         is_envjavac_gcj43, is_gcj_present, is_gcj_43, is_javac_present,
38376         is_jikes_present): Update.
38377         * lib/javaexec.c (execute_java_class): Update.
38378         * lib/javaversion.c (execute_and_read_line): Update.
38379         * NEWS: Document the changes.
38380         Reported by Eric Blake.
38381
38382 2008-06-10  Eric Blake  <ebb9@byu.net>
38383
38384         Add missing include.
38385         * tests/test-strstr.c (includes): Add <signal.h>.
38386         * tests/test-strcasestr.c (includes): Likewise.
38387         * tests/test-memmem.c (includes): Likewise.
38388
38389 2008-06-10  Bruno Haible  <bruno@clisp.org>
38390
38391         * lib/wait-process.c (wait_subprocess): Add an assertion.
38392
38393 2008-06-10  Bruno Haible  <bruno@clisp.org>
38394
38395         * lib/wait-process.c (wait_subprocess): Try to fix waitid() based code.
38396
38397 2008-06-10  Bruno Haible  <bruno@clisp.org>
38398
38399         * tests/test-memmem.c (main): Reset SIGALRM to default handling before
38400         using alarm().
38401         * tests/test-strcasestr.c (main): Likewise.
38402         * tests/test-strstr.c (main): Likewise.
38403
38404 2008-06-09  Bruno Haible  <bruno@clisp.org>
38405
38406         Work around the Solaris 10 ACE ACLs ABI change.
38407         * lib/acl-internal.h (acl_nontrivial, acl_ace_nontrivial): Don't
38408         declare if ACL_NO_TRIVIAL is present.
38409         (ACE_ACCESS_ALLOWED_ACE_TYPE, ACE_ACCESS_DENIED_ACE_TYPE,
38410         NEW_ACE_OWNER, NEW_ACE_GROUP, NEW_ACE_IDENTIFIER_GROUP, ACE_EVERYONE,
38411         NEW_ACE_READ_DATA, NEW_ACE_WRITE_DATA, NEW_ACE_EXECUTE): New macros.
38412         * lib/file-has-acl.c (acl_nontrivial, acl_ace_nontrivial): Don't
38413         define if ACL_NO_TRIVIAL is present.
38414         (acl_ace_nontrivial): Detect whether the old or new ABI is in use,
38415         and use the current ABI.
38416         (file_has_acl): Use same #if condition as elsewhere.
38417         * lib/set-mode-acl.c (qset_acl): Detect whether the old or new ABI is
38418         in use, and use the current ABI.
38419         * doc/acl-resources.txt: More doc about newer Solaris 10 versions.
38420         Reported by Jim Meyering.
38421
38422 2008-06-09  Eric Blake  <ebb9@byu.net>
38423
38424         Work around environments that (stupidly) ignore SIGALRM.
38425         * m4/strstr.m4 (gl_FUNC_STRSTR): Reset SIGALRM to default handling
38426         before using alarm().
38427         * m4/strcasestr.m4 (gl_FUNC_STRCASESTR): Likewise.
38428         * m4/memmem.m4 (gl_FUNC_MEMMEM): Likewise.
38429         Reported by Ian Beckwith <ianb@erislabs.net>.
38430
38431         Produce autobuild blurb earlier in log.
38432         * modules/autobuild (configure.ac-early): Move AB_INIT here.
38433
38434 2008-06-09  Jim Meyering  <meyering@redhat.com>
38435         and OndÅ™ej Vašík  <ovasik@redhat.com>
38436
38437         utimens.c: correct kernel bug work-around
38438         OndÅ™ej Vašík found that the invalid return value of 280 indicates
38439         failure, not success, and the kernel bug we're trying to work
38440         around affects not just the utimensat call, but also the fallback
38441         futimens call.
38442         * lib/utimens.c (gl_futimens) [HAVE_UTIMENSAT]: Simulate failure,
38443         not success.
38444         [HAVE_FUTIMENS]: Use the same work-around, here.
38445
38446 2008-06-09  Jim Meyering  <meyering@redhat.com>
38447
38448         add more guards around definition of ACE_-related code
38449         * lib/file-has-acl.c (acl_ace_nontrivial): Define only if
38450         ALLOW and ACE_OWNER are also defined.
38451
38452 2008-06-08  Bruno Haible  <bruno@clisp.org>
38453
38454         * lib/acl-internal.h: Add me as co-author.
38455         * lib/file-has-acl.c: Likewise.
38456         * lib/set-mode-acl.c: Likewise.
38457         * lib/copy-acl.c: Likewise.
38458
38459 2008-06-08  Bruno Haible  <bruno@clisp.org>
38460
38461         Add support for AIX ACLs.
38462         * lib/acl-internal.h (acl_nontrivial): New declaration.
38463         * lib/file-has-acl.c (acl_nontrivial): New function.
38464         (file_has_acl): Add implementation using AIX 4 ACL API.
38465         * lib/set-mode-acl.c (qset_acl): Likewise.
38466         * lib/copy-acl.c (qcopy_acl): Likewise.
38467
38468 2008-06-08  Bruno Haible  <bruno@clisp.org>
38469
38470         Add support for HP-UX ACLs.
38471         * lib/acl-internal.h (acl_nontrivial): New declaration.
38472         * lib/file-has-acl.c (acl_nontrivial): New function.
38473         (file_has_acl): Add implementation using HP-UX 11 ACL API.
38474         * lib/set-mode-acl.c (qset_acl): Likewise.
38475         * lib/copy-acl.c (qcopy_acl): Likewise.
38476
38477 2008-06-08  Bruno Haible  <bruno@clisp.org>
38478
38479         Add support for Cygwin ACLs.
38480         * lib/acl-internal.h (MODE_INSIDE_ACL): New macro for Solaris-like API.
38481         * lib/set-mode-acl.c (qset_acl) [!MODE_INSIDE_ACL]: Don't optimize away
38482         the chmod_or_fchmod call.
38483         * lib/copy-acl.c (qcopy_acl) [!MODE_INSIDE_ACL]: Likewise.
38484
38485 2008-06-08  Bruno Haible  <bruno@clisp.org>
38486
38487         Fix bug with setuid modes in Solaris 10+ code.
38488         * lib/set-mode-acl.c (qset_acl): Call chmod_or_fchmod when acl_set
38489         succeeded, when the mode contains some special bits.
38490
38491 2008-06-08  Bruno Haible  <bruno@clisp.org>
38492
38493         Add support for Solaris 7..10 ACLs.
38494         * lib/acl-internal.h (acl_nontrivial, acl_ace_nontrivial): New
38495         declarations.
38496         * lib/file-has-acl.c (acl_nontrivial, acl_ace_nontrivial): New
38497         functions.
38498         (file_has_acl): Add implementation using Solaris 7..10 ACL API.
38499         * lib/set-mode-acl.c (qset_acl): Likewise.
38500         * lib/copy-acl.c (qcopy_acl): Likewise.
38501
38502 2008-06-08  Bruno Haible  <bruno@clisp.org>
38503
38504         * lib/acl-internal.h (acl_extended_nontrivial) [MacOS X]: New
38505         declaration.
38506         * lib/file-has-acl.c (acl_extended_nontrivial) [MacOS X]: New function.
38507         (acl_access_nontrivial): Remove MacOS X case.
38508         (file_has_acl): Use acl_extended_nontrivial.
38509         * lib/copy-acl.c (qcopy_acl): Likewise.
38510
38511 2008-06-08  Bruno Haible  <bruno@clisp.org>
38512
38513         * lib/set-mode-acl.c (qset_acl): Trivial code simplifications.
38514
38515 2008-06-08  Jim Meyering  <meyering@redhat.com>
38516
38517         * modules/acl (Maintainer): Add Bruno Haible.
38518
38519 2008-06-07  Bruno Haible  <bruno@clisp.org>
38520
38521         Improve support for Tru64 ACLs.
38522         * lib/file-has-acl.c (file_has_acl): Don't test the ACL_TYPE_DEFAULT
38523         ACL on OSF/1.
38524
38525 2008-06-07  Bruno Haible  <bruno@clisp.org>
38526
38527         Add support for MacOS X ACLs.
38528         * lib/file-has-acl.c (file_has_acl): Use ACL_TYPE_EXTENDED instead of
38529         ACL_TYPE_ACCESS and ACL_TYPE_DEFAULT.
38530         * lib/set-mode-acl.c (qset_acl): Likewise.
38531         * lib/copy-acl.c (qcopy_acl): Likewise.
38532
38533 2008-06-07  Bruno Haible  <bruno@clisp.org>
38534
38535         Fix memory leak introduced on 2008-05-22.
38536         * lib/set-mode-acl.c (qset_acl) [!MODE_INSIDE_ACL]: Free ACLs after
38537         use.
38538
38539 2008-06-07  Bruno Haible  <bruno@clisp.org>
38540
38541         * lib/set-mode-acl.c (qset_acl): Use acl_init(), not acl_from_text(),
38542         to construct an empty ACL.
38543
38544 2008-06-07  Bruno Haible  <bruno@clisp.org>
38545
38546         * lib/set-mode-acl.c (chmod_or_fchmod): Document return value
38547         precisely.
38548         * lib/copy-acl.c (qcopy_acl): Trivial code simplifications.
38549
38550 2008-06-07  Bruno Haible  <bruno@clisp.org>
38551
38552         * lib/copy-acl.c (qcopy_acl): Make the #if branches independent.
38553         * lib/set-mode-acl.c (qset_acl): Choose better local variable names.
38554
38555 2008-06-07  Bruno Haible  <bruno@clisp.org>
38556
38557         * doc/posix-functions/_setjmp.texi: Explain the use of this function
38558         regardless of POSIX.
38559         * doc/posix-functions/_longjmp.texi: Likewise.
38560         * doc/posix-functions/setjmp.texi: Mention HP-UX as not counting as a
38561         SystemV platform in this case.
38562
38563 2008-06-06  Eric Blake  <ebb9@byu.net>
38564
38565         Document abort() bugs.
38566         * doc/posix-functions/abort.texi (abort): Mention anomalies.
38567
38568         * doc/posix-functions/setjmp.texi (setjmp): Mingw has setjmp.
38569         * doc/posix-functions/sigsetjmp.texi (sigsetjmp): Cygwin has
38570         sigsetjmp.
38571         * doc/posix-functions/siglongjmp.texi (siglongjmp): Cygwin has
38572         siglongjmp, but only as a macro.
38573         * doc/posix-functions/_longjmp.texi (_longjmp): Mention that this
38574         is obsolete.
38575         * doc/posix-functions/_setjmp.texi (_setjmp): Likewise.
38576
38577         Tweak documentation to cover cygwin argz bugs.
38578         * m4/argz.m4 (gl_FUNC_ARGZ): Mention date of last known cygwin
38579         argz bug fix; no code change needed since no cygwin releases
38580         occurred between the last fix and the bug being tested.
38581         * doc/glibc-functions/argz_add.texi (argz_add): Document the argz
38582         module and recently fixed cygwin bugs.
38583         * doc/glibc-functions/argz_add_sep.texi (argz_add_sep): Likewise.
38584         * doc/glibc-functions/argz_append.texi (argz_append): Likewise.
38585         * doc/glibc-functions/argz_count.texi (argz_count): Likewise.
38586         * doc/glibc-functions/argz_create.texi (argz_create): Likewise.
38587         * doc/glibc-functions/argz_create_sep.texi (argz_create_sep):
38588         Likewise.
38589         * doc/glibc-functions/argz_delete.texi (argz_delete): Likewise.
38590         * doc/glibc-functions/argz_extract.texi (argz_extract): Likewise.
38591         * doc/glibc-functions/argz_insert.texi (argz_insert): Likewise.
38592         * doc/glibc-functions/argz_next.texi (argz_next): Likewise.
38593         * doc/glibc-functions/argz_replace.texi (argz_replace): Likewise.
38594         * doc/glibc-functions/argz_stringify.texi (argz_stringify):
38595         Likewise.
38596
38597         Avoid gcc warning on cygwin.
38598         * lib/copy-acl.c (qcopy_acl) [!HAVE_ACL_GET_FILE &&
38599         !ACL_NO_TRIVIAL]: Avoid unused variable.
38600
38601 2008-06-05  Eric Blake  <ebb9@byu.net>
38602
38603         Be tolerant of UNKNOWN version in gnulib-tool test dir.
38604         * top/GNUmakefile (_dummy): Warn rather than reconfigure if
38605         git-version-gen fails to come up with a version.
38606         Reported by Simon Josefsson.
38607
38608 2008-06-05  Jim Meyering  <meyering@redhat.com>
38609             Paul Eggert  <eggert@cs.ucla.edu>
38610
38611         utimens.c: work around a probable Linux kernel bug
38612         * lib/utimens.c (gl_futimens) [HAVE_UTIMENSAT]: Work around what
38613         appears to be a kernel bug that causes utimensat to return 280
38614         instead of 0, indicating success.
38615
38616 2008-06-04  Bruno Haible  <bruno@clisp.org>
38617
38618         * lib/copy-acl.c (qcopy_acl): Call qset_acl, not set_acl. Fixes
38619         2008-06-01 commit.
38620
38621 2008-06-04  Bruno Haible  <bruno@clisp.org>
38622
38623         * lib/acl-internal.h (acl_access_nontrivial): New declaration.
38624         * lib/file-has-acl.c (acl_access_nontrivial): New function.
38625         (file_has_acl): Use it. Save errno afterwards.
38626         * lib/copy-acl.c (qcopy_acl): Use acl_access_nontrivial.
38627
38628 2008-06-03  Bruno Haible  <bruno@clisp.org>
38629
38630         * lib/file-has-acl.c (file_has_acl): Put Solaris 10 code after POSIX-
38631         draft code. Simplify #ifs.
38632         * lib/set-mode-acl.c (qset_acl): Don't test for symlink if !USE_ACL.
38633         Put Solaris code after POSIX-draft code. Fix comments regarding
38634         Solaris 10, HP-UX. Mention Cygwin.
38635         * lib/copy-acl.c (qcopy_acl): Simplify #ifs.
38636
38637 2008-06-03  Eric Blake  <ebb9@byu.net>
38638
38639         Provide fallback for older kernels.
38640         * lib/utimens.c (gl_futimens) [HAVE_UTIMENSAT, HAVE_FUTIMENS]:
38641         Provide runtime fallback if kernel lacks support.
38642         Reported by Mike Frysinger.
38643
38644 2008-06-02  Bruno Haible  <bruno@clisp.org>
38645
38646         * lib/acl-internal.h (ACL_NOT_WELL_SUPPORTED): Include EOPNOTSUPP if
38647         it exists.
38648
38649 2008-06-02  Bruno Haible  <bruno@clisp.org>
38650
38651         * lib/acl_entries.c (acl_entries): Rewrite to use acl_get_entry.
38652         * lib/copy-acl.c (qcopy_acl): Update comment.
38653
38654 2008-06-02  Bruno Haible  <bruno@clisp.org>
38655
38656         * lib/acl-entries.h: Enclose most definitions in #ifs for POSIX-draft
38657         like ACL APIs.
38658
38659 2008-06-02  Bruno Haible  <bruno@clisp.org>
38660
38661         * tests/test-file-has-acl.sh: Use different code for Cygwin.
38662         * tests/test-set-mode-acl.sh: Likewise.
38663         * tests/test-copy-acl.sh: Likewise.
38664         * tests/test-copy-file.sh: Likewise.
38665
38666 2008-06-02  Bruno Haible  <bruno@clisp.org>
38667
38668         * tests/test-file-has-acl.sh: Remove unused code.
38669
38670 2008-06-01  Bruno Haible  <bruno@clisp.org>
38671
38672         * lib/copy-acl.c (qcopy_acl): New function, extracted from copy_acl.
38673         (copy_acl): Just a wrapper around qcopy_acl that emits the error
38674         messages.
38675         * lib/set-mode-acl.c (qset_acl): Document return value precisely.
38676
38677 2008-06-01  Bruno Haible  <bruno@clisp.org>
38678
38679         * m4/acl.m4 (gl_FUNC_ACL): Separate the POSIX-like and the Solaris
38680         tests. Test for libpacl, needed for OSF/1. Test for extended ACLs,
38681         needed for MacOS X. Test for HP-UX API. Test for newer and older AIX
38682         APIs.
38683         * modules/acl-tests (configure.ac): Remove tests now contained in
38684         m4/acl.m4.
38685
38686 2008-06-02  Jim Meyering  <meyering@redhat.com>
38687
38688         announce-gen: use a better key-server host name
38689         * build-aux/announce-gen (main): Recommend keys.gnupg.net, since
38690         it may be more consistently reliable.  Suggested by Werner Koch
38691         in <http://thread.gmane.org/gmane.comp.lib.gnulib.bugs/13717>.
38692
38693 2008-06-01  Bruno Haible  <bruno@clisp.org>
38694
38695         * lib/stdio-impl.h (fp_ub): Use fp_. Needed for DragonFly BSD.
38696         Reported by Voroskoi Andras <voroskoi@gmail.com>.
38697
38698 2008-06-01  Voroskoi Andras  <voroskoi@gmail.com>  (tiny change)
38699
38700         * lib/stdio-impl.h [__DragonFly__]: Fix typo.
38701
38702 2008-06-01  Bruno Haible  <bruno@clisp.org>
38703
38704         New ACL tests.
38705         * tests/test-file-has-acl.sh: New file.
38706         * tests/test-file-has-acl.c: New file.
38707         * tests/test-set-mode-acl.sh: New file.
38708         * tests/test-set-mode-acl.c: New file.
38709         * tests/test-copy-acl.sh: New file, based on tests/test-copy-file.sh.
38710         * tests/test-copy-acl.c: New file.
38711         * modules/acl-tests: New file, based on modules/copy-file-tests.
38712         * modules/copy-file-tests (Files): Remove tests/test-sameacls.c.
38713         (Depends-on): Add acl-tests.
38714         (configure.ac): Remove checks.
38715         (Makefile.am): Don't create test-sameacls program here any more.
38716
38717 2008-06-01  Bruno Haible  <bruno@clisp.org>
38718
38719         * tests/test-copy-file.sh: Portability fixes for Solaris, HP-UX, IRIX.
38720         * tests/test-sameacls.c: Include progname.h.
38721         (main): Invoke set_program_name. Portability fixes for MacOS X,
38722         Solaris, HP-UX.
38723
38724 2008-06-01  Bruno Haible  <bruno@clisp.org>
38725
38726         * lib/freadahead.c (freadahead) [__DragonFly__]: Use the __sreadahead
38727         function.
38728         Reported by VOROSKOI Andras <voroskoi@gmail.com>.
38729
38730 2008-06-01  Bruno Haible  <bruno@clisp.org>
38731
38732         * modules/rpmatch (Depends-on): Add strdup.
38733
38734 2008-06-01  Bruno Haible  <bruno@clisp.org>
38735
38736         * lib/pipe.c: Include unistd-safer.h.
38737         (create_pipe): Ensure the returned file descriptors are not in {0,1,2}.
38738         * modules/pipe (Depends-on): Add unistd-safer.
38739
38740 2008-05-30  Simon Josefsson  <simon@josefsson.org>
38741
38742         * modules/autobuild (configure.ac): Call AB_INIT.
38743
38744 2008-05-30  Simon Josefsson  <simon@josefsson.org>
38745
38746         * tests/test-getaddrinfo.c: Don't print debug messages by default.
38747         Suggested by Bruno Haible <bruno@clisp.org>.
38748
38749 2008-05-30  Simon Josefsson  <simon@josefsson.org>
38750
38751         * tests/test-base64.c: Cast size_t to unsigned long when invoking
38752         printf.  Use %lu instead of %d.  Reported by Bruno Haible
38753         <bruno@clisp.org>.
38754
38755 2008-05-29  Eric Blake  <ebb9@byu.net>
38756
38757         Prefer new POSIX 200x interfaces over futimesat.
38758         * m4/utimens.m4 (gl_UTIMENS): Check for futimens, utimensat.
38759         * lib/utimens.c (gl_futimens): Use them for nanosecond resolution
38760         when available.
38761         [HAVE_BUGGY_NFS_TIME_STAMPS]: Allow C89 compilation.
38762
38763 2008-05-28  Bruno Haible  <bruno@clisp.org>
38764
38765         * modules/stpcpy (License): Change to LGPLv2+.
38766         Requested by David Lutterkort <dlutter@redhat.com>.
38767
38768 2008-05-27  Bruno Haible  <bruno@clisp.org>
38769
38770         * lib/localename.c (SUBLANG_TIBETAN_BHUTAN): Force value 2. Needed for
38771         current mingw.
38772         Reported by Jose E. Marchesi <jemarch@gnu.org>.
38773
38774 2008-05-27  Bruno Haible  <bruno@clisp.org>
38775
38776         * modules/iconv_open (Link): New section, from module 'iconv'.
38777         * modules/striconv (Link): Likewise.
38778         * modules/striconveh (Link): Likewise.
38779         * modules/xstriconv (Link): Likewise.
38780         * modules/unicodeio (Link): Likewise.
38781         * modules/propername (Link): Likewise.
38782         Reported by Jim Meyering.
38783
38784 2008-05-26  Jim Meyering  <meyering@redhat.com>
38785
38786         sha256: do not artificially restrict buffer length to be < 2^32
38787         * lib/sha256.h (struct sha256_ctx) [buflen]: Change type from
38788         uint32_t to size_t.
38789         * lib/sha256.c (sha256_conclude_ctx): Change type of a local
38790         to match.
38791
38792         avoid unaligned access errors, e.g., on sparc
38793         * lib/sha512.c (sha512_conclude_ctx): Use set_uint64 rather than
38794         direct access through a possibly-unaligned uint64* pointer.
38795         * lib/sha256.c (sha256_conclude_ctx): Use set_uint32 rather than
38796         direct access through a possibly-unaligned uint32* pointer.
38797         Prompted by this patch from Tom "spot" Callaway:
38798         http://thread.gmane.org/gmane.comp.gnu.coreutils.bugs/13638
38799
38800         sha512.c: fix typo in comment
38801         * lib/sha512.c (sha512_conclude_ctx): Length is 128-bit, not 64-bit.
38802
38803 2008-05-25  Bruno Haible  <bruno@clisp.org>
38804
38805         * lib/set-mode-acl.c: Renamed from lib/acl.c.
38806         * modules/acl (Files): Add lib/set-mode-acl.c, remove lib/acl.c.
38807         (Makefile.am): Update lib_SOURCES.
38808
38809 2008-05-25  Bruno Haible  <bruno@clisp.org>
38810
38811         * m4/acl.m4 (gl_FUNC_ACL): Don't set LIB_ACL_TRIVIAL.
38812
38813 2008-05-25  Jim Meyering  <meyering@redhat.com>
38814
38815         useless-if-before-free: freed expr may have white-space differences
38816         * build-aux/useless-if-before-free: Recognize cases in which the
38817         freed expression differs from the tested one in embedded white
38818         space, e.g., if (p[i + 1]) free(p[i+1]).  Correct thinko in prev:
38819         $1 was used, so we can't make any regexp shy.  Improved tests now
38820         detect this.
38821
38822         useless-if-before-free: accept white space in the expression.
38823         * build-aux/useless-if-before-free: For now, any white space
38824         in the expression must be identical in the free argument.
38825
38826         useless-if-before-free: efficiency tweak
38827         * build-aux/useless-if-before-free: Make the expression-matching
38828         regexp "shy".
38829         Make the *outer* regexp shy, not the expr-matching one.
38830
38831         update code-in-comment to accept cast of free arg
38832         * build-aux/useless-if-before-free: Update regexp.
38833
38834 2008-05-25  Bruno Haible  <bruno@clisp.org>
38835
38836         * tests/test-sameacls.c: Renamed from tests/test-copy-file-sameacls.c.
38837         * modules/copy-file-tests (Files, Makefile.am): Update.
38838         * tests/test-copy-file.c (func_test_copy): Update.
38839
38840 2008-05-24  Andreas Färber  <andreas.faerber@web.de>  (tiny change)
38841
38842         * lib/stdbool.in.h [__HAIKU__]: Disable __BEOS__ workarounds.
38843
38844 2008-05-23  Bruno Haible  <bruno@clisp.org>
38845
38846         Improve support for ACLs on OSF/1.
38847         * lib/acl.c (qset_acl): For OSF/1, use a string that ends in a comma.
38848         Remove fallback for unknown flavors of ACLs.
38849
38850 2008-05-22  Bruno Haible  <bruno@clisp.org>
38851
38852         Add support for ACLs on OSF/1.
38853         * lib/acl-internal.h (acl_get_fd, acl_set_fd): New inline function
38854         replacements.
38855         (acl_free_text): New macro fallback.
38856         * lib/acl_entries.c (acl_entries): Use acl_free_text instead of
38857         acl_free.
38858         * m4/acl.m4 (gl_FUNC_ACL): Look also in libpacl library. Test for
38859         acl_free_text function. Require AC_C_INLINE.
38860
38861 2008-05-22  Bruno Haible  <bruno@clisp.org>
38862
38863         Make copy_acl work on MacOS X 10.5.
38864         * lib/acl-internal.h (MODE_INSIDE_ACL): New macro.
38865         (ACL_NOT_WELL_SUPPORTED): On MacOS X, also handle ENOENT.
38866         * lib/acl.c (qset_acl): Add different code branch for !MODE_INSIDE_ACL.
38867         If MODE_INSIDE_ACL, don't assume that every system has the same text
38868         representation for ACLs as FreeBSD.
38869         * lib/copy-acl.c (copy_acl): Add support for platforms with
38870         !MODE_INSIDE_ACL.
38871         * lib/file-has-acl.c (file_has_acl): Likewise.
38872         * m4/acl.m4 (gl_FUNC_ACL): Test for some functions that are witness of
38873         FreeBSD, MacOS X, or IRIX, respectively.
38874
38875 2008-05-22  Bruno Haible  <bruno@clisp.org>
38876
38877         * lib/acl.h: Don't include <sys/acl.h>.
38878         (GETACLCNT): Move fallback to lib/acl-internal.h.
38879         * lib/acl-internal.h: Include <sys/acl.h> here.
38880         (GETACLCNT): New macro fallback, moved here from lib/acl.h.
38881
38882 2008-05-22  Bruno Haible  <bruno@clisp.org>
38883
38884         Split off copy_acl function to separate file.
38885         * lib/copy-acl.c: New file, extracted from lib/acl.c.
38886         * lib/acl.c (copy_acl): Moved function to separate file.
38887         * m4/acl.m4 (gl_FUNC_ACL): Remove unconditional AC_LIBOBJs.
38888         * modules/acl (Files): Add lib/copy-acl.c.
38889         (Makefiles.am): Augment lib_SOURCES.
38890
38891 2008-05-22  Bruno Haible  <bruno@clisp.org>
38892
38893         * modules/copy-file-tests: New file.
38894         * tests/test-copy-file.sh: New file.
38895         * tests/test-copy-file.c: New file.
38896         * tests/test-copy-file-sameacls.c: New file.
38897
38898 2008-05-22  Eric Blake  <ebb9@byu.net>
38899
38900         Avoid gcc warning.
38901         * tests/test-memcmp.c (main): Pass NULL indirectly.
38902
38903 2008-05-21  Bruno Haible  <bruno@clisp.org>
38904
38905         Add reference doc about ACLs.
38906         * doc/acl-resources.txt: New file.
38907         * doc/acl-cygwin.txt: New file.
38908
38909 2008-05-21  Bruno Haible  <bruno@clisp.org>
38910
38911         Avoid one more warning from gcc.
38912         * lib/vasnprintf.c (IF_LINT): Update comments.
38913         (VASNPRINTF): Use it also for the 'prefix' array initializer.
38914
38915 2008-05-21  Jim Meyering  <meyering@redhat.com>
38916
38917         avoid a warning from gcc
38918         * lib/vasnprintf.c (IF_LINT): Define.
38919         (scale10_round_decimal_long_double):
38920         Use it to avoid a "may be used uninitialized" warning.
38921         (scale10_round_decimal_double): Likewise.
38922
38923 2008-05-21  Simon Josefsson  <simon@josefsson.org>
38924
38925         * m4/memcmp.m4: When cross-compiling, assume memcmp works if it is
38926         declared.
38927
38928 2008-05-20  Bruno Haible  <bruno@clisp.org>
38929
38930         * tests/test-memcmp.c (main): Test also the sign of the result. Test
38931         against two known bugs; code taken from autoconf's AC_FUNC_MEMCMP.
38932
38933 2008-05-20  Simon Josefsson  <simon@josefsson.org>
38934
38935         * modules/memcmp-tests: New file.
38936         * tests/test-memcmp.c: New file.
38937
38938 2008-05-19  Bruno Haible  <bruno@clisp.org>
38939
38940         * modules/propername (Notice, configure.ac): Put quoted "..." into
38941         --keyword option.
38942         * lib/propername.h: Update comments accordingly.
38943         Reported by Eric Blake.
38944
38945 2008-05-19  Martin Lambers  <marlam@marlam.de>  (tiny change)
38946
38947         * modules/getpass-gnu (Depends-on): Add fseeko.
38948
38949 2008-05-19  Simon Josefsson  <simon@josefsson.org>
38950
38951         * modules/base64-tests: New file.
38952
38953 2008-05-19  Bo Borgerson <gigabo@gmail.com>
38954
38955         * lib/base64.c (base64_decode_ctx): If a decode context structure
38956         was passed in use it to ignore newlines.  If a context structure
38957         was _not_ passed in, continue to treat newlines as garbage (this
38958         is the historical behavior).  Formerly base64_decode.
38959         (base64_decode_alloc_ctx): Formerly base64_decode_alloc.  Now
38960         takes a decode context structure.
38961         * lib/base64.h (base64_decode): Macro for four-argument calls.
38962         (base64_decode_alloc): Likewise.
38963         * lib/base64.c (base64_decode_ctx): If a decode context structure
38964         was passed in use it to ignore newlines.  If a context structure
38965         was _not_ passed in, continue to treat newlines as garbage (this
38966         is the historical behavior).  Formerly base64_decode.
38967         (base64_decode_alloc_ctx): Formerly base64_decode_alloc.  Now
38968         takes a decode context structure.
38969         * lib/base64.h (base64_decode): Macro for four-argument calls.
38970         (base64_decode_alloc): Likewise.
38971
38972 2008-05-19  Jim Meyering  <meyering@redhat.com>
38973
38974         avoid a warning from gcc
38975         * lib/trim.c (IF_LINT): Define.
38976         (trim2): Use it to avoid a "may be used uninitialized" warning.
38977
38978         Fix doc typo.
38979         * doc/glibc-functions/getpass.texi (getpass): s/PATH_MAX/PASS_MAX/.
38980
38981 2008-05-19  Bruno Haible  <bruno@clisp.org>
38982
38983         * doc/glibc-functions/getpass.texi: Document limits of other
38984         implementations.
38985
38986 2008-05-19  Simon Josefsson  <simon@josefsson.org>
38987             Bruno Haible <bruno@clisp.org>
38988
38989         * doc/glibc-functions/getpass.texi: Document gnulib implementation.
38990
38991 2008-05-18  Bruno Haible  <bruno@clisp.org>
38992
38993         * modules/propername: New file, from GNU gettext.
38994         * lib/propername.h: New file, from GNU gettext.
38995         * lib/propername.c: New file, from GNU gettext.
38996         * MODULES.html.sh (Internationalization functions): Add propername.
38997
38998 2008-05-16  Jim Meyering  <meyering@redhat.com>
38999             Bruno Haible  <bruno@clisp.org>
39000
39001         Avoid some warnings from "gcc -Wshadow".
39002         * lib/vasnprintf.c (exp, remainder): Define to different identifiers.
39003
39004 2008-05-15  Eric Blake  <ebb9@byu.net>
39005
39006         Extend previous patch to cygwin 1.7.0.
39007         * m4/memmem.m4 (gl_FUNC_MEMMEM): When cross-compiling, assume a
39008         fast implementation in cygwin >= 1.7.0.
39009         * m4/strstr.m4 (gl_FUNC_STRSTR): Likewise.
39010         * m4/strcasestr.m4 (gl_FUNC_STRCASESTR): Likewise.
39011
39012 2008-05-15  Bruno Haible  <bruno@clisp.org>
39013
39014         * m4/memmem.m4 (gl_FUNC_MEMMEM): When cross-compiling, assume a fast
39015         implementation in glibc >= 2.9.
39016         * m4/strstr.m4 (gl_FUNC_STRSTR): Likewise.
39017         * m4/strcasestr.m4 (gl_FUNC_STRCASESTR): Likewise.
39018
39019 2008-05-15  Bruno Haible  <bruno@clisp.org>
39020
39021         * MODULES.html.sh (Internationalization functions): Remove linebreak.
39022         (Unicode string functions): Add unilbrk/*.
39023         Reported by Karl Berry.
39024
39025 2008-05-15  Eric Blake  <ebb9@byu.net>
39026
39027         Fix violation of <stdbool.h> replacement in regex.
39028         * lib/regcomp.c (re_compile_internal): Avoid implicit cast to bool.
39029         * lib/regexec.c (re_search_internal): Likewise.
39030         Reported by Heinrich Mislik <Heinrich.Mislik@univie.ac.at>.
39031
39032 2008-05-15  Jim Meyering  <meyering@redhat.com>
39033
39034         avoid distracting test output when git or cvs is not found
39035         * tests/test-vc-list-files-cvs.sh: Suppress 'init' error output.
39036         * tests/test-vc-list-files-git.sh: Likewise.
39037
39038 2008-05-15  Eric Blake  <ebb9@byu.net>
39039
39040         Glibc finally accepted the memmem speedup code, bugzilla #5514.
39041         * doc/glibc-functions/memmem.texi (memmem): Mention last broken
39042         glibc version.
39043         * doc/glibc-functions/strcasestr.texi (strcasestr): Likewise.
39044         * doc/posix-functions/strstr.texi (strstr): Likewise.
39045         * lib/str-two-way.h (MAX): Sychronize with glibc.
39046
39047 2008-05-15  Paolo Bonzini  <bonzini@gnu.org>
39048
39049         * lib/regcomp.c (optimize_utf8): Add a note on why we test
39050         opr.ctx_type.
39051         (calc_first): Initialize constraint field.
39052         (duplicate_node_closure): Use it instead of special casing ANCHORS.
39053         Fix grammar.
39054         (duplicate_node): Merge constraint field for all node types.
39055         (calc_eclosure_iter): Look at constraint field for all node types.
39056         * lib/regex_internal.c (create_cd_newstate): Don't look at
39057         opr.ctx_type.
39058
39059 2008-05-14  Bruno Haible  <bruno@clisp.org>
39060
39061         Help GCC to do better code generation.
39062         * lib/eealloc.h (eemalloc) [GCC >= 3]: Declare with attribute 'malloc'.
39063         * lib/pagealign_alloc.h (pagealign_alloc, pagealign_xalloc): Likewise.
39064         * lib/xalloc.h (ATTRIBUTE_MALLOC): New macro.
39065         (xmalloc, xzalloc, xcalloc, xmemdup, xstrdup, xnmalloc, xcharalloc):
39066         Declare with attribute 'malloc' if supported.
39067
39068 2008-05-14  Lasse Collin  <lasse.collin@tukaani.org>
39069
39070         use "echo STR|wc -c" rather than unportable "expr length STR"
39071         * build-aux/mktempd (mktempd): Vendor-supplied expr from at least
39072         OpenBSD 4.3 and Solaris 10 do not honor expr's "length" function.
39073
39074 2008-05-14  Jim Meyering  <meyering@redhat.com>
39075
39076         use dd ibs=$n count=1 ... rather than less-portable head -c$n
39077         * build-aux/mktempd (rand_bytes): head's -cN option is not accepted
39078         by Solaris 10's /bin/head or by the one from HP-UX 11.x.
39079         Reported in http://sourceforge.net/forum/message.php?msg_id=4960334
39080         via Collin Lasse.
39081
39082 2008-05-14  Eric Blake  <ebb9@byu.net>
39083
39084         Avoid quadratic growth in gl_LIBSOURCES.
39085         * gnulib-tool (func_emit_initmacro_done): s/\(m4_append\)_uniq/\1/.
39086         Suggested by Bruno Haible.
39087
39088         Test xmemdup0.
39089         * modules/xmemdup0-tests: New file.
39090         * tests/test-xmemdup0.c: Likewise.
39091
39092 2008-05-13  Eric Blake  <ebb9@byu.net>
39093
39094         Split xmemdup0 into its own module.
39095         * modules/xmemdup0: New file.
39096         * lib/xmemdup0.h: Likewise.
39097         * lib/xmemdup0.c: Likewise.
39098         * MODULES.html.sh (Memory management functions): Add xmemdup0.
39099         * lib/xalloc.h (xmemdup0): Remove.
39100         * lib/xmalloc.c (xmemdup0): Likewise.
39101
39102 2008-05-13  Eric Blake  <ebb9@byu.net>
39103             Bruno Haible  <bruno@clisp.org>
39104
39105         Reduce number of forks required during autoconf.
39106         * gnulib-tool (func_emit_initmacro_start): Prepare gl_LIBSOURCES_LIST
39107         and gl_LIBSOURCES_DIR.
39108         (func_emit_initmacro_end): Use them here in a single m4_syscmd...
39109         (func_emit_initmacro_done) <gl_LIBSOURCES>: ...rather than in one
39110         m4_syscmd per file.
39111         <m4_foreach_w>: Move...
39112         * m4/gnulib-common.m4 (m4_foreach_w): ...here.
39113
39114 2008-05-13  Eric Blake  <ebb9@byu.net>
39115
39116         * gnulib-tool: Fix various comment typos.
39117
39118 2008-05-12  Bruno Haible  <bruno@clisp.org>
39119
39120         Tailor the linebreaking algorithm.
39121         * lib/unilbrk/tables.c (unilbrk_table): Change (IS,AL) entry.
39122
39123 2008-05-12  Bruno Haible  <bruno@clisp.org>
39124
39125         Update to Unicode 5.0.0.
39126         * lib/unilbrk/tables.h (LBP_*): Add LBP_WJ, LBP_H2, LBP_H3, LBP_JL,
39127         LBP_JV, LBP_JT. Redistribute values.
39128         (unilbrk_table): Change size.
39129         * lib/unilbrk/tables.c (unilbrk_table): Change size. Update to match
39130         Unicode TR#14 rev. 22.
39131         * lib/unilbrk/gen-lbrk.c (LBP_*): Add LBP_WJ, LBP_H2, LBP_H3, LBP_JL,
39132         LBP_JV, LBP_JT. Redistribute values.
39133         (get_lbp): Update to match Unicode TR#14 rev. 21/22 and Unicode 5.0.0.
39134         (debug_output_lbp, fill_org_lbp, debug_output_org_lbp, output_lbp):
39135         Update.
39136         * lib/unilbrk/lbrkprop1.h: Regenerated.
39137         * lib/unilbrk/lbrkprop2.h: Regenerated.
39138         * lib/unilbrk/u8-possible-linebreaks.c (u8_possible_linebreaks):
39139         Change handling of LBP_CM after LBP_ZW. Update for new value of LBP_BK.
39140         * lib/unilbrk/u16-possible-linebreaks.c (u16_possible_linebreaks):
39141         Likewise.
39142         * lib/unilbrk/u32-possible-linebreaks.c (u32_possible_linebreaks):
39143         Likewise.
39144         * tests/unilbrk/test-u8-possible-linebreaks.c (main): Update expected
39145         result.
39146         * tests/unilbrk/test-u16-possible-linebreaks.c (main): Likewise.
39147         * tests/unilbrk/test-u32-possible-linebreaks.c (main): Likewise.
39148         * tests/unilbrk/test-ulc-possible-linebreaks.c (main): Likewise.
39149         * tests/unilbrk/test-u8-width-linebreaks.c (main): Likewise.
39150         * tests/unilbrk/test-u16-width-linebreaks.c (main): Likewise.
39151         * tests/unilbrk/test-u32-width-linebreaks.c (main): Likewise.
39152
39153 2008-05-11  Bruno Haible  <bruno@clisp.org>
39154
39155         * lib/unilbrk/gen-lbrk.c (output_lbp): Fix whitespace.
39156
39157 2008-05-11  Bruno Haible  <bruno@clisp.org>
39158
39159         * lib/unilbrk/gen-lbrk.c: New file, from GNU gettext (gen-lbrkprop.c).
39160         * modules/unilbrk/gen-lbrk: New file.
39161
39162 2008-05-11  Bruno Haible  <bruno@clisp.org>
39163
39164         * m4/sha256.m4 (gl_SHA256): Require AC_C_INLINE.
39165         * m4/sha512.m4 (gl_SHA512): Likewise.
39166
39167 2008-05-11  Jim Meyering  <meyering@redhat.com>
39168
39169         New modules: crypto/sha256, crypto/sha512 (from coreutils)
39170         * modules/crypto/sha256: New file.
39171         * modules/crypto/sha512: Likewise.
39172         * lib/sha256.c: Likewise.
39173         * lib/sha256.h: Likewise.
39174         * lib/sha512.c: Likewise.
39175         * lib/sha512.h: Likewise.
39176         * lib/u64.h: Likewise.
39177         * m4/sha256.m4: Likewise.
39178         * m4/sha512.m4: Likewise.
39179         * MODULES.html.sh (Cryptographic computations (low-level)): List them.
39180
39181 2008-05-10  Bruno Haible  <bruno@clisp.org>
39182
39183         * MODULES.html.sh (Environment variables <stdlib.h>): Add unsetenv.
39184         (Input/Output <stdio.h>): Add xprintf.
39185         (Signal handling <signal.h>): Add strsignal.
39186         (Cryptographic computations (high-level)): Add crypto/gc-camellia.
39187         (Core language properties): Add func.
39188         (Mathematics <math.h>): Add ceil, floor, frexp-nolibm.
39189         (Support for systems lacking POSIX:2001): Add environ, EOVERFLOW,
39190         strings.
39191         (Enhancements for POSIX:2001 functions): Add iconv_open-utf.
39192         (Input/output): New section.
39193         (File system functions): Add openat-die, stat-macros.
39194         (Networking functions): Add sockets.
39195         (Unicode string functions): Add unictype/*.
39196         (Support for building libraries and executables): Add gperf.
39197         (Support for building documentation): Add agpl-3.0.
39198         (Misc): Add nocrash.
39199
39200 2008-05-10  Bruno Haible  <bruno@clisp.org>
39201
39202         * modules/unictype/gen-ctype: New file.
39203
39204 2008-05-10  Jim Meyering  <meyering@redhat.com>
39205
39206         Make chdir-safer.c more efficient on a system with no symlinks.
39207         * lib/chdir-safer.c (chdir_no_follow): Skip lstat and fstat calls
39208         also if ELOOP is zero.  Suggested by Bruno Haible.
39209
39210         Make chdir-safer.c slightly safer.
39211         * lib/chdir-safer.c (chdir_no_follow): Test HAVE_WORKING_O_NOFOLLOW,
39212         not O_NOFOLLOW, in case the latter is nonzero and open ignores it.
39213
39214         Avoid compile failure on systems without ELOOP (like mingw).
39215         * lib/chdir-safer.c (ELOOP): Define if not already defined.
39216         Reported by Bruno Haible.
39217
39218 2008-05-10  Bruno Haible  <bruno@clisp.org>
39219
39220         * lib/unilbrk/ulc-common.c: Include c-strcaseeq.h instead of streq.h.
39221         (is_utf8_encoding): Use a case-insensitive comparison.
39222         * modules/unilbrk/ulc-common (Depends-on): Add c-strcaseeq. Remove
39223         streq.
39224
39225 2008-05-10  Bruno Haible  <bruno@clisp.org>
39226
39227         * lib/unilbrk/ulc-common.c: Don't include <stdlib.h>.
39228         (iconv_string_length, iconv_string_keeping_offsets): Remove functions.
39229         * lib/unilbrk/ulc-common.h (iconv_string_length,
39230         iconv_string_keeping_offsets): Remove declarations.
39231         * lib/unilbrk/ulc-possible-linebreaks.c: Include <string.h>, uniconv.h.
39232         Don't include <iconv.h>, streq.h, xsize.h.
39233         (ulc_possible_linebreaks): Use u8_conv_from_encoding for doing the
39234         conversion.
39235         * lib/unilbrk/ulc-width-linebreaks.c: Include uniconv.h. Don't include
39236         <iconv.h>, streq.h, xsize.h.
39237         (ulc_width_linebreaks): Use u8_conv_from_encoding for doing the
39238         conversion.
39239         * modules/unilbrk/ulc-common (Depends-on): Remove iconv.
39240         * modules/unilbrk/ulc-possible-linebreaks (Depends-on): Add
39241         uniconv/u8-conv-from-enc. Remove iconv_open, streq, xsize.
39242         * modules/unilbrk/ulc-width-linebreaks (Depends-on): Likewise.
39243
39244 2008-05-10  Bruno Haible  <bruno@clisp.org>
39245
39246         * modules/unilbrk/ulc-width-linebreaks-tests: New file.
39247         * tests/unilbrk/test-ulc-width-linebreaks.c: New file.
39248
39249         * modules/unilbrk/u32-width-linebreaks-tests: New file.
39250         * tests/unilbrk/test-u32-width-linebreaks.c: New file.
39251
39252         * modules/unilbrk/u16-width-linebreaks-tests: New file.
39253         * tests/unilbrk/test-u16-width-linebreaks.c: New file.
39254
39255         * modules/unilbrk/u8-width-linebreaks-tests: New file.
39256         * tests/unilbrk/test-u8-width-linebreaks.c: New file.
39257
39258         * modules/unilbrk/ulc-possible-linebreaks-tests: New file.
39259         * tests/unilbrk/test-ulc-possible-linebreaks.c: New file.
39260
39261         * modules/unilbrk/u32-possible-linebreaks-tests: New file.
39262         * tests/unilbrk/test-u32-possible-linebreaks.c: New file.
39263
39264         * modules/unilbrk/u16-possible-linebreaks-tests: New file.
39265         * tests/unilbrk/test-u16-possible-linebreaks.c: New file.
39266
39267         * modules/unilbrk/u8-possible-linebreaks-tests: New file.
39268         * tests/unilbrk/test-u8-possible-linebreaks.c: New file.
39269
39270 2008-05-10  Bruno Haible  <bruno@clisp.org>
39271
39272         Split up 'linebreak' module.
39273         * lib/unilbrk.h: New file, based on lib/linebreak.h.
39274         * lib/unilbrk/lbrkprop1.h: New file, extracted from lib/lbrkprop.h.
39275         * lib/unilbrk/lbrkprop2.h: New file, renamed from lib/lbrkprop.h with
39276         modifications.
39277         * lib/unilbrk/tables.h: New file, extracted from lib/linebreak.c.
39278         * lib/unilbrk/tables.c: New file, extracted from lib/linebreak.c.
39279         * lib/unilbrk/u8-possible-linebreaks.c: New file, extracted from
39280         lib/linebreak.c.
39281         * lib/unilbrk/u16-possible-linebreaks.c: New file, extracted from
39282         lib/linebreak.c.
39283         * lib/unilbrk/u32-possible-linebreaks.c: New file, extracted from
39284         lib/linebreak.c.
39285         * lib/unilbrk/ulc-common.h: New file, extracted from lib/linebreak.c.
39286         * lib/unilbrk/ulc-common.c: New file, extracted from lib/linebreak.c.
39287         * lib/unilbrk/ulc-possible-linebreaks.c: New file, extracted from
39288         lib/linebreak.c.
39289         * lib/unilbrk/u8-width-linebreaks.c: New file, extracted from
39290         lib/linebreak.c.
39291         * lib/unilbrk/u16-width-linebreaks.c: New file, extracted from
39292         lib/linebreak.c.
39293         * lib/unilbrk/u32-width-linebreaks.c: New file, extracted from
39294         lib/linebreak.c.
39295         * lib/unilbrk/ulc-width-linebreaks.c: New file, extracted from
39296         lib/linebreak.c.
39297         * modules/unilbrk/base: New file.
39298         * modules/unilbrk/tables: New file.
39299         * modules/unilbrk/u8-possible-linebreaks: New file.
39300         * modules/unilbrk/u16-possible-linebreaks: New file.
39301         * modules/unilbrk/u32-possible-linebreaks: New file.
39302         * modules/unilbrk/ulc-common: New file.
39303         * modules/unilbrk/ulc-possible-linebreaks: New file.
39304         * modules/unilbrk/u8-width-linebreaks: New file.
39305         * modules/unilbrk/u16-width-linebreaks: New file.
39306         * modules/unilbrk/u32-width-linebreaks: New file.
39307         * modules/unilbrk/ulc-width-linebreaks: New file.
39308         * lib/linebreak.h: Remove file.
39309         * lib/linebreak.c: Remove file.
39310         * m4/linebreak.m4: Remove file.
39311         * modules/linebreak: Remove file.
39312         * NEWS: Mention the changes.
39313
39314 2008-05-09  Eric Blake  <ebb9@byu.net>
39315
39316         Add xmemdup0.
39317         * lib/xalloc.h (xmemdup0): New prototype and C++ typesafe
39318         implementation.
39319         * lib/xmalloc.c (xmemdup0): New C implementation.
39320
39321 2008-05-08  Bruno Haible  <bruno@clisp.org>
39322
39323         * m4/wctype.m4 (gl_WCTYPE_H): Correct indentation.
39324
39325 2008-05-07  Eric Blake  <ebb9@byu.net>
39326
39327         Support cross-compilation of <wctype.h>.
39328         * m4/wctype.m4 (gl_WCTYPE_H): Fix improper nesting in
39329         AC_CACHE_CHECK.
39330
39331 2008-05-06  Soren Hansen  <soren@ubuntu.com>  (tiny change)
39332
39333         * build-aux/vc-list-files: Add support for bzr.
39334
39335 2008-05-03  Jim Meyering  <meyering@redhat.com>
39336
39337         avoid failed assertion with tight malloc
39338         * tests/test-getndelim2.c: Correct an off-by-one assertion.
39339
39340 2008-05-03  Simon Josefsson  <simon@josefsson.org>
39341
39342         * m4/inet_pton.m4: Set HAVE_DECL_INET_PTON to 0 when declarations
39343         are needed from arpa/inet.h.
39344         * m4/inet_ntop.m4: Likewise, for HAVE_DECL_INET_NTOP.
39345         Reported by Bruno Haible.
39346
39347 2008-05-02  Jim Meyering  <meyering@redhat.com>
39348
39349         avoid compilation error on FreeBSD 6
39350         * tests/test-getaddrinfo.c [!defined EAI_NODATA] (EAI_NODATA): Define.
39351
39352 2008-05-01  Jim Meyering  <meyering@redhat.com>
39353
39354         useless-if-before-free: correct --help's exit status description
39355         * build-aux/useless-if-before-free (usage): Like grep, exit 0
39356         for one or more matches, etc.  Reported by Bruno Haible.
39357
39358         vc-list-files: make the stand-alone gnulib test work
39359         * modules/vc-list-files-tests (configure.ac):
39360         Define and AC_SUBST abs_aux_dir.
39361         (Makefile.am) [TESTS_ENVIRONMENT]: Rather than passing
39362         $(abs_top_srcdir) to each script and having each of them
39363         duplicate the work of setting PATH, set PATH here, using
39364         the new variable, abs_aux_dir instead.
39365         * tests/test-vc-list-files-cvs.sh: Don't set PATH here.
39366         * tests/test-vc-list-files-git.sh: Likewise.
39367         Reported by Bruno Haible.
39368
39369 2008-05-01  Bruno Haible  <bruno@clisp.org>
39370
39371         * lib/getndelim2.c (getndelim2): Fix newsize computation during
39372         reallocation. Rename 'done' to 'found_delimiter'.
39373
39374 2008-05-01  Jim Meyering  <meyering@redhat.com>
39375
39376         vc-list-files: accommodate /bin/sh like the one from Solaris 10
39377         * build-aux/vc-list-files: Use `...`, not $(...).
39378
39379 2008-04-30  Jim Meyering  <meyering@redhat.com>
39380
39381         add tests for vc-list-files
39382         * modules/vc-list-files-tests: New module.
39383         * tests/test-vc-list-files-cvs.sh: New file.
39384         * tests/test-vc-list-files-git.sh: New file.
39385
39386         avoid a warning from gcc
39387         * lib/getndelim2.c (IF_LINT): Define.
39388         (getndelim2): Use it to avoid a "may be used uninitialized" warning.
39389
39390         vc-list-files: work properly with build-aux/cvsu, too
39391         * build-aux/vc-list-files: Hoist the "./"-removing code to apply
39392         to all cvs-based clauses.
39393
39394         vc-list-files: work properly in the CVS+awk case, too
39395         * build-aux/vc-list-files: In the CVS+awk case, remove "./" prefix.
39396
39397         vc-list-files: avoid use of ${*-*} that fails when /bin/sh is dash
39398         * build-aux/vc-list-files: Simplify ${*-*} to $dir, since we no longer
39399         take more than one file argument, so .  Add quotes, just in case $dir
39400         ever contains a shell meta-character.  Prompted by Soren Hansen in
39401         <http://thread.gmane.org/gmane.comp.emulators.libvirt/6221/focus=6240>.
39402
39403 2008-04-29  Eric Blake  <ebb9@byu.net>
39404
39405         Optimize getndelim2 to use block operations when possible.
39406         * modules/getndelim2 (Depends-on): Add stdbool, freadptr,
39407         freadseek, and memchr2.
39408         * lib/getndelim2.c (getndelim2): Use them for block reads.
39409
39410 2008-04-29  Bruno Haible  <bruno@clisp.org>
39411
39412         * m4/inet_ntop.m4 (gl_INET_NTOP): Require gl_USE_SYSTEM_EXTENSIONS.
39413         * m4/inet_pton.m4 (gl_INET_PTON): Likewise.
39414         * modules/inet_ntop (Depends-on): Add extensions.
39415         * modules/inet_pton (Depends-on): Likewise.
39416         Reported by Simon Josefsson.
39417
39418 2008-04-29  Jim Meyering  <meyering@redhat.com>
39419
39420         When the is more than one match in a block, match all of them.
39421         * build-aux/useless-if-before-free: Iterate through each block
39422         until there are no more matches.
39423
39424         Fix broken useless-if-before-free script.
39425         * build-aux/useless-if-before-free: Fix typo: missing "?" after
39426         the expression to match cast of argument to free-like function.
39427
39428 2008-04-29  Eric Blake  <ebb9@byu.net>
39429
39430         Use new header.
39431         * lib/getaddrinfo.c (includes): s/"inet_ntop.h"/<arpa/inet.h>/.
39432
39433 2008-04-29  Jim Meyering  <meyering@redhat.com>
39434
39435         Avoid test segfault on x86_64 due to lack of inet_ntop declaration.
39436         * tests/test-getaddrinfo.c: Include <arpa/inet.h>, now guaranteed
39437         by gnulib to exist and to declare e.g., inet_ntop.
39438         Don't include "inet_ntop.h", now removed.
39439
39440         * m4/arpa_inet_h.m4: Remove trailing blanks.
39441
39442 2008-04-29  Eric Blake  <ebb9@byu.net>
39443
39444         Silence valgrind on safe reads beyond potential array bounds.
39445         * lib/rawmemchr.valgrind: New file.
39446         * lib/strchrnul.valgrind: Likewise.
39447         * modules/rawmemchr (Files): Distribute new file.
39448         * modules/strchrnul (Files): Likewise.
39449         Suggested by Bruno Haible.
39450
39451 2008-04-29  Bruno Haible  <bruno@clisp.org>
39452
39453         * lib/arpa_inet.in.h: Include system's <arpa/inet.h> if it exists.
39454         (inet_ntop, inet_pton): Change portability warning's wording.
39455         * m4/arpa_inet_h.m4 (gl_HEADER_ARPA_INET): Set HAVE_ARPA_INET_H.
39456         Invoke gl_CHECK_NEXT_HEADERS.
39457         (gl_ARPA_INET_H_DEFAULTS): Initialize ARPA_INET_H.
39458         * m4/inet_ntop.m4 (gl_INET_NTOP): Require gl_ARPA_INET_H_DEFAULTS and
39459         set ARPA_INET_H.
39460         * m4/inet_pton.m4 (gl_INET_PTON): Likewise.
39461         * modules/arpa_inet (Description): No longer only for systems that
39462         lack it.
39463         (Depends-on): Add include_next.
39464         (Makeile.am): Substitute INCLUDE_NEXT, NEXT_ARPA_INET_H,
39465         HAVE_ARPA_INET_H.
39466
39467 2008-04-29  Jim Meyering  <meyering@redhat.com>
39468
39469         * modules/mkdir (License): Re-license as LGPLv2+.
39470
39471 2008-04-29  Bruno Haible  <bruno@clisp.org>
39472
39473         * modules/rawmemchr (Maintainer): Set to Eric.
39474         * modules/strchrnul (Maintainer): Likewise.
39475
39476 2008-04-29  Simon Josefsson  <simon@josefsson.org>
39477
39478         * m4/arpa_inet_h.m4 (gl_ARPA_INET_H_DEFAULTS): Set
39479         HAVE_DECL_INET_NTOP and HAVE_DECL_INET_PTON.
39480
39481         * modules/arpa_inet (arpa/inet.h): Use them.
39482
39483 2008-04-28  Eric Blake  <ebb9@byu.net>
39484
39485         Test getndelim2.
39486         * modules/getndelim2-tests: New file.
39487         * tests/test-getndelim2.c: Likewise.
39488         * lib/getndelim2.c (getndelim2): Never return 0.  Lock the
39489         stream.
39490         * m4/getndelim2.m4 (gl_GETNDELIM2): Check for lock functions.
39491
39492         * MODULES.html.sh: Document new module.
39493
39494 2008-04-20  Bruno Haible  <bruno@clisp.org>
39495
39496         * lib/c-stack.c (die): Use raise.
39497         * modules/c-stack (Depends-on): Add raise.
39498
39499 2008-04-28  Bruno Haible  <bruno@clisp.org>
39500
39501         Expect rpmatch to be declared.
39502         * lib/yesno.c (rpmatch): Remove declaration.
39503
39504         Declare rpmatch.
39505         * lib/stdlib.in.h (rpmatch): New declaration.
39506         * lib/rpmatch.c: Include <stdlib.h> first.
39507         * m4/rpmatch.m4 (gl_FUNC_RPMATCH): Require AC_USE_SYSTEM_EXTENSIONS and
39508         gl_STDLIB_H_DEFAULTS. Set HAVE_RPMATCH.
39509         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize GNULIB_RPMATCH,
39510         HAVE_RPMATCH.
39511         * modules/rpmatch (Depends-on): Add stdlib, extensions.
39512         (configure.ac): Invoke gl_STDLIB_MODULE_INDICATOR.
39513         (Include): Set to <stdlib.h>.
39514         * modules/stdlib (Makefile.am): Substitute GNULIB_RPMATCH and
39515         HAVE_RPMATCH.
39516         * NEWS: Document the change.
39517
39518 2008-04-28  Bruno Haible  <bruno@clisp.org>
39519
39520         Change rpmatch to use nl_langinfo when appropriate.
39521         * lib/rpmatch.c: Include stdbool.h, string.h, langinfo.h.
39522         (N_): New macro.
39523         (localized_pattern): New function/macro.
39524         (try): Remove match, nomatch arguments. Copy the pattern into safe
39525         memory before caching it.
39526         (rpmatch): Use localized_pattern. Add translator comments.
39527         * m4/rpmatch.m4 (gl_PREREQ_RPMATCH): Test for nl_langinfo and YESEXPR.
39528         Suggested by Eric Blake.
39529         * modules/rpmatch (Depends-on): Add stdbool.
39530
39531 2008-04-28  Eric Blake  <ebb9@byu.net>
39532
39533         Add rawmemchr module, matching glibc.
39534         * modules/string (Makefile.am): New indicator.
39535         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Set it.
39536         * lib/string.in.h (rawmemchr): Declare when appropriate.
39537         * modules/rawmemchr: New file.
39538         * m4/rawmemchr.m4: Likewise.
39539         * lib/rawmemchr.c: Likewise.
39540         * modules/rawmemchr-tests: Likewise.
39541         * tests/test-rawmemchr.c: Likewise.
39542         * doc/glibc-functions/rawmemchr.texi (rawmemchr): Document
39543         module.
39544         * modules/strchrnul (Depends-on): Add rawmemchr.
39545         * lib/strchrnul.c (strchrnul): Optimize a corner case.
39546
39547         Whitespace cleanup.
39548         * tests/test-strchrnul.c: Reindent.
39549         * lib/strchrnul.c: Likewise.
39550
39551         Optimize and test strchrnul.
39552         * lib/strchrnul.c (strchrnul): Rewrite to do parallel search.
39553         * modules/strchrnul-tests: New file.
39554         * tests/test-strchrnul.c: Likewise.
39555
39556         Remove intprops dependency.
39557         * modules/memchr (Depends-on): Remove intprops.
39558         * modules/memrchr (Depends-on): Likewise.
39559         * modules/memchr2 (Depends-on): Likewise.
39560         * lib/memchr.c (__memchr): Hand-inline the TYPE_MAXIMUM check.
39561         * lib/memrchr.c (__memrchr): Likewise.
39562         * lib/memrchr2.c (memchr2): Likewise.
39563         Reported by Simon Josefsson.
39564
39565 2008-04-28  Simon Josefsson  <simon@josefsson.org>
39566
39567         * m4/sys_socket_h.m4: Move AC_REQUIRE([AC_C_INLINE]) to top.
39568         Suggested by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
39569
39570 2008-04-28  Simon Josefsson  <simon@josefsson.org>
39571
39572         * lib/inet_ntop.h, lib/inet_pton.h: Remove files.
39573
39574         * lib/inet_ntop.c: Include arpa/inet.h instead of inet_ntop.h.
39575
39576         * lib/inet_pton.c: Include arpa/inet.h instead of inet_pton.h.
39577
39578         * lib/arpa_inet.in.h [@GNULIB_INET_NTOP@]: Inline inet_ntop.h
39579         declarations.
39580         [@GNULIB_INET_PTON@]: Inline inet_pton.h declarations.
39581
39582         * m4/inet_pton.m4: Don't check for header files.
39583
39584         * m4/inet_ntop.m4: Don't check for header files.
39585
39586 2008-04-28  Simon Josefsson  <simon@josefsson.org>
39587
39588         * m4/sys_socket_h.m4: Require AC_C_INLINE when necessary.
39589         * lib/sys_socket.in.h (setsockopt): Use proper win32 tests (don't
39590         trigger for cygwin).
39591         Reported by Bruno Haible  <bruno@clisp.org>.
39592
39593 2008-04-28  Bruno Haible  <bruno@clisp.org>
39594
39595         * doc/posix-functions/strdup.texi: Mention mingw problem.
39596
39597 2008-04-27  Bruno Haible  <bruno@clisp.org>
39598
39599         * modules/stat-time-tests (Depends-on): Add sleep.
39600         * tests/test-stat-time.c (force_unlink): New function.
39601         (cleanup): Use it.
39602         (test_mtime): Remove the ctime related tests.
39603         (test_ctime): New function, containing the ctime related tests.
39604         (main): Call test_ctime, except on native Windows platforms.
39605
39606 2008-04-27  Bruno Haible  <bruno@clisp.org>
39607
39608         * lib/rpmatch.c (rpmatch): Add some comments.
39609         Reported by James Youngman <jay@gnu.org>.
39610
39611 2008-04-27  Bruno Haible  <bruno@clisp.org>
39612
39613         * m4/isnanl.m4 (gl_FUNC_ISNANL_WORKS): Also test the behaviour on
39614         quiet NaNs.
39615
39616 2008-04-27  Bruno Haible  <bruno@clisp.org>
39617
39618         Make test-yesno.sh work on mingw.
39619         * tests/test-yesno.sh: Postprocess the output to convert CR/LF to LF.
39620         * tests/test-yesno.c: Include yesno.h first. Include binary-io.h.
39621         (main): Set stdin to binary mode.
39622         * modules/yesno-tests (Depends-on): Add binary-io.
39623
39624 2008-04-27  Bruno Haible  <bruno@clisp.org>
39625
39626         Fix 'isfinite' on x86, x86_64, ia64 platforms.
39627         * tests/test-isfinite.c (test_isfinitel): Also test the behavior on
39628         argument that lie outside the IEEE 854 domain.
39629         * m4/isfinite.m4 (gl_ISFINITEL_WORKS): New macro.
39630         (gl_ISFINITE): Use it.
39631         * doc/posix-functions/isfinite.texi: Document the fixed bugs.
39632
39633 2008-04-27  Bruno Haible  <bruno@clisp.org>
39634
39635         Allow local renaming in config.h.
39636         * lib/memrchr.c (memrchr): Don't undefine outside libc.
39637
39638 2008-04-27  Bruno Haible  <bruno@clisp.org>
39639
39640         * lib/memchr.c (__memchr): Change type of 'i'.
39641         * lib/memchr2.c (memchr2): Likewise.
39642
39643 2008-04-26  Eric Blake  <ebb9@byu.net>
39644         and Bruno Haible  <bruno@clisp.org>
39645
39646         Optimize and test memrchr.
39647         * modules/memrchr (Depends-on): Add intprops.
39648         * lib/memrchr.c (__memrchr): Avoid false positives in loop.
39649         * modules/memrchr-tests: New file.
39650         * tests/test-memrchr.c: New file.
39651
39652 2008-04-26  Bruno Haible  <bruno@clisp.org>
39653
39654         Add tentative support for DragonFly BSD.
39655         * lib/stdio-impl.h: Add macros for DragonFly BSD.
39656         * lib/fbufmode.c (fbufmode): Update conditionals. Use fp_ instead of
39657         fp.
39658         * lib/fflush.c (clear_ungetc_buffer, disable_seek_optimization,
39659         restore_seek_optimization, update_fpos_cache, rpl_fflush: Likewise.
39660         * lib/fpurge.c (fpurge): Likewise.
39661         * lib/freadable.c (freaadable): Likewise.
39662         * lib/freadahead.c (freadahead): Likewise.
39663         * lib/freading.c (freading): Likewise.
39664         * lib/freadptr.c (freadptr): Likewise.
39665         * lib/freadseek.c (freadptrinc): Likewise.
39666         * lib/fseeko.c (fseeko): Likewise.
39667         * lib/fseterr.c (fseterr): Likewise.
39668         * lib/fwritable.c (fwritable): Likewise.
39669         * lib/fwriting.c (fwriting): Likewise.
39670
39671 2008-04-26  Bruno Haible  <bruno@clisp.org>
39672
39673         * lib/stdio-impl.h: New file.
39674         * lib/fbufmode.c: Include stdio-impl.h.
39675         (fbufmode): Use fp_, remove redundant #defines.
39676         * lib/fflush.c: Include stdio-impl.h.
39677         (clear_ungetc_buffer): Remove redundant #defines.
39678         * lib/fpurge.c: Include stdio-impl.h.
39679         (fpurge): Remove redundant #defines.
39680         * lib/freadable.c: Include stdio-impl.h.
39681         (freadable): Remove redundant #defines.
39682         * lib/freadahead.c: Include stdio-impl.h.
39683         (freadahead): Remove redundant #defines.
39684         * lib/freading.c: Include stdio-impl.h.
39685         (freading): Remove redundant #defines.
39686         * lib/freadptr.c: Include stdio-impl.h.
39687         (freadptr): Remove redundant #defines.
39688         * lib/freadseek.c: Include stdio-impl.h.
39689         (freadptrinc): Remove redundant #defines.
39690         * lib/fseeko.c: Include stdio-impl.h.
39691         (rpl_fseeko): Remove redundant #defines.
39692         * lib/fseterr.c: Include stdio-impl.h.
39693         (fseterr): Remove redundant #defines.
39694         * lib/fwritable.c: Include stdio-impl.h.
39695         (fwritable: Remove redundant #defines.
39696         * lib/fwriting.c: Include stdio-impl.h.
39697         (fwriting): Remove redundant #defines.
39698         * modules/fbufmode (Files): Add lib/stdio-impl.h.
39699         * modules/fflush (Files): Likewise.
39700         * modules/fpurge (Files): Likewise.
39701         * modules/freadable (Files): Likewise.
39702         * modules/freadahead (Files): Likewise.
39703         * modules/freading (Files): Likewise.
39704         * modules/freadptr (Files): Likewise.
39705         * modules/freadseek (Files): Likewise.
39706         * modules/fseeko (Files): Likewise.
39707         * modules/fseterr (Files): Likewise.
39708         * modules/fwritable (Files): Likewise.
39709         * modules/fwriting (Files): Likewise.
39710
39711 2008-04-26  Bruno Haible  <bruno@clisp.org>
39712
39713         * lib/fflush.c (clear_ungetc_buffer, disable_seek_optimization,
39714         restore_seek_optimization, update_fpos_cache): New functions, extracted
39715         from rpl_fflush.
39716         (rpl_fflush): Use them.
39717         * m4/fflush.m4 (gl_PREREQ_FFLUSH): New macro.
39718         (gl_REPLACE_FFLUSH): Use it.
39719
39720 2008-04-26  Bruno Haible  <bruno@clisp.org>
39721
39722         * tests/test-xstrtol.sh: Work around limitation of an old 'tr' program
39723         on Solaris.
39724         * tests/test-xstrtoimax.sh: Likewise.
39725         * tests/test-xstrtoumax.sh: Likewise.
39726         Reported by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
39727
39728 2008-04-26  Bruno Haible  <bruno@clisp.org>
39729
39730         * modules/memchr-tests: New file.
39731         * tests/test-memchr.c; New file, based on tests/test-memchr2.c.
39732
39733 2008-04-26  Eric Blake  <ebb9@byu.net>
39734             Bruno Haible  <bruno@clisp.org>
39735
39736         * lib/memchr.c: Include intprops.h.
39737         (__memchr): Optimize parallel detection of matching bytes. Rename local
39738         variables. Add explanatory comments.
39739
39740 2008-04-26  Bruno Haible  <bruno@clisp.org>
39741
39742         Fix module 'memchr', broken since 2000-10-28.
39743         * lib/memchr.c: Outside glibc, define memchr, not __memchr.
39744
39745 2008-04-26  Bruno Haible  <bruno@clisp.org>
39746
39747         * lib/memchr2.c (memchr2): Rename local variables. Add explanatory
39748         comments.
39749
39750 2008-04-25  Eric Blake  <ebb9@byu.net>
39751
39752         Use native fstatat on cygwin 1.7.0.
39753         * m4/openat.m4 (gl_FUNC_OPENAT): Make sure lstat check is made
39754         first.
39755
39756 2008-04-23  Eric Blake  <ebb9@byu.net>
39757
39758         Improve memchr2 performance.
39759         * lib/memchr2.c (memchr2): Further optimize parallel detection of
39760         NUL bytes.
39761         * modules/memchr2 (Depends-on): Use intprops.h.
39762
39763 2008-04-23  Simon Josefsson  <simon@josefsson.org>
39764
39765         * lib/sys_socket.in.h (setsockopt): Be more type safe by declaring
39766         an inline function instead of a CPP macro.  Patch by Ben Pfaff
39767         <blp@cs.stanford.edu>.
39768
39769 2008-04-23  Simon Josefsson  <simon@josefsson.org>
39770
39771         * lib/arpa_inet.in.h: New file.
39772
39773         * modules/arpa_inet (Files): Add lib/arpa_inet.in.h.
39774         (Makefile.am): Sed in substitute header file.
39775
39776         * m4/arpa_inet_h.m4: Add gl_ARPA_INET_H_DEFAULTS and
39777         gl_ARPA_INET_MODULE_INDICATOR.  Use them.
39778
39779         * modules/inet_ntop (configure.ac): Use
39780         gl_ARPA_INET_MODULE_INDICATOR.
39781
39782         * modules/inet_pton (configure.ac): Use
39783         gl_ARPA_INET_MODULE_INDICATOR.
39784
39785 2008-04-22  Jim Meyering  <meyering@redhat.com>
39786
39787         * modules/verify (License): Re-license as LGPLv2+.
39788
39789 2008-04-22  Simon Josefsson  <simon@josefsson.org>
39790
39791         * lib/sys_socket.in.h: Define setsockopt macro to cast fourth
39792         parameter to void* as per POSIX standard (MinGW uses char*).
39793
39794 2008-04-21  Bruno Haible  <bruno@clisp.org>
39795
39796         * lib/wctype.in.h (iswalnum, iswalpha, iswblank, iswcntrl, iswdigit,
39797         iswgraph, iswlower, iswprint, iswpunct, iswspace, iswupper, iswxdigit):
39798         Define to replacements if REPLACE_ISWCNTRL is 1.
39799         * m4/wctype.m4 (gl_WCTYPE_H): Test whether the isw* functions work.
39800         If not, set WCTYPE_H to nonempty and REPLACE_ISWCNTRL to 1.
39801         * modules/wctype (Makefile.am): Substitute REPLACE_ISWCNTRL.
39802         * doc/posix-functions/iswalnum.texi: Mention the 'wctype' module and
39803         what it fixes.
39804         * doc/posix-functions/iswalpha.texi: Likewise.
39805         * doc/posix-functions/iswblank.texi: Likewise.
39806         * doc/posix-functions/iswcntrl.texi: Likewise.
39807         * doc/posix-functions/iswdigit.texi: Likewise.
39808         * doc/posix-functions/iswgraph.texi: Likewise.
39809         * doc/posix-functions/iswlower.texi: Likewise.
39810         * doc/posix-functions/iswprint.texi: Likewise.
39811         * doc/posix-functions/iswpunct.texi: Likewise.
39812         * doc/posix-functions/iswspace.texi: Likewise.
39813         * doc/posix-functions/iswupper.texi: Likewise.
39814         * doc/posix-functions/iswxdigit.texi: Likewise.
39815         Reported by Alain Guibert.
39816
39817 2008-04-21  Bruno Haible  <bruno@clisp.org>
39818
39819         * m4/vsnprintf.m4 (gl_FUNC_VSNPRINTF): Fix typo in last commit.
39820         Patch by Alain Guibert.
39821
39822 2008-04-21  Bruno Haible  <bruno@clisp.org>
39823
39824         Fix test failures on mingw.
39825         * tests/test-xstrtol.c (print_no_progname): New function.
39826         (main): Install it in error_print_progname hook.
39827         * tests/test-xstrtol.sh: Convert CR/LF to NL in output.
39828         * tests/test-xstrtoimax.sh: Likewise.
39829         * tests/test-xstrtoumax.sh: Likewise.
39830
39831 2008-04-21  Bruno Haible  <bruno@clisp.org>
39832
39833         Fix test failure on mingw.
39834         * tests/test-argp-2.sh (func_compare): Remove CRs from sed's output.
39835
39836 2008-04-21  Bruno Haible  <bruno@clisp.org>
39837
39838         * lib/localename.c (SUBLANG_TIBETAN_PRC, SUBLANG_TIBETAN_BHUTAN):
39839         Actually assign a value.
39840
39841 2008-04-20  Bruno Haible  <bruno@clisp.org>
39842
39843         Fix conflict between modules 'canonicalize' and 'canonicalize-lgpl',
39844         take 2.
39845         * lib/canonicalize.c (canonicalize_file_name): Elide if the
39846         'canonicalize-lgpl' module is also used.
39847         * lib/canonicalize-lgpl.c: Undo last change.
39848         * modules/canonicalize-lgpl (configure.ac): Invoke gl_MODULE_INDICATOR.
39849
39850 2008-04-20  Bruno Haible  <bruno@clisp.org>
39851
39852         * lib/mkdir.c (mkdir): Undefine after the includes, not right after
39853         config.h. Provide _mkdir based fallback for mingw.
39854         * lib/sys_stat.in.h (mkdir): Define through an 'extern' declaration
39855         if REPLACE_MKDIR is 1. Otherwise, test for mingw directly.
39856         * m4/mkdir-slash.m4 (gl_FUNC_MKDIR_TRAILING_SLASH): Require
39857         gl_SYS_STAT_H_DEFAULTS. When doing the replacement, set REPLACE_MKDIR
39858         rather than defining mkdir in config.h.
39859         * m4/sys_stat_h.m4 (gl_SYS_STAT_MODULE_INDICATOR): New macro.
39860         (gl_SYS_STAT_H_DEFAULTS): New macro.
39861         (gl_HEADER_SYS_STAT_H): Require it. Don't set HAVE_DECL_MKDIR and
39862         HAVE_IO_H any more.
39863         * modules/sys_stat (Makefile.am): Substitute REPLACE_MKDIR instead of
39864         HAVE_DECL_MKDIR and HAVE_IO_H.
39865
39866 2008-04-20  Bruno Haible  <bruno@clisp.org>
39867
39868         * lib/isapipe.c: Port to native Windows platforms.
39869
39870 2008-04-20  Bruno Haible  <bruno@clisp.org>
39871
39872         * lib/gc-gnulib.c: Include <windows.h> before <wincrypt.h>.
39873
39874 2008-04-21  Eric Blake  <ebb9@byu.net>
39875
39876         Work around preprocessors that don't handle UINTMAX_MAX.
39877         * lib/memchr2.c (memchr2): Avoid embedded #if.
39878         Reported by Alain Guibert, fix suggested by Bruno Haible.
39879
39880 2008-04-21  Simon Josefsson  <simon@josefsson.org>
39881
39882         * doc/posix-functions/strftime.texi (strftime): Explain better
39883         Windows incompatibility.  Suggested by Micah Cowan
39884         <micah@cowan.name>.
39885
39886 2008-04-20  Bruno Haible  <bruno@clisp.org>
39887
39888         * modules/uniconv/u32-conv-to-enc (Depends-on): Add unistr/u32-mblen,
39889         unistr/u8-mblen.
39890
39891 2008-04-20  Bruno Haible  <bruno@clisp.org>
39892
39893         Fix test failure on platforms with non-GNU iconv.
39894         * lib/uniconv/u16-conv-to-enc.c (u16_to_u8_lenient): New function.
39895         (U_TO_U8): Use it, rather than u16_to_u8.
39896         * lib/uniconv/u-conv-to-enc.h (FUNC): Allow an incomplete sequence of
39897         units at the end of the input string.
39898         * modules/uniconv/u16-conv-to-enc (Depends-on): Update.
39899
39900 2008-04-20  Bruno Haible  <bruno@clisp.org>
39901
39902         * tests/uniconv/test-u8-conv-to-enc.c (main): Accept result == NULL
39903         when the resulting length is 0.
39904         * tests/uniconv/test-u16-conv-to-enc.c (main): Likewise.
39905
39906 2008-04-20  Bruno Haible  <bruno@clisp.org>
39907
39908         * m4/roundf.m4 (gl_FUNC_ROUNDF): Add test whether roundf actually
39909         works.
39910         * doc/posix-functions/roundf.texi: Mention roundf bug on mingw.
39911
39912 2008-04-20  Bruno Haible  <bruno@clisp.org>
39913
39914         * tests/test-tsearch.c (main): Don't use initstate if it is missing.
39915         * modules/tsearch-tests (configure.ac): Test for initstate function.
39916
39917 2008-04-20  Bruno Haible  <bruno@clisp.org>
39918
39919         * m4/sys_stat_h.m4 (gl_HEADER_SYS_STAT_H): Also provided a substitute
39920         for nlink_t if missing.
39921         * tests/test-sys_stat.c: Check the existence of the nlink_t type.
39922
39923 2008-04-19  Bruno Haible  <bruno@clisp.org>
39924
39925         Work around snprintf bug on Linux libc5.
39926         * m4/printf.m4 (gl_SNPRINTF_SIZE1): New macro.
39927         * m4/snprintf-posix.m4 (gl_FUNC_SNPRINTF_POSIX): Invoke
39928         gl_SNPRINTF_SIZE1.
39929         * m4/vsnprintf-posix.m4 (gl_FUNC_VSNPRINTF_POSIX): Likewise.
39930         * m4/snprintf.m4 (gl_FUNC_SNPRINTF): Likewise. Replace snprintf if
39931         that test failed.
39932         * m4/vsnprintf.m4 (gl_FUNC_VSNPRINTF): Likewise.
39933         * lib/vasnprintf.c (USE_SNPRINTF): Set to 0 on Linux libc5 systems.
39934         * modules/snprintf (Files): Add m4/printf.m4.
39935         * modules/vsnprintf (Files): Likewise.
39936         * doc/posix-functions/snprintf.texi: Document Linux libc5 problem.
39937         * doc/posix-functions/vsnprintf.texi: Likewise.
39938
39939 2008-04-19  Bruno Haible  <bruno@clisp.org>
39940
39941         * lib/vasnprintf.c (floorlog10l, floorlog10): Reduce maximum error
39942         from 0.0058 to less than 10^-7.
39943
39944 2008-04-19  Bruno Haible  <bruno@clisp.org>
39945
39946         Fix rounding when a precision is given.
39947         * lib/vasnprintf.c (is_borderline): New function.
39948         (VASNPRINTF): For %e and %g, consider replacing the digits 10....0 with
39949         9...9x.
39950         * tests/test-vasnprintf-posix.c (test_function): Test rounding with %f,
39951         %e, %g.
39952         * tests/test-vasprintf-posix.c (test_function): Likewise.
39953         * tests/test-snprintf-posix.h (test_function): Likewise.
39954         * tests/test-sprintf-posix.h (test_function): Likewise.
39955         * tests/test-fprintf-posix.h (test_function): Test rounding with %f.
39956         * tests/test-printf-posix.h (test_function): Likewise.
39957         * tests/test-printf-posix.output: Update.
39958         Reported by John Darrington <john@darrington.wattle.id.au> via
39959         Ben Pfaff <blp@cs.stanford.edu>.
39960
39961 2008-04-18  Simon Josefsson  <simon@josefsson.org>
39962
39963         * doc/posix-functions/strftime.texi (strftime): Clarify platform.
39964         Suggested by Bruno Haible <bruno@clisp.org>.
39965
39966 2008-04-17  Bruno Haible  <bruno@clisp.org>
39967
39968         * lib/lock.h (gl_lock_destroy, gl_rwlock_destroy,
39969         gl_recursive_lock_destroy): Provide no-op definitions for the dummy
39970         implementation.
39971         Patch by Bruce Merry <bmerry@gmail.com>.
39972
39973 2008-04-17  Simon Josefsson  <simon@josefsson.org>
39974
39975         * doc/posix-functions/strftime.texi (strftime): Mention that %e
39976         doesn't work under Windows.
39977
39978 2008-04-16  Bruno Haible  <bruno@clisp.org>
39979
39980         * lib/localename.c (LANG_MAORI, LANG_QUECHUA, LANG_SOTHO, LANG_UIGHUR):
39981         New macros.
39982         (SUBLANG_BOSNIAN_BOSNIA_HERZEGOVINA_LATIN,
39983         SUBLANG_BOSNIAN_BOSNIA_HERZEGOVINA_CYRILLIC,
39984         SUBLANG_CROATIAN_CROATIA, SUBLANG_CROATIAN_BOSNIA_HERZEGOVINA_LATIN,
39985         SUBLANG_MONGOLIAN_CYRILLIC_MONGOLIA, SUBLANG_MONGOLIAN_PRC,
39986         SUBLANG_QUECHUA_BOLIVIA, SUBLANG_QUECHUA_ECUADOR, SUBLANG_QUECHUA_PERU,
39987         SUBLANG_RUSSIAN_RUSSIA, SUBLANG_RUSSIAN_MOLDAVIA, SUBLANG_SPANISH_US,
39988         SUBLANG_TIBETAN_PRC, SUBLANG_TIBETAN_BHUTAN, SUBLANG_UIGHUR_PRC): New
39989         macros.
39990         (gl_locale_name_from_win32_LANGID): Refine code for Croatian/Bosnian,
39991         Mongolian, Russian, Spanish, Tibetan. Add code for Maori, Quechua,
39992         Northern Sotho, Uighur.
39993
39994 2008-04-16  Bruno Haible  <bruno@clisp.org>
39995
39996         * lib/localename.c (SUBLANG_SINDHI_INDIA): New macro.
39997         (SUBLANG_SINDHI_PAKISTAN): Change value from 1 to 2.
39998         (gl_locale_name_from_win32_LANGID): Fix code for Sindhi.
39999         Reported by Daniel Bergström <daniel@octocode.com>.
40000
40001 2007-12-25  KJK::Hyperion  <hackbunny@reactos.com>
40002             Bruno Haible  <bruno@clisp.org>
40003
40004         * lib/localename.c (gl_locale_name_canonicalize) [WIN32_NATIVE]: New
40005         function.
40006         (gl_locale_name_from_win32_LANGID, gl_locale_name_from_win32_LCID):
40007         New functions, mostly extracted from gl_locale_name_default.
40008         (gl_locale_name_default): Use gl_locale_name_from_win32_LCID.
40009
40010 2008-04-16  Eric Blake  <ebb9@byu.net>
40011
40012         Adjust strtod detection to catch glibc 2.7 bug.
40013         * m4/strtod.m4 (gl_FUNC_STRTOD): Test "nan()" behavior.
40014         Reported by John Gatewood Ham.
40015
40016 2008-04-16  Bruno Haible  <bruno@clisp.org>
40017
40018         Add tentative support for Linux libc5.
40019         * lib/fbufmode.c (fbufmode) [__GNU_LIBRARY__==1]: Reuse glibc2 code.
40020         * lib/fpurge.c (fpurge): Likewise.
40021         * lib/freadable.c (freadable): Likewise.
40022         * lib/freadahead.c (freadahead): Likewise.
40023         * lib/freading.c (freading): Likewise.
40024         * lib/freadptr.c (freadptr): Likewise.
40025         * lib/freadseek.c (freadptrinc): Likewise.
40026         * lib/fseeko.c (rpl_fseeko): Likewise.
40027         * lib/fseterr.c (fseterr): Likewise.
40028         * lib/fwritable.c (fwritable): Likewise.
40029         * lib/fwriting.c (fwriting): Likewise.
40030         Reported by Alain Guibert <alguibert+bts@free.fr>.
40031
40032 2008-04-15  Bruno Haible  <bruno@clisp.org>
40033
40034         * modules/mathl (configure.ac): Define module indicator.
40035
40036 2008-04-15  Bruno Haible  <bruno@clisp.org>
40037
40038         * lib/logl.c (logl): Remove unused variables.
40039
40040 2008-04-15  Bruno Haible  <bruno@clisp.org>
40041
40042         * lib/uniconv/u-conv-to-enc.h (FUNC): Fix return value when U_TO_U8
40043         fails.
40044
40045 2008-04-15  Bruno Haible  <bruno@clisp.org>
40046
40047         * lib/trim.c (trim2): Fix argument of isspace() macro.
40048
40049 2008-04-15  Paolo Bonzini  <bonzini@gnu.org>
40050
40051         * lib/tanl.c (kernel_tanl): Rename flag to invert, initialize it
40052         to 0.
40053         * lib/trigl.c (ieee754_rem_pio2l): Fix range checks.
40054
40055 2008-04-14  Bruno Haible  <bruno@clisp.org>
40056
40057         * m4/calloc.m4 (_AC_FUNC_CALLOC_IF): Fix underquoting of
40058         AC_LANG_PROGRAM argument.
40059         * m4/extensions.m4 (AC_USE_SYSTEM_EXTENSIONS): Likewise.
40060         * m4/gethrxtime.m4 (gl_ARITHMETIC_HRTIME_T): Likewise.
40061         * m4/getopt.m4 (gl_GETOPT_CHECK_HEADERS): Likewise.
40062         * m4/inttypes.m4 (gl_INTTYPES_H): Likewise.
40063         * m4/math_h.m4 (gl_MATH_H): Likewise.
40064         * m4/mbstate_t.m4 (AC_TYPE_MBSTATE_T): Likewise.
40065         * m4/memmem.m4 (gl_FUNC_MEMMEM): Likewise.
40066         * m4/netinet_in_h.m4 (gl_HEADER_NETINET_IN): Likewise.
40067         * m4/physmem.m4 (gl_SYS__SYSTEM_CONFIGURATION): Likewise.
40068         * m4/putenv.m4 (gl_FUNC_PUTENV): Likewise.
40069         * m4/regex.m4 (gl_REGEX): Likewise.
40070         * m4/stdint.m4 (gl_INTEGER_TYPE_SUFFIX): Likewise.
40071         * m4/stdio_h.m4 (gl_STDIN_LARGE_OFFSET): Likewise.
40072         * m4/strcasestr.m4 (gl_FUNC_STRCASESTR): Likewise.
40073         * m4/strerror.m4 (gl_FUNC_STRERROR_SEPARATE): Likewise.
40074         * m4/strndup.m4 (gl_FUNC_STRNDUP): Likewise.
40075         * m4/strstr.m4 (gl_FUNC_STRSTR): Likewise.
40076         * m4/sys_select_h.m4 (gl_HEADER_SYS_SELECT): Likewise.
40077         * m4/sys_socket_h.m4 (gl_HEADER_SYS_SOCKET): Likewise.
40078
40079 2008-04-14  Jim Meyering  <meyering@redhat.com>
40080
40081         test-strtod: fix typos: s/abs/fabs/
40082         * tests/test-strtod.c (main): Use fabs, not narrowing-to-int "abs".
40083
40084 2008-04-13  Bruno Haible  <bruno@clisp.org>
40085
40086         Fix conflict between modules 'canonicalize' and 'canonicalize-lgpl'.
40087         * lib/canonicalize-lgpl.c: Elide the contents if the 'canonicalize'
40088         module is also used and while not building the reloc-wrapper.
40089
40090 2008-04-13  Bruno Haible  <bruno@clisp.org>
40091
40092         * tests/test-getaddrinfo.c (simple): Ignore EAI_NODATA error.
40093
40094 2008-04-13  Bruno Haible  <bruno@clisp.org>
40095
40096         Fix AIX compilation failure introduced on 2008-04-02.
40097         * tests/test-frexp.c (exp): Undefine before redefining.
40098         * tests/test-frexpl.c (exp): Likewise.
40099
40100 2008-04-13  Bruno Haible  <bruno@clisp.org>
40101
40102         Work around a HP-UX stdio bug.
40103         * tests/test-ftell.c (main): Disable the fseek/ftell test on HP-UX.
40104         * tests/test-ftello.c (main): Likewise.
40105         * doc/posix-functions/ftell.texi: Mention HP-UX bug.
40106         * doc/posix-functions/ftello.texi: Likewise.
40107
40108 2008-04-13  Bruno Haible  <bruno@clisp.org>
40109
40110         Make test-signbit pass on HP-UX/hppa.
40111         * tests/test-signbit.c (minus_zerol): New variable.
40112         (test_signbitl): Use it.
40113
40114 2008-04-13  Bruno Haible  <bruno@clisp.org>
40115
40116         Make truncl work on OSF/1 4.0.
40117         * m4/truncl.m4 (gl_FUNC_TRUNCL): Test whether truncl actually works.
40118         Set REPLACE_TRUNCL, not HAVE_DECL_TRUNCL.
40119         * lib/math.in.h (truncl): Test REPLACE_TRUNCL, not HAVE_DECL_TRUNCL.
40120         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize REPLACE_TRUNCL, not
40121         HAVE_DECL_TRUNCL.
40122         * modules/math (Makefile.am): Substitute REPLACE_TRUNCL, not
40123         HAVE_DECL_TRUNCL.
40124         * doc/posix-functions/truncl.texi: Document the OSF/1 4.0 problem.
40125
40126 2008-04-13  Bruno Haible  <bruno@clisp.org>
40127
40128         * lib/unictype.h: Remove trailing comma from enumeration definitions.
40129
40130 2008-04-13  Bruno Haible  <bruno@clisp.org>
40131
40132         * lib/count-one-bits.h (COUNT_ONE_BITS): Rewrite verification
40133         expression, so as to avoid HP-UX 11 cc compiler bug.
40134
40135 2008-04-13  Bruno Haible  <bruno@clisp.org>
40136
40137         * m4/regex.m4 (gl_PREREQ_REGEX): Also check for <libintl.h>.
40138
40139 2008-04-13  Bruno Haible  <bruno@clisp.org>
40140
40141         * lib/git-merge-changelog.c: Remove empty declaration outside of
40142         functions.
40143
40144 2008-04-13  Bruno Haible  <bruno@clisp.org>
40145
40146         * modules/quotearg-tests (Makefile.am): Define test_quotearg_LDADD.
40147
40148 2008-04-13  Bruno Haible  <bruno@clisp.org>
40149
40150         * doc/posix-headers/sys_socket.texi: Document the problem on EMX.
40151         * lib/sys_socket.in.h (SHUT_RD, SHUT_WR, SHUT_RDWR): Define if missing.
40152         * m4/sys_socket_h.m4 (gl_HEADER_SYS_SOCKET): Replace <sys/socket.h>
40153         also if it exists but lacks definitions of the SHUT_* macros.
40154         * modules/sys_socket (Description): Update.
40155         Reported by Elbert Pol <e.pol@chello.nl>.
40156
40157 2008-04-13  Bruno Haible  <bruno@clisp.org>
40158
40159         * lib/localcharset.c (OS2): Don't redefine if already defined.
40160         Reported by Elbert Pol <e.pol@chello.nl>.
40161
40162 2008-04-13  Bruno Haible  <bruno@clisp.org>
40163
40164         * lib/binary-io.h [__EMX__]: Include <io.h>.
40165         Reported by Elbert Pol <e.pol@chello.nl>.
40166
40167 2008-04-12  Bruno Haible  <bruno@clisp.org>
40168
40169         * lib/fpucw.h: Enable the definitions also for x86_64.
40170         Needed for NetBSD/x86_64.
40171         Reported by Thomas Klausner <tk@giga.or.at>.
40172
40173 2008-04-12  Bruno Haible  <bruno@clisp.org>
40174
40175         * tests/test-strtod.c: Include isnand.h.
40176         (main): Use isnand instead of isnan.
40177         Reported by Jim Meyering.
40178
40179 2008-04-12  Bruno Haible  <bruno@clisp.org>
40180
40181         * m4/isnanf.m4 (gl_ISNANF_WORKS): Add a test for a special NaN.
40182         Reported by Nelson H. F. Beebe <beebe@math.utah.edu>.
40183
40184 2008-04-12  Jim Meyering  <meyering@redhat.com>
40185
40186         * m4/math_h.m4 (gl_MATH_H): Fix typos.
40187
40188 2008-04-12  Bruno Haible  <bruno@clisp.org>
40189
40190         * lib/freadptr.c (freadptr) [__EMX__]: Fix wrong assertion.
40191         Reported by Elbert Pol <e.pol@chello.nl>.
40192
40193 2008-04-12  Eric Blake  <ebb9@byu.net>
40194
40195         Work around Solaris 10 math.h bug.
40196         * m4/math_h.m4 (gl_MATH_H): Check for bug.
40197         (gl_MATH_H_DEFAULTS): Set up default.
40198         * modules/math (Makefile.am): Replace new indicators.
40199         * lib/math.in.h (NAN, HUGE_VAL): Provide replacements.
40200         * tests/test-math.c (main): Test this.
40201         * m4/strtod.m4 (gl_FUNC_STRTOD): Don't rely on HUGE_VAL.
40202         * doc/posix-headers/math.texi (math.h): Mention bug.
40203         Reported by Nelson H. F. Beebe and Jim Meyering.
40204
40205 2008-04-11  Bruno Haible  <bruno@clisp.org>
40206
40207         Adapt to future versions of Apple GCC.
40208         * lib/argp-fmtstream.h (ARGP_FS_EI): Don't test __GNUC_GNU_INLINE__.
40209         Reported by Peter O'Gorman <peter@pogma.com>.
40210
40211 2008-04-11  Bruno Haible  <bruno@clisp.org>
40212
40213         * tests/test-getaddrinfo.c (simple): Ignore EAI_NONAME error.
40214
40215 2008-04-11  Bruno Haible  <bruno@clisp.org>
40216
40217         * modules/strsignal-tests (Makefile.am): Define test_strsignal_LDADD.
40218
40219         * modules/getaddrinfo-tests (Makefile.am): Define
40220         test_getaddrinfo_LDADD.
40221
40222 2008-04-11  Bruno Haible  <bruno@clisp.org>
40223
40224         * lib/strsignal.c (_sys_siglist): Don't declare if already declared.
40225         (init): Fix syntax error.
40226         * m4/strsignal.m4 (gl_PREREQ_STRSIGNAL): Check whether _sys_siglist
40227         is declared.
40228
40229 2008-04-11  Bruno Haible  <bruno@clisp.org>
40230
40231         * lib/glob.c: Include <stdbool.h>. Needed at least with IRIX cc.
40232         * modules/glob (Depends-on): Add stdbool.
40233
40234 2008-04-11  Bruno Haible  <bruno@clisp.org>
40235
40236         * lib/trim.c: Include <string.h>.
40237
40238 2008-04-11  Eric Blake  <ebb9@byu.net>
40239
40240         Avoid compile failure on OS/2.
40241         * lib/regex_internal.h (internal_function): Disable optimization
40242         on OS/2 (__EMX__), where it caused compiler error.
40243         Reported by Elbert Pol.
40244
40245 2008-04-11  Bruno Haible  <bruno@clisp.org>
40246
40247         Flush the standard error stream before aborting. Needed on mingw.
40248         * tests/test-argmatch.c (ASSERT): Call fflush(stderr) before abort().
40249         * tests/test-array_list.c (ASSERT): Likewise.
40250         * tests/test-array_oset.c (ASSERT): Likewise.
40251         * tests/test-avltree_list.c (ASSERT): Likewise.
40252         * tests/test-avltree_oset.c (ASSERT): Likewise.
40253         * tests/test-avltreehash_list.c (ASSERT): Likewise.
40254         * tests/test-binary-io.c (ASSERT): Likewise.
40255         * tests/test-byteswap.c (ASSERT): Likewise.
40256         * tests/test-c-ctype.c (ASSERT): Likewise.
40257         * tests/test-c-strcasecmp.c (ASSERT): Likewise.
40258         * tests/test-c-strcasestr.c (ASSERT): Likewise.
40259         * tests/test-c-strncasecmp.c (ASSERT): Likewise.
40260         * tests/test-c-strstr.c (ASSERT): Likewise.
40261         * tests/test-canonicalize-lgpl.c (ASSERT): Likewise.
40262         * tests/test-canonicalize.c (ASSERT): Likewise.
40263         * tests/test-carray_list.c (ASSERT): Likewise.
40264         * tests/test-ceilf1.c (ASSERT): Likewise.
40265         * tests/test-ceilf2.c (ASSERT): Likewise.
40266         * tests/test-ceill.c (ASSERT): Likewise.
40267         * tests/test-count-one-bits.c (ASSERT): Likewise.
40268         * tests/test-fbufmode.c (ASSERT): Likewise.
40269         * tests/test-fflush2.c (ASSERT): Likewise.
40270         * tests/test-floorf1.c (ASSERT): Likewise.
40271         * tests/test-floorf2.c (ASSERT): Likewise.
40272         * tests/test-floorl.c (ASSERT): Likewise.
40273         * tests/test-fopen.c (ASSERT): Likewise.
40274         * tests/test-fpending.c (ASSERT): Likewise.
40275         * tests/test-fprintf-posix.c (ASSERT): Likewise.
40276         * tests/test-fpurge.c (ASSERT): Likewise.
40277         * tests/test-freadable.c (ASSERT): Likewise.
40278         * tests/test-freadahead.c (ASSERT): Likewise.
40279         * tests/test-freading.c (ASSERT): Likewise.
40280         * tests/test-freadptr.c (ASSERT): Likewise.
40281         * tests/test-freadptr2.c (ASSERT): Likewise.
40282         * tests/test-freadseek.c (ASSERT): Likewise.
40283         * tests/test-freopen.c (ASSERT): Likewise.
40284         * tests/test-frexp.c (ASSERT): Likewise.
40285         * tests/test-frexpl.c (ASSERT): Likewise.
40286         * tests/test-fseek.c (ASSERT): Likewise.
40287         * tests/test-fseeko.c (ASSERT): Likewise.
40288         * tests/test-fstrcmp.c (ASSERT): Likewise.
40289         * tests/test-ftell.c (ASSERT): Likewise.
40290         * tests/test-ftello.c (ASSERT): Likewise.
40291         * tests/test-func.c (ASSERT): Likewise.
40292         * tests/test-fwritable.c (ASSERT): Likewise.
40293         * tests/test-fwriting.c (ASSERT): Likewise.
40294         * tests/test-getdelim.c (ASSERT): Likewise.
40295         * tests/test-getline.c (ASSERT): Likewise.
40296         * tests/test-i-ring.c (ASSERT): Likewise.
40297         * tests/test-iconv-utf.c (ASSERT): Likewise.
40298         * tests/test-iconv.c (ASSERT): Likewise.
40299         * tests/test-isfinite.c (ASSERT): Likewise.
40300         * tests/test-isnand.c (ASSERT): Likewise.
40301         * tests/test-isnanf.c (ASSERT): Likewise.
40302         * tests/test-isnanl.h (ASSERT): Likewise.
40303         * tests/test-ldexpl.c (ASSERT): Likewise.
40304         * tests/test-linked_list.c (ASSERT): Likewise.
40305         * tests/test-linkedhash_list.c (ASSERT): Likewise.
40306         * tests/test-localename.c (ASSERT): Likewise.
40307         * tests/test-lseek.c (ASSERT): Likewise.
40308         * tests/test-mbscasecmp.c (ASSERT): Likewise.
40309         * tests/test-mbscasestr1.c (ASSERT): Likewise.
40310         * tests/test-mbscasestr2.c (ASSERT): Likewise.
40311         * tests/test-mbscasestr3.c (ASSERT): Likewise.
40312         * tests/test-mbscasestr4.c (ASSERT): Likewise.
40313         * tests/test-mbschr.c (ASSERT): Likewise.
40314         * tests/test-mbscspn.c (ASSERT): Likewise.
40315         * tests/test-mbsncasecmp.c (ASSERT): Likewise.
40316         * tests/test-mbspbrk.c (ASSERT): Likewise.
40317         * tests/test-mbspcasecmp.c (ASSERT): Likewise.
40318         * tests/test-mbsrchr.c (ASSERT): Likewise.
40319         * tests/test-mbsspn.c (ASSERT): Likewise.
40320         * tests/test-mbsstr1.c (ASSERT): Likewise.
40321         * tests/test-mbsstr2.c (ASSERT): Likewise.
40322         * tests/test-mbsstr3.c (ASSERT): Likewise.
40323         * tests/test-memchr2.c (ASSERT): Likewise.
40324         * tests/test-memmem.c (ASSERT): Likewise.
40325         * tests/test-open.c (ASSERT): Likewise.
40326         * tests/test-printf-frexp.c (ASSERT): Likewise.
40327         * tests/test-printf-frexpl.c (ASSERT): Likewise.
40328         * tests/test-printf-posix.c (ASSERT): Likewise.
40329         * tests/test-quotearg.c (ASSERT): Likewise.
40330         * tests/test-rbtree_list.c (ASSERT): Likewise.
40331         * tests/test-rbtree_oset.c (ASSERT): Likewise.
40332         * tests/test-rbtreehash_list.c (ASSERT): Likewise.
40333         * tests/test-round1.c (ASSERT): Likewise.
40334         * tests/test-roundf1.c (ASSERT): Likewise.
40335         * tests/test-roundl.c (ASSERT): Likewise.
40336         * tests/test-signbit.c (ASSERT): Likewise.
40337         * tests/test-sleep.c (ASSERT): Likewise.
40338         * tests/test-snprintf-posix.c (ASSERT): Likewise.
40339         * tests/test-snprintf.c (ASSERT): Likewise.
40340         * tests/test-sprintf-posix.c (ASSERT): Likewise.
40341         * tests/test-stat-time.c (ASSERT): Likewise.
40342         * tests/test-strcasestr.c (ASSERT): Likewise.
40343         * tests/test-strerror.c (ASSERT): Likewise.
40344         * tests/test-striconv.c (ASSERT): Likewise.
40345         * tests/test-striconveh.c (ASSERT): Likewise.
40346         * tests/test-striconveha.c (ASSERT): Likewise.
40347         * tests/test-strsignal.c (ASSERT): Likewise.
40348         * tests/test-strstr.c (ASSERT): Likewise.
40349         * tests/test-strtod.c (ASSERT): Likewise.
40350         * tests/test-trunc1.c (ASSERT): Likewise.
40351         * tests/test-trunc2.c (ASSERT): Likewise.
40352         * tests/test-truncf1.c (ASSERT): Likewise.
40353         * tests/test-truncf2.c (ASSERT): Likewise.
40354         * tests/test-truncl.c (ASSERT): Likewise.
40355         * tests/test-vasnprintf-posix.c (ASSERT): Likewise.
40356         * tests/test-vasnprintf-posix2.c (ASSERT): Likewise.
40357         * tests/test-vasnprintf.c (ASSERT): Likewise.
40358         * tests/test-vasprintf-posix.c (ASSERT): Likewise.
40359         * tests/test-vasprintf.c (ASSERT): Likewise.
40360         * tests/test-vfprintf-posix.c (ASSERT): Likewise.
40361         * tests/test-vprintf-posix.c (ASSERT): Likewise.
40362         * tests/test-vsnprintf-posix.c (ASSERT): Likewise.
40363         * tests/test-vsnprintf.c (ASSERT): Likewise.
40364         * tests/test-vsprintf-posix.c (ASSERT): Likewise.
40365         * tests/test-wcwidth.c (ASSERT): Likewise.
40366         * tests/test-xfprintf-posix.c (ASSERT): Likewise.
40367         * tests/test-xprintf-posix.c (ASSERT): Likewise.
40368         * tests/test-xvasprintf.c (ASSERT): Likewise.
40369         * tests/uniconv/test-u16-conv-from-enc.c (ASSERT): Likewise.
40370         * tests/uniconv/test-u16-conv-to-enc.c (ASSERT): Likewise.
40371         * tests/uniconv/test-u16-strconv-from-enc.c (ASSERT): Likewise.
40372         * tests/uniconv/test-u16-strconv-to-enc.c (ASSERT): Likewise.
40373         * tests/uniconv/test-u32-conv-from-enc.c (ASSERT): Likewise.
40374         * tests/uniconv/test-u32-conv-to-enc.c (ASSERT): Likewise.
40375         * tests/uniconv/test-u32-strconv-from-enc.c (ASSERT): Likewise.
40376         * tests/uniconv/test-u32-strconv-to-enc.c (ASSERT): Likewise.
40377         * tests/uniconv/test-u8-conv-from-enc.c (ASSERT): Likewise.
40378         * tests/uniconv/test-u8-conv-to-enc.c (ASSERT): Likewise.
40379         * tests/uniconv/test-u8-strconv-from-enc.c (ASSERT): Likewise.
40380         * tests/uniconv/test-u8-strconv-to-enc.c (ASSERT): Likewise.
40381         * tests/unictype/test-bidi_byname.c (ASSERT): Likewise.
40382         * tests/unictype/test-bidi_name.c (ASSERT): Likewise.
40383         * tests/unictype/test-bidi_of.c (ASSERT): Likewise.
40384         * tests/unictype/test-bidi_test.c (ASSERT): Likewise.
40385         * tests/unictype/test-block_list.c (ASSERT): Likewise.
40386         * tests/unictype/test-block_of.c (ASSERT): Likewise.
40387         * tests/unictype/test-block_test.c (ASSERT): Likewise.
40388         * tests/unictype/test-categ_and.c (ASSERT): Likewise.
40389         * tests/unictype/test-categ_and_not.c (ASSERT): Likewise.
40390         * tests/unictype/test-categ_byname.c (ASSERT): Likewise.
40391         * tests/unictype/test-categ_name.c (ASSERT): Likewise.
40392         * tests/unictype/test-categ_none.c (ASSERT): Likewise.
40393         * tests/unictype/test-categ_of.c (ASSERT): Likewise.
40394         * tests/unictype/test-categ_or.c (ASSERT): Likewise.
40395         * tests/unictype/test-categ_test_withtable.c (ASSERT): Likewise.
40396         * tests/unictype/test-combining.c (ASSERT): Likewise.
40397         * tests/unictype/test-decdigit.c (ASSERT): Likewise.
40398         * tests/unictype/test-digit.c (ASSERT): Likewise.
40399         * tests/unictype/test-mirror.c (ASSERT): Likewise.
40400         * tests/unictype/test-numeric.c (ASSERT): Likewise.
40401         * tests/unictype/test-pr_byname.c (ASSERT): Likewise.
40402         * tests/unictype/test-pr_test.c (ASSERT): Likewise.
40403         * tests/unictype/test-predicate-part1.h (ASSERT): Likewise.
40404         * tests/unictype/test-scripts.c (ASSERT): Likewise.
40405         * tests/unictype/test-sy_c_ident.c (ASSERT): Likewise.
40406         * tests/unictype/test-sy_java_ident.c (ASSERT): Likewise.
40407         * tests/unistdio/test-u16-asnprintf1.c (ASSERT): Likewise.
40408         * tests/unistdio/test-u16-vasnprintf1.c (ASSERT): Likewise.
40409         * tests/unistdio/test-u16-vasnprintf2.c (ASSERT): Likewise.
40410         * tests/unistdio/test-u16-vasnprintf3.c (ASSERT): Likewise.
40411         * tests/unistdio/test-u16-vasprintf1.c (ASSERT): Likewise.
40412         * tests/unistdio/test-u16-vsnprintf1.c (ASSERT): Likewise.
40413         * tests/unistdio/test-u16-vsprintf1.c (ASSERT): Likewise.
40414         * tests/unistdio/test-u32-asnprintf1.c (ASSERT): Likewise.
40415         * tests/unistdio/test-u32-vasnprintf1.c (ASSERT): Likewise.
40416         * tests/unistdio/test-u32-vasnprintf2.c (ASSERT): Likewise.
40417         * tests/unistdio/test-u32-vasnprintf3.c (ASSERT): Likewise.
40418         * tests/unistdio/test-u32-vasprintf1.c (ASSERT): Likewise.
40419         * tests/unistdio/test-u32-vsnprintf1.c (ASSERT): Likewise.
40420         * tests/unistdio/test-u32-vsprintf1.c (ASSERT): Likewise.
40421         * tests/unistdio/test-u8-asnprintf1.c (ASSERT): Likewise.
40422         * tests/unistdio/test-u8-vasnprintf1.c (ASSERT): Likewise.
40423         * tests/unistdio/test-u8-vasnprintf2.c (ASSERT): Likewise.
40424         * tests/unistdio/test-u8-vasnprintf3.c (ASSERT): Likewise.
40425         * tests/unistdio/test-u8-vasprintf1.c (ASSERT): Likewise.
40426         * tests/unistdio/test-u8-vsnprintf1.c (ASSERT): Likewise.
40427         * tests/unistdio/test-u8-vsprintf1.c (ASSERT): Likewise.
40428         * tests/unistdio/test-ulc-asnprintf1.c (ASSERT): Likewise.
40429         * tests/unistdio/test-ulc-vasnprintf1.c (ASSERT): Likewise.
40430         * tests/unistdio/test-ulc-vasnprintf2.c (ASSERT): Likewise.
40431         * tests/unistdio/test-ulc-vasnprintf3.c (ASSERT): Likewise.
40432         * tests/unistdio/test-ulc-vasprintf1.c (ASSERT): Likewise.
40433         * tests/unistdio/test-ulc-vsnprintf1.c (ASSERT): Likewise.
40434         * tests/unistdio/test-ulc-vsprintf1.c (ASSERT): Likewise.
40435         * tests/uniwidth/test-u16-strwidth.c (ASSERT): Likewise.
40436         * tests/uniwidth/test-u16-width.c (ASSERT): Likewise.
40437         * tests/uniwidth/test-u32-strwidth.c (ASSERT): Likewise.
40438         * tests/uniwidth/test-u32-width.c (ASSERT): Likewise.
40439         * tests/uniwidth/test-u8-strwidth.c (ASSERT): Likewise.
40440         * tests/uniwidth/test-u8-width.c (ASSERT): Likewise.
40441         * tests/uniwidth/test-uc_width.c (ASSERT): Likewise.
40442         Reported by Eric Blake.
40443
40444 2008-04-11  Bruno Haible  <bruno@clisp.org>
40445
40446         * lib/wchar.in.h: Tweak comment.
40447
40448 2008-04-11  Bruno Haible  <bruno@clisp.org>
40449
40450         Fix __GNUC_STDC_INLINE__ predefine with Apple GCC on MacOS X 10.5.
40451         * gnulib-tool (func_emit_initmacro_start): Emit an invocation of
40452         gl_COMMON.
40453         * m4/gnulib-common.m4 (gl_COMMON, gl_COMMON_BODY): New macros.
40454
40455 2008-04-11  Bruno Haible  <bruno@clisp.org>
40456
40457         * modules/git-merge-changelog (git_merge_changelog_LDADD): Add LIBINTL.
40458
40459 2008-04-11  Simon Josefsson  <simon@josefsson.org>
40460
40461         * lib/gc-gnulib.c: On Windows, use CryptGenRandom from CSP instead
40462         of attempting to use non-existing /dev/*random.  Based on patch
40463         from Adam Strzelecki <ono@java.pl> in
40464         <http://lists.gnu.org/archive/html/help-gsasl/2008-02/msg00000.html>.
40465
40466 2008-04-08  Bruno Haible  <bruno@clisp.org>
40467
40468         Add tentative support for emx+gcc.
40469         * lib/fbufmode.c (fbufmode) [__EMX__]: Add conditional code.
40470         * lib/fpurge.c (fpurge): Likewise.
40471         * lib/freadable.c (freadable): Likewise.
40472         * lib/freadahead.c (freadahead): Likewise.
40473         * lib/freading.c (freading): Likewise.
40474         * lib/freadptr.c (freadptr): Likewise.
40475         * lib/freadseek.c (freadptrinc): Likewise.
40476         * lib/fseeko.c (rpl_fseeko): Likewise.
40477         * lib/fseterr.c (fseterr): Likewise.
40478         * lib/fwritable.c (fwritable): Likewise.
40479         * lib/fwriting.c (fwriting): Likewise.
40480         * m4/fpending.m4 (gl_FUNC_FPENDING): Add a variant for emx+gcc.
40481
40482 2008-04-09  Eric Blake  <ebb9@byu.net>
40483
40484         Avoid some autoconf warnings.
40485         * m4/regex.m4 (gl_REGEX): s/AC_HELP_STRING/AS_HELP_STRING/.
40486         * m4/acl.m4 (gl_FUNC_ACL): Likewise.
40487         * m4/afs.m4 (gl_AFS): Likewise.
40488         * m4/gc-random.m4 (gl_GC_RANDOM): Likewise.
40489         * m4/include_next.m4 (gl_INCLUDE_NEXT): s/AC_FOREACH/m4_foreach_w/.
40490         * m4/absolute-header.m4 (gl_ABSOLUTE_HEADER): Likewise.
40491         * m4/stdint.m4 (gl_STDINT_BITSIZEOF, gl_CHECK_TYPES_SIGNED)
40492         (gl_INTEGER_TYPE_SUFFIX): Likewise.
40493         * m4/onceonly_2_57.m4 (AC_CHECK_HEADERS_ONCE, AC_CHECK_FUNCS_ONCE)
40494         (AC_CHECK_DECLS_ONCE): Likewise.
40495         Rename file...
40496         * m4/onceonly.m4: ...to this, and delete 2.54 variant, now that
40497         gnulib-tool requires autoconf 2.59 or better.
40498         * gnulib-tool (func_get_filelist): s/\(onceonly\)_2_57.m4/\1.m4/.
40499
40500 2008-04-08  Eric Blake  <ebb9@byu.net>
40501
40502         Use 'git describe --match' if present (added in git 1.5.5).
40503         * build-aux/git-version-gen: Limit result to tags that match 'v*'
40504         if possible.
40505
40506 2008-04-08  Bruno Haible  <bruno@clisp.org>
40507
40508         Add tentative support for OpenServer.
40509         * lib/fbufmode.c (fbufmode): Add conditional define for _flag, _base,
40510         _ptr, _cnt.
40511         * lib/fpurge.c (fpurge): Likewise.
40512         * lib/freadable.c (freadable): Likewise.
40513         * lib/freadahead.c (freadahead): Likewise.
40514         * lib/freading.c (freading): Likewise.
40515         * lib/freadptr.c (freadptr): Likewise.
40516         * lib/freadseek.c (freadptrinc): Likewise.
40517         * lib/fseeko.c (rpl_fseeko): Likewise.
40518         * lib/fseterr.c (fseterr): Likewise.
40519         * lib/fwritable.c (fwritable): Likewise.
40520         * lib/fwriting.c (fwriting): Likewise.
40521         Reported by Roger Cornelius <rac@tenzing.org> and
40522         Brian K. White <brian@aljex.com>.
40523
40524 2008-04-06  Jim Meyering  <meyering@redhat.com>
40525
40526         * gnulib-tool (func_add_or_update): s/backuped/backed up/ in diagnostic
40527
40528 2008-04-06  Bruno Haible  <bruno@clisp.org>
40529
40530         Avoid possible error with non-ASCII bytes in UTF-8 locales.
40531         * tests/test-fprintf-posix.sh: Use "LC_ALL=C tr" instead of "tr".
40532         * tests/test-printf-posix.sh: Likewise.
40533         * tests/test-vfprintf-posix.sh: Likewise.
40534         * tests/test-vprintf-posix.sh: Likewise.
40535         * tests/test-xprintf-posix.sh: Likewise.
40536
40537 2008-04-06  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
40538
40539         * m4/double-slash-root.m4 (gl_DOUBLE_SLASH_ROOT): Fix quoting,
40540         hide error from 'ls', needed on OS/2.
40541         Report by Elbert Pol <elbert.pol@gmail.com>.
40542
40543 2008-04-04  Eric Blake  <ebb9@byu.net>
40544
40545         Make test-fseeko.c failures meaningful.
40546         * tests/test-fseeko.c: Print line number on failure.
40547         * tests/test-fseek.c: Likewise.
40548         Reported by Nelson H. F. Beebe.
40549
40550         Improve strtod bug detection check.
40551         * m4/strtod.m4 (gl_FUNC_STRTOD): Also check for hex-float parsing,
40552         required for Solaris 10.
40553         Reported by Bob Friesenhahn and Nelson H. F. Beebe.
40554
40555 2008-04-04  Bruno Haible  <bruno@clisp.org>
40556
40557         * modules/relocatable-prog-wrapper (Files): Add m4/environ.m4. Needed
40558         by m4/setenv.m4.
40559
40560 2008-04-03  Eric Blake  <ebb9@byu.net>
40561
40562         Ensure sane .version contents.
40563         * top/GNUmakefile (_dummy): Also delete .version when rebuilding
40564         version string.
40565         * build-aux/git-version-gen: Improve documentation.
40566
40567         Make GNU make output nicer.
40568         * top/GNUmakefile [!_have-Makefile]: Add dependency on
40569         MAKECMDGOALS to enforce message for all command line targets.  Set
40570         srcdir for use in maint.mk.
40571
40572         Another maintainer tweak.
40573         * top/GNUmakefile (_is-dist-target): Allow maintainer-distcheck as
40574         a target that regenerates version.
40575
40576 2008-04-03  Jim Meyering  <meyering@redhat.com>
40577
40578         vc-list-files: don't cause coreutils "make po-check" failure
40579         * build-aux/vc-list-files: Skip postprocessing when $2 is '.'
40580
40581 2008-04-03  Eric Blake  <ebb9@byu.net>
40582
40583         Allow VPATH usage of vc-list-files.
40584         * build-aux/vc-list-files (scriptversion): Add timestamp.
40585         (options): Add --help, --version, -C.
40586         (CVS): Support installed cvsu.
40587
40588 2008-04-02  Bruno Haible  <bruno@clisp.org>
40589
40590         Avoid some "statement with no effect" warnings from gcc.
40591         * tests/test-wctype.c (main): Explicitly ignore unused values.
40592         Reported by Jim Meyering.
40593
40594 2008-04-02  Jim Meyering  <meyering@redhat.com>
40595
40596         Avoid some warnings from "gcc -Wshadow".
40597         * tests/test-frexp.c (exp): Define to a different identifier.
40598         * tests/test-frexpl.c (exp): Likewise.
40599
40600 2008-04-03  Jim Meyering  <meyering@redhat.com>
40601
40602         bootstrap: remove dangling *.[ch] symlinks from lib
40603         * build-aux/bootstrap [dangling symlink removal]: Move find's
40604         -depth option to precede all others, to avoid a warning.
40605         Remove *.[ch] files too, and from "$source_base" (usually lib/).
40606
40607 2008-04-02  Bruno Haible  <bruno@clisp.org>
40608
40609         Avoid some warnings from "gcc -Wshadow".
40610         * tests/tests-vfprintf-posix.c (my_fprintf): Move after test_function.
40611         * tests/tests-vprintf-posix.c (my_printf): Move after test_function.
40612         * tests/tests-vsnprintf-posix.c (my_snprintf): Move after test_function.
40613         * tests/tests-vsprintf-posix.c (my_sprintf): Move after test_function.
40614         Reported by Jim Meyering.
40615
40616 2008-04-01  Bruno Haible  <bruno@clisp.org>
40617
40618         Fix test to work on IRIX 6.5 with cc.
40619         * tests/test-math.c (numeric_equal): New function.
40620         (main): Use it.
40621
40622 2008-04-01  Bruno Haible  <bruno@clisp.org>
40623
40624         * doc/posix-headers/math.texi: Refine documentation of NAN problem.
40625
40626 2008-04-01  Bruno Haible  <bruno@clisp.org>
40627
40628         * tests/test-vasnprintf-posix.c: Include nan.h instead of <math.h>.
40629         (test_function): Use NaNd, NaNl instead of NAN or 0.0L/0.0L.
40630         * modules/vasnprintf-posix-tests (Files): Add tests/nan.h.
40631         (Depends-on): Remove math.
40632
40633         * tests/test-vasprintf-posix.c: Include nan.h instead of <math.h>.
40634         (test_function): Use NaNd, NaNl instead of NAN or 0.0L/0.0L.
40635         * modules/vasprintf-posix-tests (Files): Add tests/nan.h.
40636         (Depends-on): Remove math.
40637
40638         * tests/test-snprintf-posix.h: Include nan.h instead of <math.h>.
40639         (test_function): Use NaNd, NaNl instead of NAN or 0.0L/0.0L.
40640         * modules/snprintf-posix-tests (Files): Add tests/nan.h.
40641         (Depends-on): Remove math.
40642         * modules/vsnprintf-posix-tests (Files): Add tests/nan.h.
40643         (Depends-on): Remove math.
40644
40645         * tests/test-sprintf-posix.h: Include nan.h instead of <math.h>.
40646         (test_function): Use NaNd, NaNl instead of NAN or 0.0L/0.0L.
40647         * modules/sprintf-posix-tests (Files): Add tests/nan.h.
40648         (Depends-on): Remove math.
40649         * modules/vsprintf-posix-tests (Files): Add tests/nan.h.
40650         (Depends-on): Remove math.
40651
40652         * tests/test-round1.c: Include nan.h.
40653         (main): Use NaNd instead of NAN.
40654         * modules/round-tests (Files): Add tests/nan.h.
40655
40656         * tests/test-trunc1.c: Include nan.h.
40657         (main): Use NaNd instead of NAN.
40658         * modules/trunc-tests (Files): Add tests/nan.h.
40659
40660         * tests/test-roundf1.c: Include nan.h.
40661         (main): Use NaNf instead of NAN.
40662         * modules/roundf-tests (Files): Add tests/nan.h.
40663
40664         * tests/test-truncf1.c: Include nan.h.
40665         (main): Use NaNf instead of NAN.
40666         * modules/truncf-tests (Files): Add tests/nan.h.
40667
40668         * tests/test-ceilf1.c: Include nan.h.
40669         (main): Use NaNf instead of NAN.
40670         * modules/ceilf-tests (Files): Add tests/nan.h.
40671
40672         * tests/test-floorf1.c: Include nan.h.
40673         (main): Use NaNf instead of NAN.
40674         * modules/floorf-tests (Files): Add tests/nan.h.
40675
40676         * tests/test-isnanf.c: Include nan.h instead of <math.h>.
40677         (main): Use NaNf instead of NAN.
40678         * modules/isnanf-nolibm-tests (Files): Add tests/nan.h.
40679
40680         * tests/test-isnand.c: Include nan.h instead of <math.h>.
40681         (main): Use NaNd instead of NAN.
40682         * modules/isnand-nolibm-tests (Files): Add tests/nan.h.
40683
40684         * tests/test-frexp.c: Include nan.h.
40685         (main): Use NaNd instead of NAN.
40686         * modules/frexp-tests (Files): Add tests/nan.h.
40687
40688         * lib/isnan.c: Don't include <math.h>.
40689         (FUNC): Don't use NAN macro.
40690         * modules/isnand-nolibm (Depends-on): Remove math.
40691         * modules/isnanf-nolibm (Depends-on): Remove math.
40692         * modules/isnanl (Depends-on): Remove math.
40693         * modules/isnanl-nolibm (Depends-on): Remove math.
40694
40695         * tests/nan.h: New file.
40696
40697 2008-04-01  Eric Blake  <ebb9@byu.net>
40698
40699         Fix typos.
40700         * tests/test-strtod.c (main): s/FLT_/DBL_/ for minimum and epsilon
40701         values to be the right type.
40702
40703         For now, cater to gnulib strtod inaccuracies.
40704         * tests/test-strtod.c (main): Allow 1-ulp error on expected
40705         fractional results.  While not as nice from a QoI perspective, it
40706         is a quicker patch than correctly implementing decimal to binary
40707         rounding.
40708
40709 2008-03-31  Eric Blake  <ebb9@byu.net>
40710
40711         Guarantee a definition of NAN.
40712         * lib/math.in.h (NAN): Define if missing.
40713         * tests/test-math.c (main): Test it.
40714         * doc/posix-headers/math.texi (math.h): Document this.
40715         * lib/isnan.c (rpl_isnand): Use it.
40716         * tests/test-ceilf1.c (NaN): Delete, and use NAN instead.
40717         * tests/test-floorf1.c (NaN): Likewise.
40718         * tests/test-frexp.c (NaN): Likewise.
40719         * tests/test-isnand.c (NaN): Likewise.
40720         * tests/test-isnanf.c (NaN): Likewise.
40721         * tests/test-round1.c (NaN): Likewise.
40722         * tests/test-roundf1.c (NaN): Likewise.
40723         * tests/test-snprintf-posix.h (NaN): Likewise.
40724         * tests/test-sprintf-posix.h (NaN): Likewise.
40725         * tests/test-trunc1.c (NaN): Likewise.
40726         * tests/test-truncf1.c (NaN): Likewise.
40727         * tests/test-vasnprintf-posix.c (NaN): Likewise.
40728         * tests/test-vasprintf-posix.c (NaN): Likewise.
40729         * modules/isnand-nolibm (Depends-on): Add math.
40730         * modules/isnanf-nolibm (Depends-on): Likewise.
40731         * modules/isnanl (Depends-on): Likewise.
40732         * modules/isnanl-nolibm (Depends-on): Likewise.
40733         * modules/snprintf-posix-tests (Depends-on): Likewise.
40734         * modules/sprintf-posix-tests (Depends-on): Likewise.
40735         * modules/vsnprintf-posix-tests (Depends-on): Likewise.
40736         * modules/vsprintf-posix-tests (Depends-on): Likewise.
40737         * modules/vasnprintf-posix-tests (Depends-on): Likewise.
40738         * modules/vasprintf-posix-tests (Depends-on): Likewise.
40739
40740 2008-03-31  Bruno Haible  <bruno@clisp.org>
40741
40742         * tests/test-strtod.c (main): Update results for OSF/1 platforms.
40743         * doc/posix-functions/strtod.texi: Likewise.
40744
40745 2008-03-31  Bruno Haible  <bruno@clisp.org>
40746
40747         * tests/test-strtod.c (main): Don't use C99 syntax.
40748
40749 2008-03-31  Bruno Haible  <bruno@clisp.org>
40750
40751         * tests/test-strtod.c (main): Don't test NAN macro. Needed for Solaris.
40752         Reported by Eric Blake.
40753
40754 2008-03-31  Jim Meyering  <meyering@redhat.com>
40755
40756         Don't compare actual signbit return values.
40757         * tests/test-strtod.c (main): Rather, compare only their
40758         zero/non-zero nature.
40759
40760 2008-03-31  Eric Blake  <ebb9@byu.net>
40761
40762         More strtod documentation.
40763         * doc/posix-functions/strtod.texi (strtod): Interpret more test
40764         failures as distinct bugs.
40765
40766 2008-03-30  Paul Eggert  <eggert@cs.ucla.edu>
40767
40768         * lib/wchar.in.h [defined __need_mbstate_t]: Just include <wchar.h>.
40769         Problem reported by Erik Benada in
40770         <http://lists.gnu.org/archive/html/bug-gnulib/2008-03/msg00249.html>.
40771
40772 2008-03-30  Bruno Haible  <bruno@clisp.org>
40773
40774         * tests/test-strtod.c: Add comments about which assertion fails on which
40775         platform.
40776         * doc/posix-functions/strtod.texi: Add info about many more platforms.
40777
40778 2008-03-30  Eric Blake  <ebb9@byu.net>
40779
40780         Test signbit behavior on zeros.
40781         * tests/test-signbit.c (test_signbitf): Add tests for zero.
40782         (test_signbitd, test_signbitl): Likewise.
40783
40784         More strtod touchups.
40785         * tests/test-strtod.c (main): Ignore tests for signbit on NaN, and
40786         sign of negative underflow, for now.  Use .5, not .1.
40787         * doc/posix-functions/strtod.texi (strtod): Mention these
40788         limitations.
40789         Reported by Jim Meyering.
40790
40791 2008-03-30  Bruno Haible  <bruno@clisp.org>
40792
40793         * lib/striconveh.h (mem_iconveh, str_iconveh): Optimize the conversion
40794         from UTF-8 to UTF-8//TRANSLIT in the same way as from UTF-8 to UTF-8.
40795
40796 2008-03-30  Bruno Haible  <bruno@clisp.org>
40797
40798         Avoid failure when attempting to return empty iconv results on some
40799         platforms.
40800         * lib/striconveh.c (mem_cd_iconveh_internal): In the final memory
40801         allocation, don't report ENOMEM when the resulting string is empty.
40802
40803 2008-03-30  Bruno Haible  <bruno@clisp.org>
40804
40805         Fix buffer overrun.
40806         * lib/vasnprintf.c (VASNPRINTF): If !USE_SNPRINTF && pad_ourselves:
40807         Don't consider the width for tmp_length. Check count against tmp_length
40808         before doing the padding. Ensure enough allocation during padding.
40809
40810 2008-03-30  Eric Blake  <ebb9@byu.net>
40811
40812         strtod touchups.
40813         * lib/strtod.c (strtod): Avoid compiler warnings.
40814         Reported by Jim Meyering.
40815
40816 2008-03-30  Bruno Haible  <bruno@clisp.org>
40817
40818         * lib/unistdio/u-vsprintf.h (EOVERFLOW): Remove fallback.
40819         * modules/unistdio/ulc-vsprintf (Depends-on): Add EOVERFLOW.
40820         * modules/unistdio/u8-vsprintf (Depends-on): Add EOVERFLOW.
40821         * modules/unistdio/u8-u8-vsprintf (Depends-on): Add EOVERFLOW.
40822         * modules/unistdio/u16-vsprintf (Depends-on): Add EOVERFLOW.
40823         * modules/unistdio/u16-u16-vsprintf (Depends-on): Add EOVERFLOW.
40824         * modules/unistdio/u32-vsprintf (Depends-on): Add EOVERFLOW.
40825         * modules/unistdio/u32-u32-vsprintf (Depends-on): Add EOVERFLOW.
40826
40827         * lib/unistdio/u-vsnprintf.h (EOVERFLOW): Remove fallback.
40828         * modules/unistdio/ulc-vsnprintf (Depends-on): Add EOVERFLOW.
40829         * modules/unistdio/u8-vsnprintf (Depends-on): Add EOVERFLOW.
40830         * modules/unistdio/u8-u8-vsnprintf (Depends-on): Add EOVERFLOW.
40831         * modules/unistdio/u16-vsnprintf (Depends-on): Add EOVERFLOW.
40832         * modules/unistdio/u16-u16-vsnprintf (Depends-on): Add EOVERFLOW.
40833         * modules/unistdio/u32-vsnprintf (Depends-on): Add EOVERFLOW.
40834         * modules/unistdio/u32-u32-vsnprintf (Depends-on): Add EOVERFLOW.
40835
40836         * lib/unistdio/u-vasprintf.h (EOVERFLOW): Remove fallback.
40837         * modules/unistdio/ulc-vasprintf (Depends-on): Add EOVERFLOW.
40838         * modules/unistdio/u8-vasprintf (Depends-on): Add EOVERFLOW.
40839         * modules/unistdio/u8-u8-vasprintf (Depends-on): Add EOVERFLOW.
40840         * modules/unistdio/u16-vasprintf (Depends-on): Add EOVERFLOW.
40841         * modules/unistdio/u16-u16-vasprintf (Depends-on): Add EOVERFLOW.
40842         * modules/unistdio/u32-vasprintf (Depends-on): Add EOVERFLOW.
40843         * modules/unistdio/u32-u32-vasprintf (Depends-on): Add EOVERFLOW.
40844
40845         * lib/unistdio/ulc-vfprintf.c (EOVERFLOW): Remove fallback.
40846         * modules/unistdio/ulc-vfprintf (Depends-on): Add EOVERFLOW.
40847
40848         * lib/unistdio/ulc-fprintf.c (EOVERFLOW): Remove fallback.
40849         * modules/unistdio/ulc-fprintf (Depends-on): Add EOVERFLOW.
40850
40851         * lib/xvasprintf.c (EOVERFLOW): Remove fallback.
40852         * modules/xvasprintf (Depends-on): Add EOVERFLOW.
40853
40854         * lib/vsprintf.c (EOVERFLOW): Remove fallback.
40855         * m4/vsprintf-posix.m4 (gl_FUNC_VSPRINTF_POSIX): Drop gl_EOVERFLOW.
40856         * modules/vsprintf-posix (Depends-on): Add EOVERFLOW.
40857
40858         * lib/vsnprintf.c (EOVERFLOW): Remove fallback.
40859         * m4/vsnprintf-posix.m4 (gl_FUNC_VSNPRINTF_POSIX): Drop gl_EOVERFLOW.
40860         * modules/vsnprintf (Depends-on): Add EOVERFLOW.
40861
40862         * lib/vfprintf.c (EOVERFLOW): Remove fallback.
40863         * m4/vfprintf-posix.m4 (gl_FUNC_VFPRINTF_POSIX): Drop gl_EOVERFLOW.
40864         * modules/vfprintf-posix (Depends-on): Add EOVERFLOW.
40865
40866         * lib/vasprintf.c (EOVERFLOW): Remove fallback.
40867         * m4/vasprintf-posix.m4 (gl_FUNC_VASPRINTF_POSIX): Drop gl_EOVERFLOW.
40868         * modules/vasprintf (Depends-on): Add EOVERFLOW.
40869
40870         * lib/vasnprintf.c (EOVERFLOW): Remove fallback.
40871         * m4/vasnprintf.m4 (gl_FUNC_VASNPRINTF): Drop gl_EOVERFLOW.
40872         * m4/vasnprintf-posix.m4 (gl_FUNC_VASNPRINTF_POSIX): Drop gl_EOVERFLOW.
40873         * modules/vasnprintf (Files): Remove m4/eoverflow.m4.
40874         (Depends-on): Add EOVERFLOW.
40875         * modules/unistdio/ulc-vasnprintf (Files): Remove m4/eoverflow.m4.
40876         (Depends-on): Add EOVERFLOW.
40877         * modules/unistdio/u8-vasnprintf (Files): Remove m4/eoverflow.m4.
40878         (Depends-on): Add EOVERFLOW.
40879         * modules/unistdio/u8-u8-vasnprintf (Files): Remove m4/eoverflow.m4.
40880         (Depends-on): Add EOVERFLOW.
40881         * modules/unistdio/u16-vasnprintf (Files): Remove m4/eoverflow.m4.
40882         (Depends-on): Add EOVERFLOW.
40883         * modules/unistdio/u16-u16-vasnprintf (Files): Remove m4/eoverflow.m4.
40884         (Depends-on): Add EOVERFLOW.
40885         * modules/unistdio/u32-vasnprintf (Files): Remove m4/eoverflow.m4.
40886         (Depends-on): Add EOVERFLOW.
40887         * modules/unistdio/u32-u32-vasnprintf (Files): Remove m4/eoverflow.m4.
40888         (Depends-on): Add EOVERFLOW.
40889
40890         * lib/sprintf.c (EOVERFLOW): Remove fallback.
40891         * m4/sprintf-posix.m4 (gl_FUNC_SPRINTF_POSIX): Drop gl_EOVERFLOW.
40892         * modules/sprintf-posix (Depends-on): Add EOVERFLOW.
40893
40894         * lib/snprintf.c (EOVERFLOW): Remove fallback.
40895         * m4/snprintf-posix.m4 (gl_FUNC_SNPRINTF_POSIX): Drop gl_EOVERFLOW.
40896         * modules/snprintf (Depends-on): Add EOVERFLOW.
40897
40898         * lib/poll.c (EOVERFLOW): Remove fallback.
40899         * modules/poll (Depends-on): Add EOVERFLOW.
40900
40901         * lib/getugroups.c (EOVERFLOW): Remove fallback.
40902         * modules/getugroups (Depends-on): Add EOVERFLOW.
40903
40904         * lib/getdelim.c (EOVERFLOW): Remove fallback.
40905         * modules/getdelim (Depends-on): Add EOVERFLOW.
40906
40907         * lib/ftell.c (EOVERFLOW): Remove fallback.
40908         * modules/ftell (Depends-on): Add EOVERFLOW.
40909
40910         * lib/fprintf.c (EOVERFLOW): Remove fallback.
40911         * m4/fprintf-posix.m4 (gl_FUNC_FPRINTF_POSIX): Drop gl_EOVERFLOW.
40912         * modules/fprintf-posix (Depends-on): Add EOVERFLOW.
40913
40914         * lib/c-stack.c (EOVERFLOW): Remove unused fallback.
40915
40916         * modules/EOVERFLOW-tests: New file.
40917         * tests/test-EOVERFLOW.c: New file.
40918
40919         * modules/EOVERFLOW: New file.
40920         * doc/posix-headers/errno.texi: Mention EOVERFLOW portability problem.
40921
40922 2008-03-30  Bruno Haible  <bruno@clisp.org>
40923
40924         Fix bug introduced on 2007-06-10.
40925         * lib/vasnprintf.c (VASNPRINTF): When performing zero-padding, use
40926         spaces instead of 0 digits for 's' also when ENABLE_UNISTDIO.
40927
40928 2008-03-30  Bruno Haible  <bruno@clisp.org>
40929
40930         Improve freadseek's efficiency after ungetc.
40931         * lib/freadseek.c: Include freadahead.h.
40932         (freadptrinc): New function, extracted from freadseek.
40933         (freadseek): Use it in a loop. Use freadahead to determine the number
40934         of loop iterations.
40935         * modules/freadseek (Depends-on): Add freadahead.
40936         (configure.ac): Require AC_C_INLINE.
40937
40938 2008-03-30  Bruno Haible  <bruno@clisp.org>
40939
40940         * lib/freadseek.c (freadseek): Don't ignore the return value of
40941         freadptr.
40942
40943 2008-03-29  Eric Blake  <ebb9@byu.net>
40944
40945         Add hex float support.
40946         * modules/strtod (Depends-on): Add c-ctype.
40947         (Link): Mention POW_LIB.
40948         * lib/strtod.c (strtod): Recognize hex floats.  Don't allow
40949         whitespace between 'e' and exponent.
40950         * tests/test-strtod.c (main): Enable hex float tests.
40951         * doc/posix-functions/strtod.texi (strtod): Document what gnulib
40952         now provides.
40953
40954         Document various strtod bugs, with some fixes.
40955         * doc/posix-functions/strtod.texi (strtod): Document bugs with
40956         "-0x", "inf", "nan", and hex constants.
40957         * doc/posix-functions/atof.texi (atof): Likewise.
40958         * modules/stdlib (Makefile.am): Support strtod.
40959         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Likewise.
40960         * m4/strtod.m4 (gl_FUNC_STRTOD): Fit in stdlib framework, and
40961         detect additional strtod bugs.
40962         * lib/stdlib.in.h (rpl_strtod): Add declarations.
40963         * lib/strtod.c (strtod): Return -0.0 on negative underflow.  Use
40964         bool where appropriate.  Parse 'inf' and 'nan'.
40965         * tests/test-strtod.c: New file.
40966         * modules/strtod (Depends-on): Add stdbool, stdlib.
40967         (configure.ac): Turn on module indicator.
40968         * modules/strtod-tests: New module.
40969
40970 2008-03-29  Eric Blake  <ebb9@byu.net>
40971
40972         Fix ftell on mingw.
40973         * lib/ftell.c (EOVERFLOW): Define if the system lacks it.
40974         * modules/ftell-tests (Depends-on): Add binary-io.
40975         * modules/ftello-tests (Depends-on): Likewise.
40976         * tests/test-ftell.c (main): Enhance test to cover behavior after
40977         ungetc.  Enforce binary mode.
40978         * tests/test-ftello.c (main): Likewise.
40979
40980         Pass test-freadseek on cygwin.
40981         * modules/freadseek (Depends-on): Use freadptr, not freadahead.
40982         * lib/freadseek.c (freadseek): Don't increment beyond bounds of
40983         ungetc buffer.
40984
40985         * tests/test-fflush2.c (main): Fix typo.
40986
40987 2008-03-29  Bruno Haible  <bruno@clisp.org>
40988
40989         * tests/test-fflush2.c (main): Temporarily disable the contents of
40990         this test.
40991         * m4/fflush.m4 (gl_FUNC_FFLUSH): Add a TODO.
40992         Reported by Eric Blake.
40993
40994 2008-03-28  Simon Josefsson  <simon@josefsson.org>
40995
40996         * lib/gc.h (enum Gc_hash): Add GC_SHA224.
40997         (GC_SHA224_DIGEST_SIZE): Add.
40998
40999         * lib/gc-libgcrypt.c (gc_hash_open): Handle SHA-224.
41000         (gc_hash_digest_length): Likewise.
41001         (gc_hash_buffer): Likewise.
41002
41003 2008-03-25  Bruno Haible  <bruno@clisp.org>
41004
41005         * doc/gnulib-tool.texi (gettextize and autopoint): Explain in more
41006         detail which gettext release to use.
41007         Reported by Simon Josefsson.
41008
41009 2008-03-26  Jim Meyering  <meyering@redhat.com>
41010
41011         gnumakefile: remove file from $(top_builddir), not from $(top_srcdir)
41012         * modules/gnumakefile (clean-GNUmakefile): Also, use
41013         test ... && ... || : syntax rather than if-then ... fi.
41014
41015         gnumakefile: Don't double-quote-expand $(VPATH) value.
41016         * modules/gnumakefile (clean-GNUmakefile): Use single quotes.
41017
41018 2008-03-24  Eric Blake  <ebb9@byu.net>
41019
41020         Alter GNUmakefile to install into top directory.
41021         * modules/maintainer-makefile: Split, and add dependency...
41022         * modules/gnumakefile: to this new module.
41023         * build-aux/GNUmakefile: Move...
41024         * top/GNUmakefile: ...here.
41025         * build-aux/maint.mk: Move...
41026         * top/maint.mk: ...here.
41027         * MODULES.html.sh (Support for maintaining...): Document new
41028         module.
41029
41030 2008-03-23  Bruno Haible  <bruno@clisp.org>
41031
41032         * gnulib-tool: New options --vc-files, --no-vc-files.
41033         (func_usage): Document them.
41034         (vc_files): New variable.
41035         (func_import): Consider vc_files.
41036         (func_create_testdir): Set vc_files to empty.
41037         Suggested by Jim Meyering and Karl Berry.
41038
41039 2008-03-23  Bruno Haible  <bruno@clisp.org>
41040
41041         Fix regex compilation error on HP-UX 11.
41042         * m4/regex.m4 (gl_PREREQ_REGEX): Require AC_TYPE_MBSTATE_T.
41043         * modules/regex (Files): Add m4/mbstate_t.m4.
41044         Reported by Ton Voon <ton.voon@altinity.com>.
41045
41046 2008-03-23  Bruno Haible  <bruno@clisp.org>
41047
41048         * doc/gnulib-tool.texi (gettextize and autopoint): New section.
41049
41050 2008-03-23  Eric Blake  <ebb9@byu.net>
41051             Bruno Haible  <bruno@clisp.org>
41052
41053         Install files from top/ in the destination directory.
41054         * gnulib-tool (func_get_automake_snippet): Synthesize an EXTRA_DIST
41055         augmentation also for the files from top/.
41056         (func_import, func_create_testdir): Rewrite file names:
41057         top/filename -> filename.
41058
41059 2008-03-23  Bruno Haible  <bruno@clisp.org>
41060
41061         Tweak "gnulib --version" output.
41062         * gnulib-tool (func_version): Replace "-dirty" suffix with "-modified".
41063
41064 2008-03-23  Bruno Haible  <bruno@clisp.org>
41065
41066         Tweak "gnulib --version" output.
41067         * gnulib-tool (func_version): Use date of last commit to ChangeLog,
41068         rather than contents of ChangeLog, when possible.
41069
41070 2008-03-21  Eric Blake  <ebb9@byu.net>
41071
41072         More --version tweaks.
41073         * gnulib-tool (func_version): Obey GNU Coding Standards.  Output
41074         date of last ChangeLog entry.
41075
41076 2008-03-21  Jim Meyering  <meyering@redhat.com>
41077
41078         * build-aux/GNUmakefile (_have-git-version-gen): Split long line.
41079
41080 2008-03-20  Eric Blake  <ebb9@byu.net>
41081
41082         VPATH fix.
41083         * build-aux/GNUmakefile (_have_git-version-gen): Look in correct dir.
41084
41085 2008-03-20  Simon Josefsson  <simon@josefsson.org>
41086
41087         * build-aux/GNUmakefile: Make git-version-gen optional.  Add
41088         _build-aux variable.  Suggested by Eric Blake <ebb9@byu.net>.
41089
41090 2008-03-20  Eric Blake  <ebb9@byu.net>
41091
41092         Sync GNUmakefile with coreutils.
41093         * build-aux/GNUmakefile (have-Makefile): Rename...
41094         (_have-Makefile): ...to this, for namespace consideration.
41095         (GNUmakefile.cfg): Include, if present.
41096         (_autoreconf): Define a default.
41097         (_is-dist-target): New rule for rebuilds to pick up intra-release
41098         version.
41099         (maint-cfg.mk): Rename...
41100         (cfg.mk): ...to this.
41101
41102 2008-03-18  Jim Meyering  <meyering@redhat.com>
41103
41104         New script and module: mktempd
41105         * MODULES.html.sh (maint+release support): Add mktempd.
41106         * build-aux/mktempd: New file.
41107         * modules/mktempd: New file.
41108
41109 2008-03-15  Jim Meyering  <meyering@redhat.com>
41110
41111         Undo last change.
41112         * lib/sha1.c, lib/md5.c: 63 != ~63.
41113         Reported by Andreas Schwab.
41114
41115         sha1.c, md5.c: Hoist a redundant expression.
41116         * lib/sha1.c (sha1_process_bytes): AND-off the low bits in
41117         "ctx->buflen" only once, before calling *_process_block.
41118         * lib/md5.c (md5_process_bytes): Likewise.
41119
41120 2008-03-14  Eric Blake  <ebb9@byu.net>
41121
41122         Bump copyright year in files generated by gnulib-tool.
41123         * gnulib-tool (func_emit_copyright_notice): Extract copyright from
41124         gnulib-tool, rather than hard-coding it.
41125
41126         Fix 'gnulib-tool --version' output to work with git.
41127         * gnulib-tool (func_gnulib_dir): New function, extracted from...
41128         (startup): ...here.
41129         (func_version): Use it to invoke git-version-gen, rather than
41130         relying on CVS keyword expansion.  Modernize wording.
41131         (cvsdatestamp, last_checkin_date, version): Kill unused
41132         variables.
41133
41134 2008-03-12  Jim Meyering  <meyering@redhat.com>
41135
41136         Recognize optional cast of the argument to free.
41137         * build-aux/useless-if-before-free: Update regexps.
41138
41139         * build-aux/bootstrap (gnulib_tool): Remove trailing blanks.
41140
41141 2008-03-11  Bruno Haible  <bruno@clisp.org>
41142
41143         Extend AC_LIB_LINKFLAGS to the situation of several libraries provided
41144         by a single package.
41145         * m4/lib-link.m4 (AC_LIB_FROMPACKAGE): New macro.
41146         (AC_LIB_LINKFLAGS_BODY): Use the information stored by
41147         AC_LIB_FROMPACKAGE. Use AC_ARG_WITH instead of AC_LIB_ARG_WITH.
41148         Reported by Sam Steingold <sds@gnu.org>.
41149
41150 2008-03-12  Sergey Poznyakoff  <gray@gnu.org.ua>
41151
41152         * build-aux/bootstrap (version_controlled_file): Adapt for SVN
41153         repositories.
41154
41155 2008-03-11  Bruno Haible  <bruno@clisp.org>
41156
41157         Avoid conflicts between local macro definitions.
41158         * m4/lib-link.m4 (AC_LIB_LINKFLAGS, AC_LIB_HAVE_LINKFLAGS,
41159         AC_LIB_LINKFLAGS_BODY): Use pushdef/popdef instead of define/undefine.
41160
41161 2008-03-10  Peter O'Gorman  <bug-gnulib@mlists.thewrittenword.com>
41162             Bruno Haible  <bruno@clisp.org>
41163
41164         Make va_copy work with some version of xlc on AIX 5.1.
41165         * lib/stdarg.in.h: New file.
41166         * m4/stdarg.m4 (gl_STDARG_H): Initialize STDARG_H and NEXT_STDARG_H.
41167         On AIX, use a <stdarg.h> file substitute.
41168         * modules/stdarg (Files): Add lib/stdarg.in.h.
41169         (Depends-on): Add include_next.
41170         (Makefile.am): Build a stdarg.h substitute if requested.
41171         * doc/posix-functions/va_copy.texi: Document the platforms lacking it.
41172
41173 2008-03-10  Bruno Haible  <bruno@clisp.org>
41174
41175         * m4/include_next.m4 (gl_CHECK_NEXT_HEADERS): Document a restriction.
41176         * m4/absolute-header.m4 (gl_ABSOLUTE_HEADER): Likewise.
41177         Reported by Peter O'Gorman <bug-gnulib@mlists.thewrittenword.com>.
41178
41179 2008-03-10  Bruno Haible  <bruno@clisp.org>
41180
41181         * modules/stdlib (Depends-on): Add include_next, remove
41182         absolute-header.
41183
41184 2008-03-09  Bruno Haible  <bruno@clisp.org>
41185
41186         * lib/freadahead.h (freadahead): Document more precisely.
41187         * lib/freadahead.c (freadahead): When an ungetc is in effect, return
41188         the sum of both buffer sizes.
41189         * tests/test-freadahead.c (main): Also test behaviour after ungetc.
41190         * NEWS: Document the change.
41191
41192 2008-03-09  Bruno Haible  <bruno@clisp.org>
41193
41194         Extend freadptr to return also the buffer size.
41195         * lib/freadptr.h (freadptr): Add sizep argument.
41196         * lib/freadptr.c: Include freadptr.h, not freadahead.h.
41197         (freadptr): Add sizep argument. Determine buffer size like freadahead
41198         does.
41199         * tests/test-freadptr.c: Don't include freadahead.h.
41200         (main): Adapt for new calling convention of freadptr.
41201         * tests/test-freadptr2.c: New file, based on tests/test-freadahead.c.
41202         * tests/test-freadptr2.sh: New file, based on tests/test-freadahead.sh.
41203         * modules/freadptr-tests (Files): Add tests/test-freadptr2.c,
41204         tests/test-freadptr2.sh.
41205         (Depends): Remove freadahead.
41206         (TESTS): Add test-freadptr2.sh.
41207         (check_PROGRAMS): Add test-freadptr2.
41208
41209 2008-03-09  Bruno Haible  <bruno@clisp.org>
41210
41211         * doc/Makefile (%.pdf): Explain how to remedy the save_size error.
41212         Report and solution by Simon Josefsson.
41213
41214 2008-03-06  Bruno Haible  <bruno@clisp.org>
41215
41216         Make fflush after ungetc work on BSD platforms.
41217         * lib/fflush.c (rpl_fflush): Discard ungetc buffer if possible.
41218         * tests/test-fflush2.c: New file.
41219         * tests/test-fflush2.sh: New file.
41220         * modules/fflush-tests (Files): Add tests/test-fflush2.sh,
41221         tests/test-fflush2.c.
41222         (Makefile.am): Build test-fflush2 and run test-fflush2.sh.
41223         * doc/posix-functions/fflush.texi: Document fflush after ungetc bug.
41224
41225 2008-03-06  Eric Blake  <ebb9@byu.net>
41226
41227         Likewise for ftello.
41228         * modules/ftello (Dependencies): Add extensions.
41229         * m4/ftello.m4 (gl_FUNC_FTELLO): Require AC_USE_SYSTEM_EXTENSIONS.
41230
41231 2008-03-06  Bruno Haible  <bruno@clisp.org>
41232
41233         * modules/fseeko (Dependencies): Add extensions.
41234         * m4/fseeko.m4 (gl_FUNC_FSEEKO): Require AC_USE_SYSTEM_EXTENSIONS.
41235         Needed on glibc systems.
41236
41237 2008-03-06  Bruno Haible  <bruno@clisp.org>
41238
41239         * doc/gnulib-tool.texi (@nosuchmodulenote): Avoid line break inside
41240         email address.
41241         Reported by Thien-Thi Nguyen <ttn@gnuvola.org>.
41242
41243 2008-03-06  Bruno Haible  <bruno@clisp.org>
41244
41245         * users.txt: Add libgnupdf.
41246
41247 2008-03-06  Thien-Thi Nguyen  <ttn@gnuvola.org>  (tiny change)
41248
41249         * doc/gnulib-tool.texi (@nosuchmodulenote): New macro.
41250         (Header File Substitutes, Function Substitutes,
41251         Glibc Header File Substitutes, Glibc Function Substitutes): Use it.
41252         (Build robot for gnulib): Fix typo.
41253
41254 2008-03-06  Bruno Haible  <bruno@clisp.org>
41255
41256         * doc/gnulib-tool.texi (VCS Issues): Small updates.
41257         Reported by Thien-Thi Nguyen <ttn@gnuvola.org>.
41258
41259 2008-03-06  Bruno Haible  <bruno@clisp.org>
41260
41261         * doc/func.texi: New file, extracted from doc/gnulib.texi.
41262         * doc/gnulib.texi: Include it.
41263
41264 2008-03-06  Simon Josefsson  <simon@josefsson.org>
41265
41266         * modules/func (License): Change license to unlimited; there was
41267         no LGPL parts in the module anyway.
41268
41269 2008-03-06  Simon Josefsson  <simon@josefsson.org>
41270
41271         * modules/__func__: Renamed to modules/func.
41272         * modules/__func__-tests: Renamed to modules/func-tests.
41273         * tests/test-__func__.c: Renamed to tests/test-func.c.
41274         * m4/__func__.m4: Renamed to m4/func.m4.
41275         * doc/gnulib.texi (__func__): Section renamed to func.
41276         Suggested by Eric Blake <ebb9@byu.net>.
41277
41278 2008-03-06  Simon Josefsson  <simon@josefsson.org>
41279
41280         * doc/gnulib.texi (__func__): Use C99 terminology when talking
41281         about __func__.  Make example self-contained.  Suggested by Eric
41282         Blake <ebb9@byu.net>.
41283
41284         * tests/test-__func__.c (main): Avoid extraneous () around __func.
41285         Suggested by Eric Blake <ebb9@byu.net>.
41286
41287 2008-03-06  Simon Josefsson  <simon@josefsson.org>
41288
41289         * modules/__func__: New file.
41290         * modules/__func__-tests: New file.
41291         * tests/test-__func__.c: New file.
41292         * m4/__func__.m4: New file.
41293         * doc/gnulib.texi (__func__): Document __func__ module.
41294
41295 2008-03-05  Simon Josefsson  <simon@josefsson.org>
41296
41297         * modules/byteswap (License): Re-license as LGPLv2+.
41298
41299 2008-03-05  Simon Josefsson  <simon@josefsson.org>
41300
41301         * doc/Makefile: Add pdf target.
41302
41303 2008-03-05  Simon Josefsson  <simon@josefsson.org>
41304
41305         * modules/inline (License): Use 'unlimited', since there are only
41306         *.m4 files in this module.
41307
41308 2008-03-03  John E. Malmberg  <wb8tyw@qsl.net>  (tiny change)
41309             Bruno Haible  <bruno@clisp.org>
41310
41311         Add support for HP C 7.1 on OpenVMS 8.3.
41312         * lib/alloca.in.h (alloca): Define as alias for DEC C on VMS.
41313
41314 2008-03-03  John E. Malmberg  <wb8tyw@qsl.net>  (tiny change)
41315
41316         Update VMS specifics.
41317         * lib/getopt.c [VMS]: Remove include of unixlib.h.
41318
41319 2008-03-02  Jim Meyering  <meyering@redhat.com>
41320
41321         Remove the last dependency on the "free" module.
41322         * m4/readutmp.m4 (gl_READUTMP): Don't require gl_FUNC_FREE.
41323         Reported by Bob Proulx.
41324
41325         * lib/getdelim.c (getdelim): Don't leak memory upon failed realloc.
41326
41327         Remove useless "if" tests before free.  Deprecate "free" module.
41328         * doc/posix-functions/free.texi: Mention that this
41329         module is no longer useful.
41330         * modules/free (Notice): Say this module is obsolete.
41331         * modules/readutmp (Depends-on): Remove free.
41332         * lib/save-cwd.c (free_cwd): Remove useless "if" before free.
41333         * lib/putenv.c (putenv): Likewise.
41334         * lib/gc-gnulib.c (gc_cipher_close): Likewise.
41335         * lib/getaddrinfo.c (freeaddrinfo): Likewise.
41336         * tests/test-c-strcasestr.c (main): Likewise.
41337         * tests/test-c-strstr.c (main): Likewise.
41338         * tests/test-mbscasestr1.c (main): Likewise.
41339         * tests/test-mbscasestr2.c (main): Likewise.
41340         * tests/test-mbsstr1.c (main): Likewise.
41341         * tests/test-mbsstr2.c (main): Likewise.
41342         * tests/test-memmem.c (main): Likewise.
41343         * tests/test-strcasestr.c (main): Likewise.
41344         * tests/test-striconv.c (main): Likewise.
41345         * tests/test-striconveh.c (main): Likewise.
41346         * tests/test-striconveha.c (main): Likewise.
41347         * tests/test-strstr.c (main): Likewise.
41348
41349         * build-aux/git-version-gen: Adjust a comment and the Usage string.
41350
41351         bootstrap: sync from coreutils again
41352         * build-aux/bootstrap: Remove dangling m4/*.m4 symlinks.
41353
41354 2008-03-01  Jim Meyering  <meyering@redhat.com>
41355
41356         bootstrap: sync from coreutils
41357         * build-aux/bootstrap (update_po_files): Copy a .po file into place
41358         also when the target doesn't exist.
41359
41360 2008-03-01  Eric Blake  <ebb9@byu.net>
41361
41362         Fix bugs in last patch.
41363         * lib/memchr2.c (memchr2): Fix typo.
41364         * tests/test-memchr2.c: Test previous bug, and don't use GNU
41365         extension.
41366         Reported by Bruce Korb.
41367
41368         New module 'memchr2'.
41369         * modules/memchr2: New file.
41370         * modules/memchr2-tests: Likewise.
41371         * lib/memchr2.h: Likewise.
41372         * lib/memchr2.c: Likewise, based on memchr.c.
41373         * tests/test-memchr2.c: New test.
41374         * MODULES.html.sh (String handling): Add memchr2.
41375
41376 2008-02-29  Bruno Haible  <bruno@clisp.org>
41377
41378         * modules/freadseek-tests: New file.
41379         * tests/test-freadseek.sh: New file.
41380         * tests/test-freadseek.c: New file.
41381
41382         New module 'freadseek'.
41383         * modules/freadseek: New file.
41384         * lib/freadseek.h: New file.
41385         * lib/freadseek.c: New file.
41386         * MODULES.html.sh (File stream based Input/Output): Add freadseek.
41387
41388 2008-02-29  Sergey Poznyakoff  <gray@gnu.org.ua>
41389
41390         * users.txt: Add anubis, cpio, mailfromd, mailutils, radius,
41391         wydawca.
41392
41393         * m4/argp.m4 (gl_ARGP): Use AC_TRY_LINK to test if
41394         program_invocation_name and program_invocation_short_name are
41395         present.
41396
41397 2008-02-28  Bruno Haible  <bruno@clisp.org>
41398
41399         * tests/test-freadptr.c: Add a test for behaviour after ungetc.
41400         * tests/test-freadptr.sh: Also test non-seekable stdin.
41401
41402 2008-02-28  Sergey Poznyakoff  <gray@gnu.org.ua>
41403
41404         * build-aux/bootstrap (source_base, m4_base)
41405         (doc_base, tests_base): New variables.
41406         (gnulib_tool_options): Do not hardcode base directories, use
41407         the above variables instead.
41408
41409 2008-02-28  Atsushi SAKAI  <sakaia@jp.fujitsu.com>
41410
41411         * lib/xsize.h: Fix typo in comment: s/tupe/type/.
41412
41413 2008-02-28  Bruno Haible  <bruno@clisp.org>
41414
41415         * modules/freadptr-tests: New file.
41416         * tests/test-freadptr.sh: New file.
41417         * tests/test-freadptr.c: New file.
41418
41419         New module 'freadptr'.
41420         * modules/freadptr: New file.
41421         * lib/freadptr.h: New file.
41422         * lib/freadptr.c: New file.
41423         * MODULES.html.sh (File stream based Input/Output): Add freadptr.
41424
41425 2008-02-26  Karl Berry  <karl@freefriends.org>
41426
41427         Sync from Libtool:
41428         * libltdl/argz.c (argz_add, argz_count): New functions.
41429         * libltdl/argz.in.h: Declare them.
41430         Report by Juan Manuel Guerrero <juan.guerrero@gmx.de>.
41431
41432 2008-02-22  Bruno Haible  <bruno@clisp.org>
41433
41434         * m4/time_r.m4 (gl_TIME_R): Also check that localtime_r's return type
41435         is a pointer type.  Needed for HP-UX 10.
41436         * doc/posix-functions/localtime_r.texi: Mention HP-UX 10.
41437         * doc/posix-functions/gmtime_r.texi: Likewise.
41438         Reported by Peter O'Gorman <bug-gnulib@mlists.thewrittenword.com>.
41439
41440 2008-02-24  Bruno Haible  <bruno@clisp.org>
41441
41442         * modules/environ-tests: New file.
41443         * tests/test-environ.c: New file.
41444
41445         New module 'environ'.
41446         * modules/environ: New file.
41447         * lib/unistd.in.h (environ): New declaration.
41448         * m4/environ.m4: New file.
41449         (gt_CHECK_VAR_DECL): Moved here from m4/setenv.m4. Undefine gt_cv_var
41450         after use.
41451         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize GNULIB_ENVIRON and
41452         HAVE_DECL_ENVIRON.
41453         * modules/unistd (Makefile.am): Substitute also GNULIB_ENVIRON and
41454         HAVE_DECL_ENVIRON.
41455         * doc/posix-functions/environ.texi: Mention module 'environ'. Remove
41456         wrong claim that 'environ' is missing on some systems.
41457         * modules/execute (Depends-on): Add environ.
41458         * lib/execute.c (environ): Remove fallback declaration.
41459         * modules/pipe (Depends-on): Add environ.
41460         * lib/pipe.c (environ): Remove fallback declaration.
41461         * modules/setenv (Depends-on): Add environ.
41462         * lib/setenv.c (environ): Remove fallback declaration.
41463         * modules/unsetenv (Depends-on): Add environ.
41464         * lib/unsetenv.c (environ): Remove fallback declaration.
41465         * m4/setenv.m4 (gt_CHECK_VAR_DECL): Remove macro. Moved to
41466         m4/environ.m4.
41467         (gl_PREREQ_SETENV): Require gl_ENVIRON instead of testing for environ.
41468         (gl_PREREQ_UNSETENV): Likewise.
41469
41470 2008-02-24  Bruno Haible  <bruno@clisp.org>
41471
41472         * doc/posix-functions/environ.texi: Document the MacOS X problem.
41473
41474 2008-02-20  Bob Proulx  <bob@proulx.com>
41475
41476         Enable use of older two part flavor 'git describe'.
41477         * build-aux/git-version-gen: If using the older two part flavor of
41478         git version then recreate the third part now present in the
41479         newer three part flavor of git describe.
41480
41481 2008-02-20  Martin Buchholz  <martin@xemacs.org>  (tiny change)
41482
41483         * lib/fts.c (fts_build): Typo correction to comment.
41484
41485 2008-02-17  Bruno Haible  <bruno@clisp.org>
41486
41487         * lib/git-merge-changelog.c (main) [split_merged_entry]: Avoid
41488         generating no-op conflicts.
41489
41490 2008-02-17  Bruno Haible  <bruno@clisp.org>
41491
41492         Speed up by 10%.
41493         * lib/git-merge-changelog.c (main): Use the iterator to iterate through
41494         result_entries, rather than an index-based loop.
41495
41496 2008-02-17  Bruno Haible  <bruno@clisp.org>
41497
41498         Speed up by 25%.
41499         * lib/git-merge-changelog.c (struct entry): New fields 'hashcode',
41500         'hashcode_cached'.
41501         (entry_create): New function.
41502         (entry_hashcode): Use the cached hashcode if possible.
41503         (read_changelog_file, try_split_merged_entry): Use entry_create.
41504
41505 2008-02-17  Bruno Haible  <bruno@clisp.org>
41506
41507         Speed up from O(n^2) to O(n) for long ChangeLog files.
41508         * lib/git-merge-changelog.c: Include gl_rbtreehash_list.h.
41509         (read_changelog_file): Change implementation of entries_reversed list
41510         to rbtreehash.
41511         * modules/git-merge-changelog (Depends-on): Add rbtreehash-list.
41512
41513 2008-02-17  Bruno Haible  <bruno@clisp.org>
41514
41515         New option --split-merged-entry.
41516         * lib/git-merge-changelog.c (FSTRCMP_STRICTER_THRESHOLD): New macro.
41517         (find_paragraph_end, try_split_merged_entry): New functions.
41518         (long_options): Add option --split-merged-entry.
41519         (usage): Document option --split-merged-entry.
41520         (main): Implement option --split-merged-entry.
41521         Reported by Eric Blake.
41522
41523 2008-02-17  Bruno Haible  <bruno@clisp.org>
41524
41525         * lib/git-merge-changelog.c: Include c-strstr.h.
41526         (main): Support the "git pull --rebase" situation.
41527         * modules/git-merge-changelog (Depends-on): Add c-strstr.
41528         Reported by Eric Blake.
41529
41530 2008-02-16  Eric Blake  <ebb9@byu.net>
41531
41532         Avoid doubling \ in common case of "c-maybe" quoting style.
41533         * lib/quotearg.c (quotearg_buffer_restyled): Don't escape \ when
41534         eliding outer quotes.
41535         * lib/quotearg.h: Document this.
41536         * tests/test-quotearg.c (result_strings, inputs, results_g)
41537         (flag_results, locale_results): Test it by adding a new string to
41538         each test group.
41539         (compare_strings): Test new string.
41540
41541 2008-02-13  Eric Blake  <ebb9@byu.net>
41542
41543         Avoid trigraph quoting in default output.
41544         * lib/quotearg.h (enum quoting_flags): Add QA_SPLIT_TRIGRAPHS.
41545         * lib/quotearg.c (quotearg_buffer_restyled): Don't quote trigraphs
41546         unless explicitly requested.
41547         * tests/test-quotearg.c (flag_results, main): Add additional tests.
41548
41549 2008-02-13  Lasse Collin  <lasse.collin@tukaani.org>
41550
41551         Don't rely on signed integer overflowing to negative value.
41552         * lib/getugroups.c (getugroups): Include <limits.h>.
41553         Instead, compare against INT_MAX, and increment only if the test passes.
41554
41555 2008-02-13  Jim Meyering  <meyering@redhat.com>
41556         and Eric Blake  <ebb9@byu.net>
41557
41558         Avoid shadowing warning and compile errors on Linux.
41559         * tests/test-quotearg.c [ENABLE_NLS]: Disable <libintl.h>
41560         forwarding macros on Linux.
41561         (dcgettext): Define a stub, for Linux.
41562         (results_g, main): Avoid warnings.
41563
41564 2008-02-12  Eric Blake  <ebb9@byu.net>
41565
41566         Silence warning in last patch.
41567         * lib/quotearg.c (quotearg_buffer_restyled): Add missing const.
41568
41569         Quotearg part 4: add tests, fix c-maybe colon quoting.
41570         * lib/quotearg.h: Improve documentation.
41571         * lib/quotearg.c (quotearg_buffer_restyled): Don't add extra
41572         escapes when adding outer quotes.  When quoting trigraphs, use
41573         valid C notation.  When quoting NUL, omit extra characters if next
41574         character is not digit.  Alter prototype.
41575         (quotearg_buffer, quotearg_alloc_mem, quotearg_n_options): Adjust
41576         callers.
41577         * modules/quotearg-tests: New module.
41578         * tests/test-quotearg.c: New test.
41579
41580 2008-02-07  Eric Blake  <ebb9@byu.net>
41581
41582         Quotearg part 3: add flag to control outer quote elision.
41583         * lib/quotearg.h (c_maybe_quoting_style): New style.
41584         (enum quoting_flags): Better documentation of flags.
41585         * lib/quotearg.c (quoting_style_args, quoting_style_vals): Add
41586         c-maybe style.
41587         (quotearg_buffer_restyled): Handle new flag to elide outer
41588         quotes.
41589
41590         Quotearg part 2: add flag that can control NUL elision.
41591         * lib/quotearg.h (set_quoting_flags): New prototype.
41592         * lib/quotearg.c (struct quoting_options): Add flag field.
41593         (set_quoting_flags): New function.
41594         (quotearg_buffer_restyled): Add flags parameter.
41595         (quotearg_alloc_mem): Set the flag if length cannot be returned.
41596         (quotearg_n_options): Set the flag, since length cannot be
41597         returned.
41598         (quoting_options_from_style): Default flags correctly.
41599
41600         Quotearg part 1: more wrappers, restore quotearg_char state.
41601         * lib/quotearg.h (quotearg_alloc_mem, quotearg_n_mem)
41602         (quotearg_mem, quotearg_style_mem, quotearg_char_mem)
41603         (quotearg_colon_mem): New wrappers.
41604         * lib/quotearg.c (quotearg_alloc, quotearg_char): Rewrite...
41605         (quotearg_alloc_mem, quotearg_char_mem): ...in terms of these new
41606         functions.
41607         (quotearg_n_mem, quotearg_mem, quotearg_style_mem)
41608         (quotearg_colon_mem): New functions.
41609
41610 2008-02-11  Bruno Haible  <bruno@clisp.org>
41611
41612         * modules/git-merge-changelog (Makefile.am): Don't use -L and -l for a
41613         library in the current directory: it does not work with parallel make.
41614         Reported by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
41615
41616 2008-02-11  Bruno Haible  <bruno@clisp.org>
41617
41618         * .gitattributes: New file.
41619
41620 2008-02-11  Jim Meyering  <meyering@redhat.com>
41621
41622         useless-if-before-free: Fix reversed exit values.
41623         * build-aux/useless-if-before-free: Use correct values
41624         for EXIT_MATCH and EXIT_NO_MATCH.
41625
41626         * build-aux/useless-if-before-free: Close stdout carefully.
41627
41628 2008-02-10  Bruno Haible  <bruno@clisp.org>
41629
41630         New module 'git-merge-changelog'.
41631         * modules/git-merge-changelog: New file.
41632         * lib/git-merge-changelog.c: New file.
41633
41634 2008-02-10  Jim Meyering  <meyering@redhat.com>
41635
41636         useless-if-before-free: New option: --list (-l).
41637
41638         useless-if-before-free: Don't exit immediately upon open failure.
41639         * build-aux/useless-if-before-free: Exit 2 for errors.
41640         Upon failure to open a file, don't exit immediately.
41641         Rather, just warn and continue with any remaining files.
41642
41643 2008-02-10  Bruno Haible  <bruno@clisp.org>
41644
41645         New abstract list operation 'node_set_value'.
41646         * lib/gl_list.h (gl_list_node_set_value): New function.
41647         (struct gl_list_implementation): New field node_set_value.
41648         * lib/gl_list.c (gl_list_node_set_value): New function.
41649         * lib/gl_array_list.c (gl_array_node_set_value): New function.
41650         (gl_array_list_implementation): Update.
41651         * lib/gl_carray_list.c (gl_carray_node_set_value): New function.
41652         (gl_carray_list_implementation): Update.
41653         * lib/gl_anylinked_list2.h (gl_linked_node_set_value): New function.
41654         * lib/gl_linked_list.c (gl_linked_list_implementation): Update.
41655         * lib/gl_linkedhash_list.c (gl_linkedhash_list_implementation): Update.
41656         * lib/gl_anytree_list2.h (gl_tree_node_set_value): New function.
41657         * lib/gl_avltree_list.c (gl_avltree_list_implementation): Update.
41658         * lib/gl_rbtree_list.c (gl_rbtree_list_implementation): Update.
41659         * lib/gl_avltreehash_list.c (gl_avltreehash_list_implementation):
41660         Update.
41661         * lib/gl_rbtreehash_list.c (gl_rbtreehash_list_implementation): Update.
41662         * lib/gl_sublist.c (gl_sublist_node_set_value): New function.
41663         (gl_sublist_list_implementation): Update.
41664
41665 2008-02-10  Bruno Haible  <bruno@clisp.org>
41666
41667         * lib/diffseq.h: Write "ELEMENT const" instead of "const ELEMENT".
41668         Needed when ELEMENT is #defined to 'some_type *'.
41669
41670 2008-02-10  Jim Meyering  <meyering@redhat.com>
41671
41672         New script and module: useless-if-before-free
41673         * MODULES.html.sh (maint+release support): Add useless-if-before-free.
41674         * build-aux/useless-if-before-free: New file.
41675         * modules/useless-if-before-free: New file.
41676
41677         * build-aux/gitlog-to-changelog: Use committer date, not author date.
41678
41679         xstrtol_error: Fix typo.
41680         * lib/xstrtol-error.c (xstrtol_error): The parameter was unused:
41681         s/exit_failure/exit_status/.
41682
41683 2008-02-09  Jim Meyering  <meyering@redhat.com>
41684
41685         New script and module: gitlog-to-changelog
41686         * MODULES.html.sh (maint+release support): Add gitlog-to-changelog.
41687         * modules/gitlog-to-changelog: New file.
41688         * build-aux/gitlog-to-changelog: New file.
41689
41690 2008-02-08  Jim Meyering  <meyering@redhat.com>
41691
41692         Avoid two "parameter unused" warnings.
41693         * lib/stat-time.h (get_stat_birthtime_ns, get_stat_birthtime):
41694         Mark "st" as used.
41695
41696         Use "git COMMAND", not "git-COMMAND".
41697         * build-aux/bootstrap (version_controlled_file): s/git-rm/git-rm/.
41698         * build-aux/announce-gen (get_tool_versions): Correct a diagnostic.
41699         * build-aux/git-version-gen: Use "git status", not "git-status".
41700
41701 2008-02-07  Bruno Haible  <bruno@clisp.org>
41702
41703         * lib/vasnprintf.c (VASNPRINTF): Don't use %n on native Woe32 systems.
41704         Avoids a crash on Windows Vista.
41705         Reported by Adam Strzelecki <ono@java.pl> via
41706         Simon Josefsson <simon@josefsson.org>.
41707
41708 2008-02-06  Bruno Haible  <bruno@clisp.org>
41709
41710         Fix *printf behaviour regarding the left-adjust flag on HP-UX 10.20.
41711         * m4/printf.m4 (gl_PRINTF_FLAG_LEFTADJUST): New macro.
41712         * lib/vasnprintf.c (VASNPRINTF): Handle NEED_PRINTF_FLAG_LEFTADJUST.
41713         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF_FLAG_LEFTADJUST): New macro.
41714         (gl_PREREQ_VASNPRINTF_WITH_EXTRAS): Invoke it.
41715         * m4/fprintf-posix.m4 (gl_FUNC_FPRINTF_POSIX): Invoke
41716         gl_PRINTF_FLAG_LEFTADJUST and test its result. Invoke
41717         gl_PREREQ_VASNPRINTF_FLAG_LEFTADJUST.
41718         * m4/snprintf-posix.m4 (gl_FUNC_SNPRINTF_POSIX): Likewise.
41719         * m4/sprintf-posix.m4 (gl_FUNC_SPRINTF_POSIX): Likewise.
41720         * m4/vasnprintf-posix.m4 (gl_FUNC_VASNPRINTF_POSIX): Likewise.
41721         * m4/vasprintf-posix.m4 (gl_FUNC_VASPRINTF_POSIX): Likewise.
41722         * m4/vfprintf-posix.m4 (gl_FUNC_VFPRINTF_POSIX): Likewise.
41723         * m4/vsnprintf-posix.m4 (gl_FUNC_VSNPRINTF_POSIX): Likewise.
41724         * m4/vsprintf-posix.m4 (gl_FUNC_VSPRINTF_POSIX): Likewise.
41725         * tests/test-vasnprintf-posix.c (test_function): Add testcases for the
41726         left-adjust flag.
41727         * tests/test-snprintf-posix.h (test_function): Likewise.
41728         * tests/test-sprintf-posix.h (test_function): Likewise.
41729         * tests/test-vasprintf-posix.c (test_function): Likewise.
41730         * doc/posix-functions/fprintf.texi: Update.
41731         * doc/posix-functions/printf.texi: Update.
41732         * doc/posix-functions/snprintf.texi: Update.
41733         * doc/posix-functions/sprintf.texi: Update.
41734         * doc/posix-functions/vfprintf.texi: Update.
41735         * doc/posix-functions/vprintf.texi: Update.
41736         * doc/posix-functions/vsnprintf.texi: Update.
41737         * doc/posix-functions/vsprintf.texi: Update.
41738         Reported by Peter Fales <psfales@alcatel-lucent.com>.
41739
41740 2008-02-06  Bruno Haible  <bruno@clisp.org>
41741
41742         Fix bug introduced on 2008-01-26.
41743         * lib/isnan.c (FUNC): Set to rpl_isnand, not rpl_isnan.
41744
41745 2008-02-06  Bruno Haible  <bruno@clisp.org>
41746
41747         Fix bug introduced on 2007-06-10.
41748         * lib/vasnprintf.c (VASNPRINTF): Perform zero-padding also if
41749         !NEED_PRINTF_FLAG_ZERO.
41750
41751 2008-02-05  Peter O'Gorman <pogma@thewrittenword.com>
41752
41753         getloadavg: use libperfstat on AIX5
41754         * lib/getloadavg.c, m4/getloadavg.m4 [aix]: Use libperfstat
41755
41756 2008-02-03  Bruno Haible  <bruno@clisp.org>
41757
41758         * lib/diffseq.h: Add comments about required #includes.
41759         Reported by Michael Biggs <gnulib@doubleplum.net>.
41760
41761 2008-02-01  Bruno Haible  <bruno@clisp.org>
41762
41763         * users.txt: Add gnuit.
41764
41765 2008-01-31  Bruno Haible  <bruno@clisp.org>
41766
41767         * lib/md4.c (set_uint32): Mark as inline.
41768         * lib/md5.c (set_uint32): Likewise.
41769         * lib/sha1.c (set_uint32): Likewise.
41770         * m4/md4.m4 (gl_MD4): Require AC_C_INLINE.
41771         * m4/md5.m4 (gl_MD5): Likewise.
41772         * m4/sha1.m4 (gl_SHA1): Likewise.
41773
41774 2008-01-31  Jim Meyering  <meyering@redhat.com>
41775
41776         Use "sizeof VAR", rather than a literal "4".
41777         * lib/md5.c (md5_read_ctx): Use sizeof ctx->A, not 4.
41778         * lib/md4.c (md4_read_ctx): Likewise.
41779         * lib/sha1.c (sha1_read_ctx): Likewise.
41780
41781 2008-01-31  Simon Josefsson  <simon@josefsson.org>
41782
41783         * tests/test-sha1.c: New file, based on test-md5.c.
41784
41785         * modules/crypto/sha1-tests: New file.
41786
41787 2008-01-31  Simon Josefsson  <simon@josefsson.org>
41788
41789         * lib/sha1.h (SHA1_DIGEST_SIZE): Define.
41790
41791 2008-01-31  Jim Meyering  <meyering@redhat.com>
41792
41793         Prefer "sizeof v" over the equivalent "4".
41794         * lib/md4.c (set_uint32): Use "sizeof v" as memcpy length, not 4.
41795         * lib/md5.c (set_uint32): Likewise.
41796         * lib/sha1.c (set_uint32): Likewise.
41797
41798 2008-01-31  Simon Josefsson  <simon@josefsson.org>
41799
41800         * lib/sha1.c (set_uint32): Mark function as static.
41801
41802 2008-01-31  Simon Josefsson  <simon@josefsson.org>
41803
41804         md2: clarify comments to say that alignment is not required.
41805         * lib/md2.h: Remove warning about alignment in comment.
41806         * lib/md2.c (md2_read_ctx, md2_finish_ctx): Doc fix, alignment has
41807         never been required.
41808
41809 2008-01-31  Simon Josefsson  <simon@josefsson.org>
41810
41811         md4: adapt alignment constraint fix from sha1.
41812         * lib/md4.c (set_uint32): New function, from sha1.c
41813         (md4_read_ctx): Use it.
41814         (md4_finish_ctx): Doc fix.
41815         * lib/md4.h: Doc fix.
41816
41817 2008-01-31  Simon Josefsson  <simon@josefsson.org>
41818
41819         md5: adapt alignment constraint fix from sha1.
41820         * lib/md5.c (set_uint32): New function, from sha1.c
41821         (md5_read_ctx): Use it.
41822         (md5_finish_ctx): Doc fix.
41823         * lib/md5.h: Doc fix.
41824
41825 2008-01-30  Peter Palfrader  <weasel@debian.org>
41826
41827         sha1: remove the result buffer alignment constraint
41828         * lib/sha1.c (set_uint32): New function.
41829         (sha1_read_ctx): Rewrite to remove the result buffer alignment
41830         constraint.
41831         (sha1_finish_ctx): Remove comment warning about alignment constraint.
41832         * lib/sha1.h: Likewise.
41833
41834 2008-01-30  Andreas Schwab  <schwab@suse.de>
41835             Bruno Haible  <bruno@clisp.org>
41836
41837         * m4/frexpl.m4 (gl_FUNC_FREXPL_WORKS): Include <float.h> and ensure a
41838         correct definition of LDBL_MIN_EXP.
41839
41840 2008-01-30  Karl Berry  <karl@gnu.org>
41841
41842         * config/srclist-update: try to preserve x bit on updates.
41843         * config/srclistvars.sh: update for karl.
41844
41845 2008-01-29  Jim Meyering  <meyering@redhat.com>
41846
41847         vasnprintf.c: Avoid warning about unused label
41848         * lib/vasnprintf.c (VASNPRINTF) [!USE_SNPRINTF]: Guard the
41849         "overflow" label definition and associated code with the
41850         same cpp condition that guards the sole use of that label.
41851
41852 2008-01-26  Bruno Haible  <bruno@clisp.org>
41853
41854         * m4/isnanl.m4 (gl_HAVE_ISNANL_NO_LIBM, gl_HAVE_ISNANL_IN_LIBM,
41855         gl_FUNC_ISNANL_WORKS): Test the GCC >= 4.0 built-in.
41856         * lib/isnanl.h (isnanl): Use the GCC >= 4.0 built-in.
41857         * lib/isnanl-nolibm.h (isnanl): Likewise.
41858         Reported by Paul Eggert <eggert@cs.ucla.edu>.
41859
41860 2008-01-26  Bruno Haible  <bruno@clisp.org>
41861
41862         * m4/isnand.m4 (gl_FUNC_ISNAND_NO_LIBM): Test the GCC >= 4.0 built-in.
41863         * lib/isnand.h (isnand): Use the GCC >= 4.0 built-in.
41864
41865 2008-01-26  Bruno Haible  <bruno@clisp.org>
41866
41867         * m4/isnanf.m4 (gl_HAVE_ISNANF_NO_LIBM, gl_ISNANF_WORKS): Test the
41868         GCC >= 4.0 built-in.
41869         * lib/isnanf.h (isnanf): Use the GCC >= 4.0 built-in.
41870
41871 2008-01-26  Bruno Haible  <bruno@clisp.org>
41872
41873         Rename isnan, applicable to 'double' only, to isnand.
41874         * modules/isnand-nolibm: Renamed from modules/isnan-nolibm.
41875         (Files): Add lib/isnand.h, lib/isnand.c. Remove lib/isnan.h.
41876         (configure.ac): Update.
41877         (Include): Replace "isnan.h" with "isnand.h".
41878         * m4/isnand.m4: Renamed from m4/isnan.m4.
41879         (gl_FUNC_ISNAND_NO_LIBM): Renamed from gl_FUNC_ISNAN_NO_LIBM. Set
41880         HAVE_ISNAND_IN_LIBC instead of HAVE_ISNAN_IN_LIBC. Build isnand.c
41881         instead of isnan.c.
41882         * lib/isnand.h: Renamed from lib/isnan.h. Test HAVE_ISNAND_IN_LIBC
41883         instead of HAVE_ISNAN_IN_LIBC.
41884         (isnand): Renamed from isnan.
41885         * lib/isnand.c: New file.
41886         * modules/isnand-nolibm-tests: Renamed from modules/isnan-nolibm-tests.
41887         (Files): Add tests/test-isnand.c. Remove tests/test-isnan.c.
41888         (Makefile.am): Update.
41889         * tests/test-isnand.c: Renamed from tests/test-isnan.c.
41890         Include isnand.h instead of isnan.h.
41891         (main): Test isnand instead of isnan.
41892         * modules/fprintf-posix (Depends-on): Add isnand-nolibm, remove
41893         isnan-nolibm.
41894         * modules/frexp (Depends-on): Likewise.
41895         * modules/frexp-tests (Depends-on): Likewise.
41896         * modules/frexp-nolibm (Depends-on): Likewise.
41897         * modules/frexp-nolibm-tests (Depends-on): Likewise.
41898         * modules/isfinite (Depends-on): Likewise.
41899         * modules/round-tests (Depends-on): Likewise.
41900         * modules/signbit (Depends-on): Likewise.
41901         * modules/signbit-tests (Depends-on): Likewise.
41902         * modules/snprintf-posix (Depends-on): Likewise.
41903         * modules/sprintf-posix (Depends-on): Likewise.
41904         * modules/trunc-tests (Depends-on): Likewise.
41905         * modules/unistdio/u8-vasnprintf (Depends-on): Likewise.
41906         * modules/unistdio/u8-u8-vasnprintf (Depends-on): Likewise.
41907         * modules/unistdio/u16-vasnprintf (Depends-on): Likewise.
41908         * modules/unistdio/u16-u16-vasnprintf (Depends-on): Likewise.
41909         * modules/unistdio/u32-vasnprintf (Depends-on): Likewise.
41910         * modules/unistdio/u32-u32-vasnprintf (Depends-on): Likewise.
41911         * modules/unistdio/ulc-vasnprintf (Depends-on): Likewise.
41912         * modules/vasnprintf-posix (Depends-on): Likewise.
41913         * modules/vasprintf-posix (Depends-on): Likewise.
41914         * modules/vfprintf-posix (Depends-on): Likewise.
41915         * modules/vsnprintf-posix (Depends-on): Likewise.
41916         * modules/vsprintf-posix (Depends-on): Likewise.
41917         * lib/frexp.c: Include isnand.h instead of isnan.h.
41918         (ISNAN): Set to isnand instead of isnan.
41919         * lib/isfinite.c: Include isnand.h instead of isnan.h.
41920         (gl_isfinited): Use isnand instead of isnan.
41921         * lib/signbitd.c: Include isnand.h instead of isnan.h.
41922         (gl_signbitd): Use isnand instead of isnan.
41923         * lib/vasnprintf.c: Include isnand.h instead of isnan.h.
41924         (is_infinite_or_zero, VASNPRINTF): Use isnand instead of isnan.
41925         * tests/test-frexp.c: Include isnand.h instead of isnan.h.
41926         (main): Use isnand instead of isnan.
41927         * tests/test-round1.c: Include isnand.h.
41928         (main): Use isnand instead of isnan.
41929         * tests/test-round2.c: Include isnand.h instead of isnan.h.
41930         (ISNAN): Set to isnand instead of isnan.
41931         * tests/test-trunc1.c: Include isnand.h.
41932         (main): Use isnand instead of isnan.
41933         * tests/test-trunc2.c: Include isnand.h instead of isnan.h.
41934         (equal): Use isnand instead of isnan.
41935         * MODULES.html.sh (Mathematics <math.h>): Replace isnan-nolibm with
41936         isnand-nolibm.
41937         * NEWS: Mention the change.
41938
41939 2008-01-25  Paul Eggert  <eggert@cs.ucla.edu>
41940             Bruno Haible  <bruno@clisp.org>
41941
41942         * m4/signbit.m4 (gl_SIGNBIT): Require a macro definition. Test whether
41943         the GCC builtins for signbits are present and set
41944         REPLACE_SIGNBIT_USING_GCC if so.
41945         * lib/math.in.h (signbit): Define using GCC builtins if
41946         REPLACE_SIGNBIT_USING_GCC is set.
41947         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize
41948         REPLACE_SIGNBIT_USING_GCC.
41949         * modules/math (Makefile.am): Substitute REPLACE_SIGNBIT_USING_GCC.
41950
41951 2008-01-25  Jim Meyering  <meyering@redhat.com>
41952
41953         Prefer <config.h> over "config.h".  See autoconf doc for explanation.
41954         * lib/poll.c: Include <config.h>, not "config.h".
41955         * tests/test-getaddrinfo.c: Likewise.
41956
41957 2008-01-25  Simon Josefsson  <simon@josefsson.org>
41958
41959         * modules/sockets-tests: New file.
41960
41961 2008-01-24  Simon Josefsson  <simon@josefsson.org>
41962
41963         * modules/sockets: New module, can be used to call WSA_Startup and
41964         WSA_Cleanup when needed.
41965
41966         * lib/sockets.h, lib/sockets.c: New files.
41967
41968         * m4/sockets.m4: New file.
41969
41970         * tests/test-sockets.c: New file.
41971
41972 2008-01-19  Bruno Haible  <bruno@clisp.org>
41973
41974         * doc/posix-headers: Renamed from doc/headers.
41975         * doc/posix-functions: Renamed from doc/functions.
41976         * doc/gnulib.texi: Update.
41977
41978 2008-01-19  Bruno Haible  <bruno@clisp.org>
41979
41980         * doc/glibc-functions/strcasestr.texi: Include contents of
41981         doc/functions/strcasestr.texi, fixing the list of platforms.
41982         * doc/functions/strcasestr.texi: Remove file.
41983
41984 2008-01-19  Bruno Haible  <bruno@clisp.org>
41985
41986         * doc/glibc-functions/memmem.texi: Include contents of
41987         doc/functions/memmem.texi.
41988         * doc/functions/memmem.texi: Remove file.
41989
41990 2008-01-18  Bruno Haible  <bruno@clisp.org>
41991
41992         * doc/glibc-functions/*.texi: New files.
41993         * doc/gnulib.texi (Glibc Function Substitutes): Completely rewritten
41994         to use the new files.
41995
41996 2008-01-17  Bruno Haible  <bruno@clisp.org>
41997
41998         * tests/test-gethostname.c (main): Fix printf statement.
41999
42000 2008-01-17  Simon Josefsson  <simon@josefsson.org>
42001
42002         * modules/gethostname-tests: New file.
42003
42004         * tests/test-gethostname.c: New file.
42005
42006 2008-01-17  Simon Josefsson  <simon@josefsson.org>
42007
42008         * lib/gethostname.c: Include string.h unconditionally, strncpy is
42009         used by the UNAME case.  Reported by Bruno Haible
42010         <bruno@clisp.org>.
42011
42012 2008-01-17  Eric Blake  <ebb9@byu.net>
42013
42014         Convert c-strcasestr to be more efficient.
42015         * modules/c-strcasestr (Files): Use Two-Way, not KMP.
42016         (Depends-on): Add c-strcase, remove malloca, strnlen.
42017         * tests/test-c-strcasestr.c (main): Enhance test.
42018         * lib/c-strcasestr.c (c_strcasestr): Rewrite to new algorithm.
42019
42020 2007-01-16  Paolo Bonzini  <bonzini@gnu.org>
42021
42022         * build-aux/bootstrap (MSGID_BUGS_ADDRESS): New overridable variable.
42023         Use it in creating po/Makevars.
42024
42025 2008-01-15  Simon Josefsson  <simon@josefsson.org>
42026
42027         * lib/gc-libgcrypt.c (gc_init): Disable secure memory by default.
42028         Applications that requires it should initialize libgcrypt
42029         manually.
42030
42031 2008-01-16  Simon Josefsson  <simon@josefsson.org>
42032
42033         * lib/gethostname.c [!HAVE_UNAME]: Need string.h for strcpy.
42034
42035 2008-01-15  Paul Eggert  <eggert@cs.ucla.edu>
42036
42037         Fix problem with getdate on mingw32 reported by Simon Josefsson
42038         in <http://lists.gnu.org/archive/html/bug-gnulib/2008-01/msg00192.html>.
42039         * lib/getdate.y (get_date): Check "HAVE_DECL_TZNAME", not "defined
42040         tzname", when deciding whether to declare tzname.
42041         * lib/strftime.c (tzname): Likewise.
42042
42043 2008-01-15  Bruno Haible  <bruno@clisp.org>
42044
42045         Work around a MacOS X 10.5 bug in frexpl().
42046         * m4/frexpl.m4 (gl_FUNC_FREXPL_WORKS): Also check denormalized numbers.
42047         * doc/functions/frexpl.texi: Document the bug.
42048         Reported by Elias Pipping <pipping@gentoo.org>.
42049
42050 2008-01-14  Eric Blake  <ebb9@byu.net>
42051
42052         Touch up previous patch.
42053         * m4/strcasestr.m4 (gl_FUNC_STRCASESTR_SIMPLE): Fix typo.
42054         * doc/functions/strcasestr.texi (strcasestr): Document OpenBSD bug.
42055
42056         Convert strcasestr module to use Two-Way algorithm.
42057         * modules/strcasestr-simple: New module, based on the old
42058         strcasestr, but with Two-Way rather than KMP.
42059         * modules/strcasestr (Depends-on): Change to strcasestr-simple.
42060         * lib/string.in.h (rpl_strcasestr): Declare.
42061         * m4/strcasestr.m4 (gl_FUNC_STRCASESTR): Check for linear
42062         performance.
42063         * lib/strcasestr.c (strcasestr): Simplify, and avoid malloc.
42064         * modules/string (Makefile.am): Support strcasestr.
42065         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Likewise.
42066         * modules/strcasestr-tests (Depends-on): Check for alarm.
42067         * tests/test-strcasestr.c: Augment test.
42068         * lib/str-two-way.h: Clean up stray macro.
42069         * NEWS: Document new module.
42070         * MODULES.html.sh (string handling): Likewise.
42071         * doc/functions/strcasestr.texi: New file.
42072         * doc/gnulib.texi (Function Substitutes): New node.  Move memmem
42073         here, since it is not a POSIX function.
42074
42075 2008-01-14  Colin Watson  <cjwatson@debian.org>
42076             Bruno Haible  <bruno@clisp.org>
42077
42078         * m4/strsignal.m4 (gl_FUNC_STRSIGNAL): Also check whether strsignal
42079         works fine; if not, set REPLACE_STRSIGNAL.
42080         (gl_PREREQ_STRSIGNAL): Require AC_DECL_SYS_SIGLIST.
42081         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Initialize
42082         REPLACE_STRSIGNAL.
42083         * lib/string.in.h (strsignal): Consider REPLACE_STRSIGNAL.
42084         * modules/string (Makefile.am): Substitute REPLACE_STRSIGNAL.
42085         * tests/test-strsignal.c (main): Check out-of-range signal numbers.
42086
42087 2008-01-14  Bruno Haible  <bruno@clisp.org>
42088
42089         * modules/strsignal (Include): Change to <string.h>.
42090
42091 2008-01-14  Colin Watson  <cjwatson@debian.org>
42092
42093         * modules/argp (Notice): Add a notice recommending to change
42094         XGETTEXT_OPTIONS.
42095         (configure.ac): Invoke AM_XGETTEXT_OPTION if it exists.
42096
42097 2008-01-13  Colin Watson  <cjwatson@debian.org>
42098
42099         * modules/strsignal-tests: New file.
42100         * tests/test-strsignal.c: New file.
42101
42102         * lib/strsignal.c: New file, from glibc with modifications.
42103         * lib/siglist.h: New file, from glibc with modifications.
42104         * lib/string.in.h (strsignal): New declaration.
42105         * m4/strsignal.m4: New file.
42106         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Initialize
42107         GNULIB_STRSIGNAL and HAVE_DECL_STRSIGNAL.
42108         * modules/strsignal: New file.
42109         * modules/string (Makefile.am): Substitute GNULIB_STRSIGNAL and
42110         HAVE_DECL_STRSIGNAL.
42111
42112 2008-01-13  Bruno Haible  <bruno@clisp.org>
42113
42114         * m4/locale-fr.m4 (gt_LOCALE_FR, gt_LOCALE_FR_UTF8): Check that the
42115         locale encoding is not ASCII. Needed for OpenBSD 4.0.
42116         * m4/locale-tr.m4 (gt_LOCALE_TR_UTF8): Likewise.
42117         * m4/locale-zh.m4 (gt_LOCALE_ZH_CN): Likewise.
42118
42119 2008-01-13  Bruno Haible  <bruno@clisp.org>
42120
42121         * lib/argp-fmtstream.h (__attribute__): Don't redefine if
42122         __STRICT_ANSI__ is set: it's not needed by any version of gcc.
42123         * lib/argp.h (__attribute__): Likewise.
42124         * lib/c-stack.c (__attribute__): Likewise.
42125         * lib/error.h (__attribute__): Likewise.
42126         * lib/fts.c (__attribute__): Likewise.
42127         * lib/openat.h (__attribute__): Likewise.
42128         * lib/stdio.in.h (__attribute__): Likewise.
42129         * lib/string.in.h (__attribute__): Likewise.
42130         * lib/utimens.c (__attribute__): Likewise.
42131         * lib/vasnprintf.h (__attribute__): Likewise.
42132         * lib/xalloc.h (__attribute__): Likewise.
42133         * lib/xprintf.h (__attribute__): Likewise.
42134         * lib/xstrtol.h (__attribute__): Likewise.
42135         * lib/xvasprintf.h (__attribute__): Likewise.
42136
42137 2008-01-12  Bruno Haible  <bruno@clisp.org>
42138
42139         * doc/gnulib.texi (Glibc Header File Substitutes): New chapter.
42140         * doc/glibc-headers/a.out.texi: New file.
42141         * doc/glibc-headers/aliases.texi: New file.
42142         * doc/glibc-headers/alloca.texi: New file.
42143         * doc/glibc-headers/ar.texi: New file.
42144         * doc/glibc-headers/argp.texi: New file.
42145         * doc/glibc-headers/argz.texi: New file.
42146         * doc/glibc-headers/byteswap.texi: New file.
42147         * doc/glibc-headers/crypt.texi: New file.
42148         * doc/glibc-headers/endian.texi: New file.
42149         * doc/glibc-headers/envz.texi: New file.
42150         * doc/glibc-headers/err.texi: New file.
42151         * doc/glibc-headers/error.texi: New file.
42152         * doc/glibc-headers/execinfo.texi: New file.
42153         * doc/glibc-headers/fpu_control.texi: New file.
42154         * doc/glibc-headers/fstab.texi: New file.
42155         * doc/glibc-headers/fts.texi: New file.
42156         * doc/glibc-headers/getopt.texi: New file.
42157         * doc/glibc-headers/ieee754.texi: New file.
42158         * doc/glibc-headers/ifaddrs.texi: New file.
42159         * doc/glibc-headers/libintl.texi: New file.
42160         * doc/glibc-headers/mcheck.texi: New file.
42161         * doc/glibc-headers/mntent.texi: New file.
42162         * doc/glibc-headers/obstack.texi: New file.
42163         * doc/glibc-headers/paths.texi: New file.
42164         * doc/glibc-headers/printf.texi: New file.
42165         * doc/glibc-headers/pty.texi: New file.
42166         * doc/glibc-headers/resolv.texi: New file.
42167         * doc/glibc-headers/shadow.texi: New file.
42168         * doc/glibc-headers/sysexits.texi: New file.
42169         * doc/glibc-headers/ttyent.texi: New file.
42170
42171 2008-01-12  Jim Meyering  <meyering@redhat.com>
42172
42173         announce-gen: emit Gnulib's git-based version string.
42174         * build-aux/announce-gen: Remove option: --gnulib-snapshot-time-stamp=S.
42175         New option --gnulib-version=V, where V is expected to be
42176         the output of running git describe in the gnulib directory.
42177         (get_tool_versions): Request feedback on xdelta.  I suspect it's
42178         not useful, and plan to stop publishing an xdelta file with each
42179         coreutils release.
42180
42181         * build-aux/announce-gen: Also check for lzma-compressed files.
42182
42183 2008-01-11  Bruno Haible  <bruno@clisp.org>
42184
42185         * tests/test-memmem.c (main): Increase maximum allowed time.
42186         * tests/test-strstr.c (main): Likewise.
42187
42188 2008-01-11  Bruno Haible  <bruno@clisp.org>
42189
42190         * doc/functions/memmem.texi: Add more precisions about platforms.
42191         * doc/functions/strstr.texi: Likewise.
42192
42193 2008-01-10  Eric Blake  <ebb9@byu.net>
42194
42195         * m4/strstr.m4: Delete cruft from copy-n-paste.
42196         Reported by Bruno Haible.
42197
42198 2008-01-10  Bruno Haible  <bruno@clisp.org>
42199
42200         Make c-strstr rely on strstr.
42201         * lib/c-strstr.c: Don't include str-kmp.h.
42202         (c_strstr): Define in terms of strstr.
42203         * modules/c-strstr (Files): Remove lib/str-kmp.h.
42204         (Depends-on): Remove stdbool, malloca, strnlen. Add strstr.
42205
42206 2008-01-10  Bruno Haible  <bruno@clisp.org>
42207
42208         * doc/gnulib.texi (String Functions in C Locale): New section.
42209         * doc/c-ctype.texi: New file.
42210         * doc/c-strcase.texi: New file.
42211         * doc/c-strcaseeq.texi: New file.
42212         * doc/c-strcasestr.texi: New file.
42213         * doc/c-strstr.texi: New file.
42214         * doc/c-strtod.texi: New file.
42215         * doc/c-strtold.texi: New file.
42216
42217 2008-01-10  Eric Blake  <ebb9@byu.net>
42218
42219         * lib/relocatable.h: Fix a comment.
42220
42221 2008-01-10  Eric Blake  <ebb9@byu.net>
42222
42223         Share two-way algorithm.
42224         * lib/str-two-way.h: New file, merged from...
42225         * lib/memmem.c: ...here...
42226         * lib/strstr.c: ...and here.
42227         * modules/memmem (Files): Use it.
42228         * modules/strstr (Files): Likewise.
42229
42230         Avoid quadratic strstr implementations.
42231         * lib/strstr.c: New file.
42232         * m4/strstr.m4: Likewise.
42233         * modules/strstr: Likewise.
42234         * modules/strstr-tests: Likewise.
42235         * tests/test-strstr.c: Likewise.
42236         * lib/string.in.h (rpl_strstr): Declare.
42237         (memmem) [GNULIB_POSIXCHECK]: Document speed issue.
42238         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Support strstr.
42239         * modules/string (Makefile.am): Likewise.
42240         * MODULES.html.sh (string handling): Mention new module.
42241         * doc/functions/strstr.texi (strstr): Document the bug.
42242
42243 2008-01-10  Bruno Haible  <bruno@clisp.org>
42244
42245         * lib/relocatable.h (relocate): State whether result is freshly
42246         allocated or not.
42247         * lib/relocatable.c (relocate): Return a freshly allocated string
42248         instead of a pointer to a privately held string.
42249         Reported by Sylvain Beucler <beuc@gnu.org>.
42250
42251 2008-01-10  Colin Watson  <cjwatson@debian.org>
42252
42253         * lib/canonicalize-lgpl.c [!_LIBC]: Fix typo in #if directive:
42254         s/S_ISNLK/S_ISLNK/.
42255
42256 2008-01-09  Bruno Haible  <bruno@clisp.org>
42257
42258         * doc/functions/memmem.texi: Use the same structure as snprintf.texi
42259         and other files.
42260         * m4/memmem.m4 (gl_FUNC_MEMMEM): Say "guessing no" instead of "no"
42261         if it's only a guess.
42262         * modules/memmem: Simplify by depending on memmem-simple.
42263
42264 2008-01-09  Bruno Haible  <bruno@clisp.org>
42265
42266         Work around OpenBSD 4.0 tdelete() bug.
42267         * m4/tsearch.m4 (gl_FUNC_TSEARCH): Also check tdelete's return value.
42268         * lib/search.in.h: If REPLACE_TSEARCH is 1, define tsearch etc. as
42269         macros and don't redefine the enum values.
42270         * m4/search_h.m4 (gl_SEARCH_H_DEFAULTS): Initialize REPLACE_TSEARCH.
42271         * modules/search (Makefile.am): Also substitute REPLACE_TSEARCH.
42272         * doc/functions/tdelete.texi: Document the OpenBSD 4.0 bug.
42273
42274 2008-01-09  Bruno Haible  <bruno@clisp.org>
42275
42276         * tests/test-wcwidth.c: Include <string.h> and localcharset.h.
42277         (main): Don't perform the tests if setlocale did not install a UTF-8
42278         locale. Needed on OpenBSD 4.0.
42279         * modules/wcwidth-tests (Depends-on): Add localcharset.
42280
42281 2008-01-09  Paul Eggert  <eggert@cs.ucla.edu>
42282
42283         gl_FUNC_ALLOCA no longer defines HAVE_ALLOCA_H unconditionally.
42284         See <http://lists.gnu.org/archive/html/bug-gnulib/2007-12/msg00149.html>.
42285         * NEWS: announce this.
42286         * m4/alloca.m4 (gl_FUNC_ALLOCA): Don't define HAVE_ALLOCA_H.
42287
42288 2008-01-09  Simon Josefsson  <simon@josefsson.org>
42289         and Eric Blake  <ebb9@byu.net>
42290
42291         Add memmem-simple module.
42292         * m4/memmem.m4 (gl_FUNC_MEMMEM_SIMPLE): New macro.
42293         (gl_FUNC_MEMMEM): Separate performance from presence checks.
42294         * modules/memmem-simple: New file.
42295         * modules/memmem (Description): Tweak.
42296         * MODULES.html.sh (string handling): Mention new module.
42297         * doc/functions/memmem.texi (memmem): Distinguish which flaws are
42298         addressed by memmem-simple.
42299         * NEWS: Document the difference.
42300
42301 2008-01-09  Eric Blake  <ebb9@byu.net>
42302
42303         Give gcc some memmem optimization hints.
42304         * lib/string.in.h (memmem, memrchr, strchrnul, strnlen, strpbrk)
42305         (strcasestr): Declare as pure.
42306         * modules/memmem (Maintainer): Claim my implementation.
42307
42308 2008-01-09  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
42309
42310         Support AIX 6.1 and higher.
42311         * build-aux/config.libpath: Likewise.
42312         * build-aux/config.rpath: Likewise.
42313
42314 2008-01-08  Jim Meyering  <meyering@redhat.com>
42315             Bruno Haible  <bruno@clisp.org>
42316
42317         * lib/printf-parse.c (PRINTF_PARSE): Handle a size specifier "q"
42318         on MacOS X and a size specifier "I64" on mingw. Needed for PRIdMAX.
42319         Reported by Peter Fales in
42320         <http://lists.gnu.org/archive/html/bug-coreutils/2007-12/msg00148.html>.
42321
42322 2008-01-08  Bruno Haible  <bruno@clisp.org>
42323
42324         * modules/unictype/category-of (Depends-on): Add
42325         unictype/category-none.
42326         * modules/unictype/category-and-tests (Depends-on): Add
42327         unictype/category-{L,N,Lu,Nd}.
42328         * modules/unictype/category-and-not-tests (Depends-on): Likewise.
42329         * modules/unictype/category-or-tests (Depends-on): Add
42330         unictype/category-{L,N}.
42331         * modules/unictype/category-name-tests (Depends-on): Add
42332         unictype/category-{Z,Nl}.
42333         Reported by Simon Josefsson.
42334
42335 2008-01-08  Bruno Haible  <bruno@clisp.org>
42336
42337         * lib/str-kmp.h (knuth_morris_pratt_unibyte): Document the calling
42338         convention better.
42339         * lib/mbsstr.c (knuth_morris_pratt_multibyte): Likewise.
42340         * lib/mbscasestr.c (knuth_morris_pratt_multibyte): Likewise.
42341         Reported by Peter Miller <millerp@canb.auug.org.au>.
42342
42343 2008-01-08  Eric Blake  <ebb9@byu.net>
42344
42345         Rewrite memmem to guarantee linear complexity without malloc.
42346         * lib/memmem.c (memmem): Use Two-Way rather than
42347         Knuth-Morris-Pratt, to allow O(1) space usage.
42348         (critical_factorization, two_way_short_needle)
42349         (two_way_long_needle): New functions.
42350         (knuth_morris_pratt): Delete.
42351         * modules/memmem (Depends-on): No longer need malloca or stdbool.
42352         Add stdint.
42353         * tests/test-memmem.c (main): Add tests for periodic needle and
42354         sublinear performance.
42355         * doc/functions/memmem.texi (memmem): Document other deficiencies
42356         in cygwin and older glibc.
42357
42358 2008-01-08  Bruno Haible  <bruno@clisp.org>
42359
42360         * modules/memmem-tests (Makefile.am): Remove TESTS_ENVIRONMENT
42361         augmentation.
42362
42363 2008-01-08  Mike Frysinger  <vapier@gentoo.org>
42364
42365         Add a configure time option: --disable-acl.
42366         * m4/acl.m4 (gl_FUNC_ACL): Wrap all ACL logic in a call to
42367         AC_ARG_ENABLE(acl).
42368
42369 2008-01-06  Simon Josefsson  <simon@josefsson.org>
42370
42371         * tests/test-localename.c: Don't include obsolete "setenv.h".
42372
42373         * modules/localename-tests (Depends-on): Need unsetenv.
42374
42375 2008-01-08  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
42376
42377         * DEPENDENCIES: Require Texinfo version 4.6 or newer.
42378
42379 2008-01-06  Colin Watson  <cjwatson@debian.org>
42380
42381         * users.txt: Add man-db.
42382
42383 2008-01-07  Bruno Haible  <bruno@clisp.org>
42384
42385         * doc/gnulib-intro.texi (Library vs Reusable Code): Restore the
42386         previous section name.
42387
42388 2008-01-07  Bruno Haible  <bruno@clisp.org>
42389
42390         * lib/progname.c (set_program_name): Don't strip off a leading
42391         "lt-" prefix outside a .libs directory.
42392         Suggested by Paul Eggert.
42393
42394 2008-01-01  Sylvain Beucler  <beuc@gnu.org>
42395             Bruno Haible  <bruno@clisp.org>
42396
42397         Improve memory cleanup in 'relocatable' module.
42398         * lib/relocatable.h (compute_curr_prefix): Change return type to
42399         'char *'.
42400         * lib/relocatable.c (compute_curr_prefix): Change return type to
42401         'char *'. Free curr_installdir after use.
42402         (relocate): Free curr_prefix_better after use.
42403         * lib/progreloc.c (prepare_relocate): Free curr_prefix after use.
42404
42405 2008-01-01  Bruno Haible  <bruno@clisp.org>
42406
42407         * tests/test-wcwidth.c (main): Relax test of U+2060. Avoids a test
42408         failure on older glibc systems.
42409         Reported by Peter Fales <psfales@alcatel-lucent.com>.
42410
42411 2008-01-05  Eric Blake  <ebb9@byu.net>
42412
42413         Avoid quadratic system memmem.
42414         * m4/memmem.m4 (gl_FUNC_MEMMEM): Check for quadratic memmem.
42415         Reported by Ralf Wildenhues.
42416
42417         Fix memmem test for mingw.
42418         * modules/memmem-tests (configure.ac): Check for alarm.
42419         * tests/test-memmem.c (main): Avoid alarm on platforms that lack
42420         it.
42421         * doc/functions/memmem.texi: New file.
42422         * doc/gnulib.texi (Function Substitutes): Add memmem.
42423         Reported by Bruno Haible.
42424
42425 2008-01-04  Bruno Haible  <bruno@clisp.org>
42426
42427         * m4/strcase.m4 (gl_FUNC_STRCASECMP, gl_FUNC_STRNCASECMP):
42428         Require gl_HEADER_STRINGS_H_DEFAULTS, not
42429         gl_HEADER_STRING_H_DEFAULTS.
42430
42431 2008-01-04  Eric Blake  <ebb9@byu.net>
42432
42433         Shorten duration of memmem test.
42434         * tests/test-memmem.c (main): Use alarm to declare failure if test
42435         is taking too long.
42436         Reported by Ralf Wildenhues.
42437
42438 2007-12-21  Simon Josefsson  <simon@josefsson.org>
42439
42440         * modules/relocatable-prog-wrapper (Depends-on): Add intprops and
42441         string, needed by strerror.
42442
42443 2008-01-03  Colin Watson  <cjwatson@debian.org>
42444             Bruno Haible  <bruno@clisp.org>
42445
42446         * doc/gnulib-tool.texi (Localization): New section.
42447
42448 2008-01-02  Bruno Haible  <bruno@clisp.org>
42449
42450         * lib/memmem.c (knuth_morris_pratt, memmem): Change all 'char *'
42451         variables to 'unsigned char *' type.
42452         Reported by Paul Eggert.
42453
42454 2008-01-02  Jim Meyering  <jim@meyering.net>
42455
42456         * lib/version-etc.c (COPYRIGHT_YEAR): Increase for new year.
42457
42458 2007-12-31  Jim Meyering  <jim@meyering.net>
42459
42460         Avoid use of private FTS type name.
42461         * lib/fts.c (fts_sort): Use FTSENT rather than "struct _ftsent".
42462
42463 2007-12-30  Karl Berry  <karl@gnu.org>
42464
42465         * doc/gnulib.texi (Library vs. Reusable Code): remove period, to
42466         work around defect in Texinfo and/or the standalone Info browser.
42467
42468 2007-12-30  Bruno Haible  <bruno@clisp.org>
42469
42470         Unify 5 copies of the KMP code.
42471         * lib/str-kmp.h: New file.
42472         * lib/c-strcasestr.c: Include str-kmp.h.
42473         (knuth_morris_pratt): Remove function.
42474         (c_strcasestr): Update.
42475         * lib/c-strstr.c: Include str-kmp.h.
42476         (knuth_morris_pratt): Remove function.
42477         (c_strcasestr): Update.
42478         * lib/mbscasestr.c: Include str-kmp.h.
42479         (knuth_morris_pratt_unibyte): Remove function.
42480         * lib/mbsstr.c: Include str-kmp.h.
42481         (knuth_morris_pratt_unibyte): Remove function.
42482         * lib/strcasestr.c: Include str-kmp.h.
42483         (knuth_morris_pratt): Remove function.
42484         (strcasestr): Update.
42485         * modules/c-strcasestr (Files): Add lib/str-kmp.h.
42486         * modules/c-strstr (Files): Likewise.
42487         * modules/mbscasestr (Files): Likewise.
42488         * modules/mbsstr (Files): Likewise.
42489         * modules/strcasestr (Files): Likewise.
42490         Suggested by Paul Eggert.
42491
42492 2007-12-30  Bruno Haible  <bruno@clisp.org>
42493
42494         * lib/xmalloca.c (xmmalloca): Don't define if HAVE_ALLOCA is not
42495         defined.
42496
42497 2007-12-30  Bruno Haible  <bruno@clisp.org>
42498
42499         * lib/xmalloca.h: Include xalloc.h.
42500         (xnmalloca): New macro.
42501
42502 2007-12-30  Bruno Haible  <bruno@clisp.org>
42503
42504         * lib/malloca.h (nmalloca): New macro.
42505         * lib/c-strcasestr.c (knuth_morris_pratt): Use it.
42506         * lib/c-strstr.c (knuth_morris_pratt): Likewise.
42507         * lib/mbscasestr.c (knuth_morris_pratt_unibyte,
42508         knuth_morris_pratt_multibyte): Likewise.
42509         * lib/mbsstr.c (knuth_morris_pratt_unibyte,
42510         knuth_morris_pratt_multibyte): Likewise.
42511         * lib/memmem.c (knuth_morris_pratt): Likewise.
42512         * lib/strcasestr.c (knuth_morris_pratt): Likewise.
42513
42514 2007-12-25  Bruno Haible  <bruno@clisp.org>
42515
42516         Fixup after 2007-10-17 commit. Ensure that 'glob' stays under LGPLv2+.
42517         * lib/glob.c: Don't include openat.h.
42518         (link_exists2_p): Add back the code that deals with the
42519         !GLOB_ALTDIRFUNC case.
42520         (link_exists_p) [!_LIBC && !HAVE_FSTATAT]: Just call link_exists2_p and
42521         let it do the filename concatenation.
42522         * m4/glob.m4 (gl_PREREQ_GLOB): Add check for fstatat.
42523         * modules/glob (Depends-on): Remove openat.
42524
42525 2007-12-31  Bruno Haible  <bruno@clisp.org>
42526
42527         * modules/dirfd (License): Change to LGPLv2+.
42528         Approved by Jim Meyering.
42529
42530 2007-12-29  Paul Eggert  <eggert@cs.ucla.edu>
42531
42532         * lib/memmem.c (knuth_morris_pratt): Check for size_t overflow
42533         when multiplying M by sizeof (size_t).
42534
42535 2007-12-10  Martin Lambers  <marlam@marlam.de>
42536
42537         Override getpagesize on mingw.
42538         * lib/getpagesize.c: New file.
42539         * m4/getpagesize.m4 (gl_FUNC_GETPAGESIZE): Enable replacement on mingw.
42540         * modules/getpagesize (Files): Add lib/getpagesize.c.
42541         * lib/unistd.in.h (getpagesize): Declare if we are using a replacement.
42542         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize
42543         REPLACE_GETPAGESIZE.
42544         * modules/unistd (Makefile.am): Substitute REPLACE_GETPAGESIZE.
42545
42546 2007-12-25  Bruno Haible  <bruno@clisp.org>
42547
42548         * modules/localcharset (Notice): New field.
42549         (configure.ac): Define LOCALCHARSET_TESTS_ENVIRONMENT.
42550         Suggested by Ben Pfaff <blp@cs.stanford.edu>.
42551
42552 2007-12-25  Paul Eggert  <eggert@cs.ucla.edu>
42553             Bruno Haible  <bruno@clisp.org>
42554
42555         Avoid using the syntax symbol() in formatted documentation.
42556         * MODULES.html.sh (func_module): When replacing symbol() with a
42557         hyperlink, remove the parentheses. Show an error if some remain.
42558         Recognize and render the '...' syntax.
42559         * doc/alloca-opt.texi: Remove parentheses from symbol reference.
42560         Rework. Add paragraph about GCC's inlining.
42561         * doc/alloca.texi: Likewise.
42562         * doc/error.texi: Remove parentheses from symbol reference.
42563         * doc/gnulib-intro.texi: Likewise.
42564         * doc/gnulib.texi (alloca, alloca-opt): New nodes.
42565         * modules/fnmatch (Description): Reword to say "the ... function".
42566         * modules/full-read (Description): Likewise.
42567         * modules/full-write (Description): Likewise.
42568         * modules/safe-read (Description): Likewise.
42569         * modules/safe-write (Description): Likewise.
42570         * modules/strchrnul (Description): Likewise.
42571         * modules/trim (Description): Likewise.
42572         * modules/error (Description): Remove parentheses from symbol
42573         references.
42574         * modules/verror (Description): Likewise.
42575         Reported by Karl Berry.
42576
42577 2007-12-25  Bruno Haible  <bruno@clisp.org>
42578
42579         Fixup after 2007-10-16 commit.
42580         * lib/glob.c (glob_in_dir): Don't use ISO C99 syntax.
42581
42582 2007-12-24  Bruno Haible  <bruno@clisp.org>
42583
42584         Make --enable-relocatable work with DESTDIR.
42585         * build-aux/install-reloc: Accept another argument 'destdir'. Use it
42586         to compute installdir from destprog.
42587         * m4/relocatable.m4 (gl_RELOCATABLE_BODY): In INSTALL_PROGRAM_ENV,
42588         also set the RELOC_DESTDIR variable.
42589         Reported by Ð›ÐµÐ²Ð°ÑˆÐµÐ² Ð˜Ð²Ð°Ð½ <octagram@bluebottle.com>.
42590
42591 2007-12-24  Bruno Haible  <bruno@clisp.org>
42592
42593         Fix link error due to xalloc_die().
42594         * lib/progreloc.c: When NO_XMALLOC is defined, use areadlink instead
42595         of xreadlink.
42596         * lib/relocwrapper.c: Update comments.
42597         * build-aux/install-reloc: Remove xreadlink.c from file list.
42598         * modules/relocatable-prog-wrapper (Files): Remove xreadlink.h and
42599         xreadlink.c.
42600         Reported by Ð›ÐµÐ²Ð°ÑˆÐµÐ² Ð˜Ð²Ð°Ð½ <octagram@bluebottle.com>.
42601
42602 2007-12-24  Bruno Haible  <bruno@clisp.org>
42603
42604         Split setenv module into setenv and unsetenv. Get rid of setenv.h.
42605         * lib/setenv.h: Remove file.
42606         * lib/stdlib.in.h (setenv, unsetenv): New declarations, moved here from
42607         lib/setenv.h.
42608         * modules/setenv (Files): Remove lib/setenv.h, lib/unsetenv.c.
42609         (Depends-on): Add stdlib.
42610         (configure.ac): Invoke gl_STDLIB_MODULE_INDICATOR. Don't invoke
42611         gl_FUNC_UNSETENV.
42612         (Include): Replace setenv.h with <stdlib.h>.
42613         * modules/unsetenv: New file.
42614         * lib/setenv.c: Include <stdlib.h> first, after alloca.h.
42615         * lib/unsetenv.c: Include <stdlib.h> first.
42616         * m4/setenv.m4 (gl_FUNC_SETENV, gl_FUNC_SETENV_SEPARATE): Require
42617         gl_STDLIB_H_DEFAULTS. Conditionally set HAVE_SETENV to 0.
42618         (gl_FUNC_UNSETENV): Require gl_STDLIB_H_DEFAULTS. Conditionally set
42619         HAVE_UNSETENV to 0. Set VOID_UNSETENV as an AC_SUBSTed variable.
42620         * modules/stdlib (Makefile.am): Substitute also GNULIB_SETENV,
42621         HAVE_SETENV, GNULIB_UNSETENV, HAVE_UNSETENV, VOID_UNSETENV.
42622         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize GNULIB_SETENV,
42623         HAVE_SETENV, GNULIB_UNSETENV, HAVE_UNSETENV, VOID_UNSETENV.
42624         * doc/functions/unsetenv.texi: Update.
42625         * modules/xsetenv (Depends-on): Add unsetenv.
42626         * modules/getdate (Depends-on): Likewise.
42627         * lib/xsetenv.h: Include <stdlib.h> instead of setenv.h.
42628         * lib/xsetenv.c: Don't include setenv.h.
42629         * lib/getdate.y: Likewise.
42630         * lib/relocwrapper.c: Likewise.
42631         * modules/relocatable-prog-wrapper (Files): Remove lib/setenv.h.
42632         (Depends-on): Add stdlib.
42633         * NEWS: Mention the changes.
42634         Reported by Ð›ÐµÐ²Ð°ÑˆÐµÐ² Ð˜Ð²Ð°Ð½ <octagram@bluebottle.com>.
42635
42636 2007-12-23  Bruno Haible  <bruno@clisp.org>
42637
42638         * lib/memmem.c (memmem): Use lowercase variable names. Tab
42639         indentation.
42640
42641 2007-12-23  Bruno Haible  <bruno@clisp.org>
42642
42643         * lib/c-strcasestr.c: Add more comments.
42644         * lib/c-strstr.c: Likewise.
42645         * lib/mbscasestr.c: Likewise.
42646         * lib/mbsstr.c: Likewise.
42647         * lib/strcasestr.c: Likewise.
42648         * lib/memmem.c: Likewise.
42649
42650 2007-12-23  Bruno Haible  <bruno@clisp.org>
42651
42652         * tests/test-memmem.c: Include <string.h> first.
42653
42654 2007-12-22  Bruno Haible  <bruno@clisp.org>
42655
42656         * gnulib-tool (func_create_testdir): Change $auxdir while generating
42657         the contents of $testsbase.
42658         Reported by Ralf Wildenhues.
42659
42660 2007-12-22  Bruno Haible  <bruno@clisp.org>
42661
42662         * gnulib-tool (func_emit_tests_Makefile_am): Replace local_ldadd with
42663         two variables local_ldadd_before, local_ldadd_last.
42664
42665 2007-12-20  Eric Blake  <ebb9@byu.net>
42666
42667         Work around circular library issue when cross-compiling.
42668         * lib/progname.c (set_program_name): Use strncmp, not memcmp, so
42669         that progname.o does not need to pull in rpl_memcmp.
42670
42671 2007-12-19  Eric Blake  <ebb9@byu.net>
42672
42673         Fix memmem to avoid O(n^2) worst-case complexity.
42674         * lib/memmem.c (knuth_morris_pratt): New function.
42675         (memmem): Use it if first few naive iterations fail.
42676         * m4/memmem.m4 (gl_FUNC_MEMMEM): Detect cygwin bug.
42677         * modules/memcmp (License): Set to LGPLv2+, not LGPL.
42678         * modules/memchr (License): Likewise.
42679         * modules/memmem (Depends-on): Add memcmp, memchr, stdbool, and
42680         malloca.
42681         * tests/test-memmem.c: Rewrite, borrowing ideas from
42682         test-mbsstr1.c; the old version wouldn't even compile!
42683         * modules/memmem-tests: New file.
42684         * lib/string.in.h (rpl_memmem): Add declaration.
42685         * modules/string (Makefile.am): Substitute REPLACE_MEMMEM.
42686         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Default for
42687         REPLACE_MEMMEM.
42688
42689 2007-12-18  Paul Eggert  <eggert@cs.ucla.edu>
42690
42691         Fix problem with _GL_JUST_INCLUDE_SYSTEM_INTTYPES_H on VMS.
42692         * lib/stdint.in.h (_GL_JUST_INCLUDE_SYSTEM_INTTYPES_H): Define
42693         before any system include files, and undef after them all.  This
42694         should fix a problem on VMS reported by John E. Malmberg in
42695         <http://lists.gnu.org/archive/html/bug-gnulib/2007-12/msg00118.html>.
42696
42697 2007-12-17  Eric Blake  <ebb9@byu.net>
42698
42699         Revert addition of verify, for BSD/OS.
42700         * lib/fseeko.c [!HAVE_FSEEKO]: Allow off_t > long, even though it
42701         can't handle large files, for the sake of obsolete platforms.
42702         * modules/fseeko (Depends-on): Remove verify.
42703         * doc/functions/fseeko.texi (fseeko): Document BSD/OS limitation.
42704         * doc/functions/ftello.texi (ftello): Likewise.
42705         * doc/functions/fgetpos.texi (fgetpos): Likewise.
42706         Reported by Larry Jones.
42707
42708 2007-12-17  Petr Salinger  <Petr.Salinger@seznam.cz>
42709
42710         getcwd.c: Use a more readable witness: HAVE_OPENAT_SUPPORT
42711         * lib/getcwd.c: Define and use HAVE_OPENAT_SUPPORT, in place of AT_FDCWD.
42712
42713 2007-12-17  Jim Meyering  <meyering@redhat.com>
42714
42715         Port to GNU/kFreeBSD - FreeBSD kernel + GNU libc,
42716         which has no openat syscall, yet <fcntl.h> does define AT_FDCWD.
42717         * lib/getcwd.c: Undef AT_FDCWD if there is no openat function.
42718         * modules/getcwd (Depends-on): Add openat.
42719         Reported by Petr Salinger.
42720
42721 2007-12-17  Bruno Haible  <bruno@clisp.org>
42722
42723         * m4/printf.m4 (gl_PRINTF_INFINITE_LONG_DOUBLE): Use GL_NOCRASH to
42724         avoid a segmentation fault of the configure test on x86_64 systems.
42725
42726 2007-12-15  Jim Meyering  <meyering@redhat.com>
42727
42728         * build-aux/gnupload (GPG): Don't hard-code absolute name of gpg binary.
42729
42730 2007-12-13  Eric Blake  <ebb9@byu.net>
42731
42732         Another fseek test.
42733         * tests/test-fseek.c (main): Also test ungetc handling.
42734         * tests/test-fseeko.c (main): Likewise.
42735         * modules/fseeko (Depends-on): Add verify.
42736         * lib/fseeko.c [!HAVE_FSEEKO]: Verify that off_t is not too
42737         large.
42738         Reported by Larry Jones.
42739
42740         Fix fseeko on mingw.
42741         * lib/fseeko.c (rpl_fseeko) [_IOERR]: Reset EOF flag on successful
42742         seek.
42743
42744         Beef up fseek tests.
42745         * tests/test-fseek.c (main): Also test eof handling.
42746         * tests/test-fseeko.c (main): Likewise.
42747         Reported by Larry Jones.
42748
42749 2007-12-13  Larry Jones  <lawrence.jones@siemens.com>  (tiny change)
42750
42751         Fix fseeko on BSD-based platforms.
42752         * lib/fseeko.c (rpl_fseeko) [__sferror]: Reset EOF flag on
42753         successful seek.
42754
42755 2007-12-12  Eric Blake  <ebb9@byu.net>
42756
42757         Allow circular dependency of separate libtests.a
42758         * gnulib-tool (func_emit_tests_Makefile_am): Add AM_LIBTOOLFLAGS
42759         when use_libtests.
42760
42761 2007-12-11  Eric Blake  <ebb9@byu.net>
42762
42763         Fix bug with -0.0L in previous patch.
42764         * lib/isnan.c (rpl_isnanl): Make robust to -0.0L and pad bits.
42765         * tests/test-isnan.c (main): Also test on zeroes.
42766         * tests/test-isnanf.c (main): Likewise.
42767         * tests/test-isnanl.h (main): Likewise.
42768
42769         Detect pseudo-denormals on x86 even when cross-compiling.
42770         * lib/isnan.c (rpl_isnanl) [!KNOWN_EXPBIT0_LOCATION
42771         && USE_LONG_DOUBLE && x86]: Add one more check to filter out
42772         invalid bit patterns that happen to satisfy ==.
42773
42774         Avoid link failures with separate libtests.a.
42775         * gnulib-tool (func_emit_tests_Makefile_am): Also list local_ldadd
42776         last, to satisfy circular dependencies.
42777
42778 2007-12-11  Eric Blake  <ebb9@byu.net>
42779         and Bruno Haible  <bruno@clisp.org>
42780
42781         Fix OpenBSD 4.0 <float.h> handling of long double.
42782         * m4/float_h.m4 (gl_FLOAT_H): Also claim OpenBSD is broken.
42783         * lib/float.in.h [__OpenBSD__]: Add fixes for OpenBSD.
42784         * doc/headers/float.texi (float.h): Document OpenBSD bug.
42785
42786 2007-12-11  Jim Meyering  <meyering@redhat.com>
42787
42788         * users.txt: Add libvirt.
42789
42790         Support versions of autoconf prior to 2.59c.
42791         * gnulib-tool (func_emit_initmacro_done): Define m4_foreach_w
42792         if it is not already defined.
42793
42794 2007-12-09  Bruno Haible  <bruno@clisp.org>
42795
42796         Let 'gnulib-tool --import' collect sources needed for the tests in
42797         tests/ rather than in lib/.
42798         * gnulib-tool (func_emit_tests_Makefile_am): Accept use_libtests
42799         argument. If true, add rules to generate libtests.a, and put libtests.a
42800         into $(LDADD). Consider source files in subdirectories and set
42801         uses_subdirs.
42802         (func_emit_initmacro_start, func_emit_initmacro_end,
42803         func_emit_initmacro_done): Pass all arguments explicitly.
42804         (func_import): Determine two module lists main_modules,
42805         testsrelated_modules. Determine use_libtests. Determine two variables
42806         sed_transform_main_lib_file, sed_transform_testsrelated_lib_file
42807         instead of just sed_transform_lib_file. Determine two variables
42808         main_files and testsrelated_files. Compute 'files' as the union of
42809         both. Adjust sed_rewrite_old_files, sed_rewrite_new_files,
42810         func_add_or_update. In the generated gnulib-comp.m4, collect the
42811         object files for tests/ in different variables than those for lib/.
42812         Substitute LIBTESTS_LIBDEPS.
42813         (func_create_testdir): Combine the uses_subdirs results from
42814         func_emit_lib_Makefile_am and from func_emit_tests_Makefile_am.
42815
42816 2007-12-09  Bruno Haible  <bruno@clisp.org>
42817
42818         * gnulib-tool (func_emit_tests_Makefile_am): Expand references to
42819         the build-aux directory.
42820
42821 2007-12-09  Bruno Haible  <bruno@clisp.org>
42822
42823         * gnulib-tool (func_emit_tests_Makefile_am): Remove redundant code
42824         introduced on 2006-09-09.
42825
42826 2007-12-07  Jim Meyering  <meyering@redhat.com>
42827
42828         Let these macros work also with autoconf-2.59.
42829         * m4/getline.m4 (gl_FUNC_GETLINE): Require only autoconf-2.59.  2.60
42830         is not needed, since gnulib now permits use of AC_CHECK_DECLS_ONCE.
42831         * m4/getdelim.m4 (gl_FUNC_GETDELIM): Likewise.
42832
42833 2007-12-06  Jim Meyering  <meyering@redhat.com>
42834
42835         Avoid a configure-time syntax error in gl_FUNC_ACL.
42836         * m4/acl.m4 (gl_FUNC_ACL): Be careful to check for the acl_trivial
42837         function in each branch, before testing the cache variable.
42838
42839 2007-12-04  Eric Blake  <ebb9@byu.net>
42840
42841         Make scripts executable.
42842         * build-aux/config.guess: Add execute permissions.
42843         * build-aux/config.sub: Likewise.
42844         * build-aux/gendocs.sh: Likewise.
42845
42846         Fix frexp on mingw.
42847         * m4/frexp.m4 (gl_FUNC_FREXP_WORKS): Detect mingw bug when
42848         cross-compiling.
42849         * doc/functions/frexp.texi (frexp): Document the bug.
42850
42851         Make cygwin fseeko check more reliable.
42852         * m4/stdio_h.m4 (gl_STDIN_LARGE_OFFSET) [__CYGWIN__]: Use cygwin
42853         version numbers, rather than unrelated feature check.
42854         * doc/functions/fseeko.texi (fseeko): Tweak failure report.
42855         * doc/functions/ftello.texi (ftello): Likewise.
42856         Reported by Bruno Haible.
42857
42858         * m4/strerror.m4: Bump version number.
42859
42860 2007-12-03  Bruno Haible  <bruno@clisp.org>
42861
42862         * doc/functions/mprotect.texi: Mention the mingw problem.
42863
42864 2007-12-03  Eric Blake  <ebb9@byu.net>
42865
42866         * m4/strerror.m4 (gl_FUNC_STRERROR_SEPARATE): Ensure
42867         REPLACE_STRERROR is initialized before this macro.
42868
42869 2007-12-03  Paul Eggert  <eggert@cs.ucla.edu>
42870
42871         Add support for Solaris 10 ACLs.  Also, ACLs are Gnulib, not Autoconf.
42872         * modules/acl (configure.ac): Rename AC_FUNC_ACL to gl_FUNC_ACL.
42873         * m4/acl.m4 (gl_FUNC_ACL): Renamed from AC_FUNC_ACL.  On Solaris,
42874         put -lsec in even for programs other than 'ls'.  This fixes a problem
42875         for gettext reported by Bruno Haible in
42876         <http://lists.gnu.org/archive/html/bug-gnulib/2007-12/msg00007.html>.
42877         * lib/acl.c (copy_acl, qset_acl) [USE_ACL && defined ACL_NO_TRIVIAL]:
42878         Add support for Solaris 10.  This isn't efficient, but should get the
42879         job done for now.
42880
42881 2007-12-03  James Youngman  <jay@gnu.org>
42882
42883         * doc/regexprops-generic.texi: change "an close-group" to "a
42884         close-group" and "illegal" to "not allowed".
42885
42886 2007-11-23  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
42887
42888         * lib/unictype/pr_byname.c: Include unictype/pr_byname.h instead of
42889         pr_byname.h. Needed for the rare case when the maintainer has done
42890         "make maintainer-clean" in the source directory and then attempts a
42891         build outside the source directory.
42892         * lib/unictype/scripts.c: Include unictype/scripts_byname.h instead of
42893         scripts_byname.h.
42894
42895 2007-12-02  Martin Lambers <marlam@marlam.de>
42896             Bruno Haible  <bruno@clisp.org>
42897
42898         * lib/getpagesize.h: Remove file.
42899         * lib/unistd.in.h: Include declaration of getpagesize here.
42900         * m4/getpagesize.m4 (gl_FUNC_GETPAGESIZE): Renamed from gl_GETPAGESIZE.
42901         Invoke gl_UNISTD_H_DEFAULTS. Set HAVE_GETPAGESIZE, HAVE_OS_H,
42902         HAVE_SYS_PARAM_H.
42903         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize GNULIB_GETPAGESIZE,
42904         HAVE_GETPAGESIZE, HAVE_OS_H, HAVE_SYS_PARAM_H.
42905         * modules/getpagesize (Files): Remove lib/getpagesize.h.
42906         (Depends-on): Add unistd.
42907         (configure.ac): Invoke gl_UNISTD_MODULE_INDICATOR.
42908         (Include): Use <unistd.h> instead of getpagesize.h.
42909         * modules/unistd (Makefile.am): Substitute also GNULIB_GETPAGESIZE,
42910         HAVE_GETPAGESIZE, HAVE_OS_H, HAVE_SYS_PARAM_H.
42911         * m4/pagealign_alloc.m4 (gl_PREREQ_PAGEALIGN_ALLOC): Remove
42912         gl_GETPAGESIZE invocation, already handled by module dependency.
42913         * lib/pagealign_alloc.c: Don't include getpagesize.h.
42914
42915 2007-12-02  Bruno Haible  <bruno@clisp.org>
42916
42917         * modules/strings-tests: New file.
42918         * tests/test-strings.c: New file.
42919
42920         Move declarations of str{,n}casecmp from <string.h> to <strings.h>.
42921         * lib/strings.in.h: New file.
42922         * lib/string.in.h (strcasecmp, strncasecmp): Remove declarations.
42923         * m4/strings_h.m4: New file.
42924         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Remove initialization
42925         of HAVE_STRCASECMP, HAVE_DECL_STRNCASECMP.
42926         * modules/strings: New file.
42927         * modules/string (Makefile.am): Update.
42928         * modules/strcase (Include): Mention <strings.h>, not <string.h>.
42929         Reported by Karl Berry.
42930
42931 2007-12-01  Eric Blake  <ebb9@byu.net>
42932
42933         * m4/stdio_h.m4 (gl_STDIN_LARGE_OFFSET) [__CYGWIN__]: Rewrite to
42934         accomodate fix in cygwin 1.5.25.
42935
42936 2007-12-01  Jim Meyering  <meyering@redhat.com>
42937
42938         Fix a bug that inhibited much of the utf8-optimization in regcomp.c.
42939         * lib/regcomp.c (optimize_utf8): Fix a typo, s/idx/ctx_type/,
42940         that would inhibit utf8-optimization of a regexp containing line-
42941         or buffer-anchors, e.g., `^', `$'.
42942
42943 2007-11-30  Bruno Haible  <bruno@clisp.org>
42944
42945         * lib/lock.h (gl_recursive_lock_init) [PTHREAD &&
42946         PTHREAD_RECURSIVE_MUTEX_INITIALIZER]: Call
42947         glthread_recursive_lock_init.
42948         * lib/lock.c (glthread_recursive_lock_init)
42949         [PTHREAD_RECURSIVE_MUTEX_INITIALIZER]: New function.
42950         Reported by Yoann Vandoorselaere <yoann.v@prelude-ids.com>.
42951
42952 2007-11-28  Paul Eggert  <eggert@cs.ucla.edu>
42953
42954         New function qset_acl, like set_acl but with syscall semantics.
42955         * lib/acl.h (qset_acl): New decl.
42956         * lib/acl.c (qset_acl): New function.
42957         (set_acl): Use new function.  Use more-consistent diagnostics.
42958
42959 2007-11-28  Jim Meyering  <meyering@redhat.com>
42960
42961         * modules/physmem (License): Change from GPL to LGPLv2+.
42962
42963 2007-11-26  Bruno Haible  <bruno@clisp.org>
42964
42965         * lib/vasnprintf.c (decode_long_double): Don't abort if the
42966         'long double' type has excess precision.
42967         Reported by Jim Meyering in
42968         <http://lists.gnu.org/archive/html/bug-gnulib/2007-11/msg00120.html>.
42969
42970 2007-11-25  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
42971
42972         * doc/fdl.texi, doc/gpl-3.0.texi, doc/lgpl-3.0.texi:
42973         Sync from <http://gnu.org/licenses>.
42974         * modules/agpl-3.0, doc/agpl-3.0.texi: New module,
42975         with license text from same location.
42976         * doc/maintain.texi, doc/standards.texi:  Sync from
42977         <http://savannah.gnu.org/projects/gnustandards>.
42978
42979 2007-11-22  OndÅ™ej Vašík  <ovasik@redhat.com>
42980         and Jim Meyering  <meyering@redhat.com>
42981
42982         Adjust getdate' grammar to accept a slightly more regular language.
42983         E.g., accept "YYYYMMDD +N days" as well as "YYYYMMDD N days".
42984         Before, the former was rejected.
42985         * lib/getdate.y (digits_to_date_time): New function, factored
42986         out of ...
42987         (number): ...here.  Just call digits_to_date_time.
42988         (hybrid): New non-terminal to handle an <unsigned number,
42989         signed relative offset> sequence consistently.
42990
42991 2007-11-18  Jim Meyering  <meyering@redhat.com>
42992
42993         Pull my changes from coreutils:
42994         bootstrap: fix typo to enable use of $gnulib_tool_option_extras.
42995         * build-aux/bootstrap (gnulib_tool_options): Add a space before the
42996         use of $gnulib_tool_option_extras, so that it's separated from the
42997         preceding argument.
42998
42999         Fix bootstrap failure to handle files like lib/uniwidth/cjk.h.
43000         * build-aux/bootstrap (cp_mark_as_generated): Create any required
43001         parent destination directories before copying a file into place.
43002
43003 2007-11-18  Sergey Poznyakoff  <gray@gnu.org.ua>
43004
43005         bootstrap: work also with 4-argument variant of AC_INIT
43006         * build-aux/bootstrap (gnulib_extra_files): Adjust sed command.
43007
43008 2007-11-16  Paul Eggert  <eggert@cs.ucla.edu>
43009
43010         Port test-getaddrinfo to Solaris.
43011         Problem reported by Bruno Haible in
43012         <http://lists.gnu.org/archive/html/bug-gnulib/2007-03/msg00171.html>.
43013         * tests/test-getaddrinfo.c (simple): Add a comment asking for an
43014         explanation of setting 'hints'.
43015         Don't reject an implementation merely because it returns EAI_SERVICE.
43016         (EAI_SERVICE): Define to 0 if not defined.
43017
43018 2007-11-15  Paul Eggert  <eggert@cs.ucla.edu>
43019
43020         The license of gnu-make and posix-shell is now "GPLed build tool".
43021         * modules/gnu-make (License): Likewise.
43022         * modules/posix-shell (License): Likewise.
43023
43024         New module posix-shell, for determining a POSIX shell
43025         or perhaps something that is close enough to a POSIX shell.
43026         * m4/posix-shell.m4: New file.
43027         * modules/posix-shell: New file.
43028
43029         * MODULES.html.sh: Mention new module.
43030
43031         New module gnu-make, for determining whether we're using GNU Make.
43032         * m4/gnu-make.m4: New file.
43033         * modules/gnu-make: New file.
43034         * MODULES.html.sh: Mention new module.
43035
43036 2007-11-14  Jim Meyering  <meyering@redhat.com>
43037
43038         Define a sometimes-link-required function using ARGMATCH_DIE_DECL.
43039         * tests/test-argmatch.c (ARGMATCH_DIE_DECL): When defined,
43040         use this macro to create a function _definition_.
43041         Remove useless "#undef ARGMATCH_DIE".
43042
43043 2007-11-14  Bruno Haible  <bruno@clisp.org>
43044
43045         * lib/config.charset: Update for OpenBSD 4.1.
43046         Reported and helped by Ben Pfaff <blp@cs.stanford.edu>.
43047
43048 2007-11-12  Paul Eggert  <eggert@cs.ucla.edu>
43049
43050         Document 64-bit #if problems in stdint.texi.
43051         * doc/headers/stdint.texi (stdint.h): Mention problems with
43052         64-bit-#if, and how to work around them.
43053
43054         Don't insist on 'long long int' support in the preprocessor.  It
43055         breaks too many things.  For example, PRIdMAX still uses a 'long
43056         long int' format with the latest Sun compiler, even though
43057         HAVE_LONG_LONG_INT isn't defined due to that compiler's
43058         preprocessor problem.  This causes the latest coreutils to dump
43059         core on Solaris 10 sparc with the Sun C compiler.
43060         Instead, fix the 2007-10-16 problem in a different way, by evaluating
43061         the troublesome expressions at configure-time, not at #if-time.
43062         * m4/longlong.m4 (_AC_TYPE_LONG_LONG_SNIPPET): Don't test the
43063         preprocessor.
43064         * m4/inttypes.m4 (gl_INTTYPES_H): Move the #if checks into
43065         compile-time C checks, done at 'configure'-time.
43066         (gl_INTTYPES_CHECK_LONG_LONG_INT_CONDITION): New macro.
43067         * modules/inttypes (Makefile): Substitute the new symbols that
43068         gl_INTTYPES_H now generates.
43069         * lib/inttypes.in.h: Don't use constants wider than 'long' in #if.
43070
43071 2007-11-12  Bruno Haible  <bruno@clisp.org>
43072
43073         Tests for Unicode character classification functions.
43074
43075         * modules/unictype/bidicategory-byname-tests: New file.
43076         * modules/unictype/bidicategory-name-tests: New file.
43077         * modules/unictype/bidicategory-of-tests: New file.
43078         * modules/unictype/bidicategory-test-tests: New file.
43079         * modules/unictype/block-list-tests: New file.
43080         * modules/unictype/block-of-tests: New file.
43081         * modules/unictype/block-test-tests: New file.
43082         * modules/unictype/category-C-tests: New file.
43083         * modules/unictype/category-Cc-tests: New file.
43084         * modules/unictype/category-Cf-tests: New file.
43085         * modules/unictype/category-Cn-tests: New file.
43086         * modules/unictype/category-Co-tests: New file.
43087         * modules/unictype/category-Cs-tests: New file.
43088         * modules/unictype/category-L-tests: New file.
43089         * modules/unictype/category-Ll-tests: New file.
43090         * modules/unictype/category-Lm-tests: New file.
43091         * modules/unictype/category-Lo-tests: New file.
43092         * modules/unictype/category-Lt-tests: New file.
43093         * modules/unictype/category-Lu-tests: New file.
43094         * modules/unictype/category-M-tests: New file.
43095         * modules/unictype/category-Mc-tests: New file.
43096         * modules/unictype/category-Me-tests: New file.
43097         * modules/unictype/category-Mn-tests: New file.
43098         * modules/unictype/category-N-tests: New file.
43099         * modules/unictype/category-Nd-tests: New file.
43100         * modules/unictype/category-Nl-tests: New file.
43101         * modules/unictype/category-No-tests: New file.
43102         * modules/unictype/category-P-tests: New file.
43103         * modules/unictype/category-Pc-tests: New file.
43104         * modules/unictype/category-Pd-tests: New file.
43105         * modules/unictype/category-Pe-tests: New file.
43106         * modules/unictype/category-Pf-tests: New file.
43107         * modules/unictype/category-Pi-tests: New file.
43108         * modules/unictype/category-Po-tests: New file.
43109         * modules/unictype/category-Ps-tests: New file.
43110         * modules/unictype/category-S-tests: New file.
43111         * modules/unictype/category-Sc-tests: New file.
43112         * modules/unictype/category-Sk-tests: New file.
43113         * modules/unictype/category-Sm-tests: New file.
43114         * modules/unictype/category-So-tests: New file.
43115         * modules/unictype/category-Z-tests: New file.
43116         * modules/unictype/category-Zl-tests: New file.
43117         * modules/unictype/category-Zp-tests: New file.
43118         * modules/unictype/category-Zs-tests: New file.
43119         * modules/unictype/category-and-not-tests: New file.
43120         * modules/unictype/category-and-tests: New file.
43121         * modules/unictype/category-byname-tests: New file.
43122         * modules/unictype/category-name-tests: New file.
43123         * modules/unictype/category-none-tests: New file.
43124         * modules/unictype/category-of-tests: New file.
43125         * modules/unictype/category-or-tests: New file.
43126         * modules/unictype/category-test-withtable-tests: New file.
43127         * modules/unictype/combining-class-tests: New file.
43128         * modules/unictype/ctype-alnum-tests: New file.
43129         * modules/unictype/ctype-alpha-tests: New file.
43130         * modules/unictype/ctype-blank-tests: New file.
43131         * modules/unictype/ctype-cntrl-tests: New file.
43132         * modules/unictype/ctype-digit-tests: New file.
43133         * modules/unictype/ctype-graph-tests: New file.
43134         * modules/unictype/ctype-lower-tests: New file.
43135         * modules/unictype/ctype-print-tests: New file.
43136         * modules/unictype/ctype-punct-tests: New file.
43137         * modules/unictype/ctype-space-tests: New file.
43138         * modules/unictype/ctype-upper-tests: New file.
43139         * modules/unictype/ctype-xdigit-tests: New file.
43140         * modules/unictype/decimal-digit-tests: New file.
43141         * modules/unictype/digit-tests: New file.
43142         * modules/unictype/mirror-tests: New file.
43143         * modules/unictype/numeric-tests: New file.
43144         * modules/unictype/property-alphabetic-tests: New file.
43145         * modules/unictype/property-ascii-hex-digit-tests: New file.
43146         * modules/unictype/property-bidi-arabic-digit-tests: New file.
43147         * modules/unictype/property-bidi-arabic-right-to-left-tests: New file.
43148         * modules/unictype/property-bidi-block-separator-tests: New file.
43149         * modules/unictype/property-bidi-boundary-neutral-tests: New file.
43150         * modules/unictype/property-bidi-common-separator-tests: New file.
43151         * modules/unictype/property-bidi-control-tests: New file.
43152         * modules/unictype/property-bidi-embedding-or-override-tests: New file.
43153         * modules/unictype/property-bidi-eur-num-separator-tests: New file.
43154         * modules/unictype/property-bidi-eur-num-terminator-tests: New file.
43155         * modules/unictype/property-bidi-european-digit-tests: New file.
43156         * modules/unictype/property-bidi-hebrew-right-to-left-tests: New file.
43157         * modules/unictype/property-bidi-left-to-right-tests: New file.
43158         * modules/unictype/property-bidi-non-spacing-mark-tests: New file.
43159         * modules/unictype/property-bidi-other-neutral-tests: New file.
43160         * modules/unictype/property-bidi-pdf-tests: New file.
43161         * modules/unictype/property-bidi-segment-separator-tests: New file.
43162         * modules/unictype/property-bidi-whitespace-tests: New file.
43163         * modules/unictype/property-byname-tests: New file.
43164         * modules/unictype/property-combining-tests: New file.
43165         * modules/unictype/property-composite-tests: New file.
43166         * modules/unictype/property-currency-symbol-tests: New file.
43167         * modules/unictype/property-dash-tests: New file.
43168         * modules/unictype/property-decimal-digit-tests: New file.
43169         * modules/unictype/property-default-ignorable-code-point-tests: New file.
43170         * modules/unictype/property-deprecated-tests: New file.
43171         * modules/unictype/property-diacritic-tests: New file.
43172         * modules/unictype/property-extender-tests: New file.
43173         * modules/unictype/property-format-control-tests: New file.
43174         * modules/unictype/property-grapheme-base-tests: New file.
43175         * modules/unictype/property-grapheme-extend-tests: New file.
43176         * modules/unictype/property-grapheme-link-tests: New file.
43177         * modules/unictype/property-hex-digit-tests: New file.
43178         * modules/unictype/property-hyphen-tests: New file.
43179         * modules/unictype/property-id-continue-tests: New file.
43180         * modules/unictype/property-id-start-tests: New file.
43181         * modules/unictype/property-ideographic-tests: New file.
43182         * modules/unictype/property-ids-binary-operator-tests: New file.
43183         * modules/unictype/property-ids-trinary-operator-tests: New file.
43184         * modules/unictype/property-ignorable-control-tests: New file.
43185         * modules/unictype/property-iso-control-tests: New file.
43186         * modules/unictype/property-join-control-tests: New file.
43187         * modules/unictype/property-left-of-pair-tests: New file.
43188         * modules/unictype/property-line-separator-tests: New file.
43189         * modules/unictype/property-logical-order-exception-tests: New file.
43190         * modules/unictype/property-lowercase-tests: New file.
43191         * modules/unictype/property-math-tests: New file.
43192         * modules/unictype/property-non-break-tests: New file.
43193         * modules/unictype/property-not-a-character-tests: New file.
43194         * modules/unictype/property-numeric-tests: New file.
43195         * modules/unictype/property-other-alphabetic-tests: New file.
43196         * modules/unictype/property-other-default-ignorable-code-point-tests: New file.
43197         * modules/unictype/property-other-grapheme-extend-tests: New file.
43198         * modules/unictype/property-other-id-continue-tests: New file.
43199         * modules/unictype/property-other-id-start-tests: New file.
43200         * modules/unictype/property-other-lowercase-tests: New file.
43201         * modules/unictype/property-other-math-tests: New file.
43202         * modules/unictype/property-other-uppercase-tests: New file.
43203         * modules/unictype/property-paired-punctuation-tests: New file.
43204         * modules/unictype/property-paragraph-separator-tests: New file.
43205         * modules/unictype/property-pattern-syntax-tests: New file.
43206         * modules/unictype/property-pattern-white-space-tests: New file.
43207         * modules/unictype/property-private-use-tests: New file.
43208         * modules/unictype/property-punctuation-tests: New file.
43209         * modules/unictype/property-quotation-mark-tests: New file.
43210         * modules/unictype/property-radical-tests: New file.
43211         * modules/unictype/property-sentence-terminal-tests: New file.
43212         * modules/unictype/property-soft-dotted-tests: New file.
43213         * modules/unictype/property-space-tests: New file.
43214         * modules/unictype/property-terminal-punctuation-tests: New file.
43215         * modules/unictype/property-test-tests: New file.
43216         * modules/unictype/property-titlecase-tests: New file.
43217         * modules/unictype/property-unassigned-code-value-tests: New file.
43218         * modules/unictype/property-unified-ideograph-tests: New file.
43219         * modules/unictype/property-uppercase-tests: New file.
43220         * modules/unictype/property-variation-selector-tests: New file.
43221         * modules/unictype/property-white-space-tests: New file.
43222         * modules/unictype/property-xid-continue-tests: New file.
43223         * modules/unictype/property-xid-start-tests: New file.
43224         * modules/unictype/property-zero-width-tests: New file.
43225         * modules/unictype/scripts-tests: New file.
43226         * modules/unictype/syntax-c-ident-tests: New file.
43227         * modules/unictype/syntax-c-whitespace-tests: New file.
43228         * modules/unictype/syntax-java-ident-tests: New file.
43229         * modules/unictype/syntax-java-whitespace-tests: New file.
43230         * tests/unictype/test-bidi_byname.c: New file.
43231         * tests/unictype/test-bidi_name.c: New file.
43232         * tests/unictype/test-bidi_of.c: New file.
43233         * tests/unictype/test-bidi_test.c: New file.
43234         * tests/unictype/test-block_list.c: New file.
43235         * tests/unictype/test-block_of.c: New file.
43236         * tests/unictype/test-block_test.c: New file.
43237         * tests/unictype/test-categ_and.c: New file.
43238         * tests/unictype/test-categ_and_not.c: New file.
43239         * tests/unictype/test-categ_byname.c: New file.
43240         * tests/unictype/test-categ_name.c: New file.
43241         * tests/unictype/test-categ_none.c: New file.
43242         * tests/unictype/test-categ_of.c: New file.
43243         * tests/unictype/test-categ_or.c: New file.
43244         * tests/unictype/test-categ_test_withtable.c: New file.
43245         * tests/unictype/test-combining.c: New file.
43246         * tests/unictype/test-decdigit.c: New file.
43247         * tests/unictype/test-digit.c: New file.
43248         * tests/unictype/test-mirror.c: New file.
43249         * tests/unictype/test-numeric.c: New file.
43250         * tests/unictype/test-pr_byname.c: New file.
43251         * tests/unictype/test-pr_test.c: New file.
43252         * tests/unictype/test-predicate-part1.h: New file.
43253         * tests/unictype/test-predicate-part2.h: New file.
43254         * tests/unictype/test-scripts.c: New file.
43255         * tests/unictype/test-sy_c_ident.c: New file.
43256         * tests/unictype/test-sy_java_ident.c: New file.
43257
43258         * tests/unictype/test-categ_C.c: New file, generated by gen-ctype.c
43259         for Unicode 5.0.0.
43260         * tests/unictype/test-categ_Cc.c: Likewise.
43261         * tests/unictype/test-categ_Cf.c: Likewise.
43262         * tests/unictype/test-categ_Cn.c: Likewise.
43263         * tests/unictype/test-categ_Co.c: Likewise.
43264         * tests/unictype/test-categ_Cs.c: Likewise.
43265         * tests/unictype/test-categ_L.c: Likewise.
43266         * tests/unictype/test-categ_Ll.c: Likewise.
43267         * tests/unictype/test-categ_Lm.c: Likewise.
43268         * tests/unictype/test-categ_Lo.c: Likewise.
43269         * tests/unictype/test-categ_Lt.c: Likewise.
43270         * tests/unictype/test-categ_Lu.c: Likewise.
43271         * tests/unictype/test-categ_M.c: Likewise.
43272         * tests/unictype/test-categ_Mc.c: Likewise.
43273         * tests/unictype/test-categ_Me.c: Likewise.
43274         * tests/unictype/test-categ_Mn.c: Likewise.
43275         * tests/unictype/test-categ_N.c: Likewise.
43276         * tests/unictype/test-categ_Nd.c: Likewise.
43277         * tests/unictype/test-categ_Nl.c: Likewise.
43278         * tests/unictype/test-categ_No.c: Likewise.
43279         * tests/unictype/test-categ_P.c: Likewise.
43280         * tests/unictype/test-categ_Pc.c: Likewise.
43281         * tests/unictype/test-categ_Pd.c: Likewise.
43282         * tests/unictype/test-categ_Pe.c: Likewise.
43283         * tests/unictype/test-categ_Pf.c: Likewise.
43284         * tests/unictype/test-categ_Pi.c: Likewise.
43285         * tests/unictype/test-categ_Po.c: Likewise.
43286         * tests/unictype/test-categ_Ps.c: Likewise.
43287         * tests/unictype/test-categ_S.c: Likewise.
43288         * tests/unictype/test-categ_Sc.c: Likewise.
43289         * tests/unictype/test-categ_Sk.c: Likewise.
43290         * tests/unictype/test-categ_Sm.c: Likewise.
43291         * tests/unictype/test-categ_So.c: Likewise.
43292         * tests/unictype/test-categ_Z.c: Likewise.
43293         * tests/unictype/test-categ_Zl.c: Likewise.
43294         * tests/unictype/test-categ_Zp.c: Likewise.
43295         * tests/unictype/test-categ_Zs.c: Likewise.
43296         * tests/unictype/test-ctype_alnum.c: Likewise.
43297         * tests/unictype/test-ctype_alpha.c: Likewise.
43298         * tests/unictype/test-ctype_blank.c: Likewise.
43299         * tests/unictype/test-ctype_cntrl.c: Likewise.
43300         * tests/unictype/test-ctype_digit.c: Likewise.
43301         * tests/unictype/test-ctype_graph.c: Likewise.
43302         * tests/unictype/test-ctype_lower.c: Likewise.
43303         * tests/unictype/test-ctype_print.c: Likewise.
43304         * tests/unictype/test-ctype_punct.c: Likewise.
43305         * tests/unictype/test-ctype_space.c: Likewise.
43306         * tests/unictype/test-ctype_upper.c: Likewise.
43307         * tests/unictype/test-ctype_xdigit.c: Likewise.
43308         * tests/unictype/test-decdigit.h: Likewise.
43309         * tests/unictype/test-digit.h: Likewise.
43310         * tests/unictype/test-numeric.h: Likewise.
43311         * tests/unictype/test-pr_alphabetic.c: Likewise.
43312         * tests/unictype/test-pr_ascii_hex_digit.c: Likewise.
43313         * tests/unictype/test-pr_bidi_arabic_digit.c: Likewise.
43314         * tests/unictype/test-pr_bidi_arabic_right_to_left.c: Likewise.
43315         * tests/unictype/test-pr_bidi_block_separator.c: Likewise.
43316         * tests/unictype/test-pr_bidi_boundary_neutral.c: Likewise.
43317         * tests/unictype/test-pr_bidi_common_separator.c: Likewise.
43318         * tests/unictype/test-pr_bidi_control.c: Likewise.
43319         * tests/unictype/test-pr_bidi_embedding_or_override.c: Likewise.
43320         * tests/unictype/test-pr_bidi_eur_num_separator.c: Likewise.
43321         * tests/unictype/test-pr_bidi_eur_num_terminator.c: Likewise.
43322         * tests/unictype/test-pr_bidi_european_digit.c: Likewise.
43323         * tests/unictype/test-pr_bidi_hebrew_right_to_left.c: Likewise.
43324         * tests/unictype/test-pr_bidi_left_to_right.c: Likewise.
43325         * tests/unictype/test-pr_bidi_non_spacing_mark.c: Likewise.
43326         * tests/unictype/test-pr_bidi_other_neutral.c: Likewise.
43327         * tests/unictype/test-pr_bidi_pdf.c: Likewise.
43328         * tests/unictype/test-pr_bidi_segment_separator.c: Likewise.
43329         * tests/unictype/test-pr_bidi_whitespace.c: Likewise.
43330         * tests/unictype/test-pr_combining.c: Likewise.
43331         * tests/unictype/test-pr_composite.c: Likewise.
43332         * tests/unictype/test-pr_currency_symbol.c: Likewise.
43333         * tests/unictype/test-pr_dash.c: Likewise.
43334         * tests/unictype/test-pr_decimal_digit.c: Likewise.
43335         * tests/unictype/test-pr_default_ignorable_code_point.c: Likewise.
43336         * tests/unictype/test-pr_deprecated.c: Likewise.
43337         * tests/unictype/test-pr_diacritic.c: Likewise.
43338         * tests/unictype/test-pr_extender.c: Likewise.
43339         * tests/unictype/test-pr_format_control.c: Likewise.
43340         * tests/unictype/test-pr_grapheme_base.c: Likewise.
43341         * tests/unictype/test-pr_grapheme_extend.c: Likewise.
43342         * tests/unictype/test-pr_grapheme_link.c: Likewise.
43343         * tests/unictype/test-pr_hex_digit.c: Likewise.
43344         * tests/unictype/test-pr_hyphen.c: Likewise.
43345         * tests/unictype/test-pr_id_continue.c: Likewise.
43346         * tests/unictype/test-pr_id_start.c: Likewise.
43347         * tests/unictype/test-pr_ideographic.c: Likewise.
43348         * tests/unictype/test-pr_ids_binary_operator.c: Likewise.
43349         * tests/unictype/test-pr_ids_trinary_operator.c: Likewise.
43350         * tests/unictype/test-pr_ignorable_control.c: Likewise.
43351         * tests/unictype/test-pr_iso_control.c: Likewise.
43352         * tests/unictype/test-pr_join_control.c: Likewise.
43353         * tests/unictype/test-pr_left_of_pair.c: Likewise.
43354         * tests/unictype/test-pr_line_separator.c: Likewise.
43355         * tests/unictype/test-pr_logical_order_exception.c: Likewise.
43356         * tests/unictype/test-pr_lowercase.c: Likewise.
43357         * tests/unictype/test-pr_math.c: Likewise.
43358         * tests/unictype/test-pr_non_break.c: Likewise.
43359         * tests/unictype/test-pr_not_a_character.c: Likewise.
43360         * tests/unictype/test-pr_numeric.c: Likewise.
43361         * tests/unictype/test-pr_other_alphabetic.c: Likewise.
43362         * tests/unictype/test-pr_other_default_ignorable_code_point.c: Likewise.
43363         * tests/unictype/test-pr_other_grapheme_extend.c: Likewise.
43364         * tests/unictype/test-pr_other_id_continue.c: Likewise.
43365         * tests/unictype/test-pr_other_id_start.c: Likewise.
43366         * tests/unictype/test-pr_other_lowercase.c: Likewise.
43367         * tests/unictype/test-pr_other_math.c: Likewise.
43368         * tests/unictype/test-pr_other_uppercase.c: Likewise.
43369         * tests/unictype/test-pr_paired_punctuation.c: Likewise.
43370         * tests/unictype/test-pr_paragraph_separator.c: Likewise.
43371         * tests/unictype/test-pr_pattern_syntax.c: Likewise.
43372         * tests/unictype/test-pr_pattern_white_space.c: Likewise.
43373         * tests/unictype/test-pr_private_use.c: Likewise.
43374         * tests/unictype/test-pr_punctuation.c: Likewise.
43375         * tests/unictype/test-pr_quotation_mark.c: Likewise.
43376         * tests/unictype/test-pr_radical.c: Likewise.
43377         * tests/unictype/test-pr_sentence_terminal.c: Likewise.
43378         * tests/unictype/test-pr_soft_dotted.c: Likewise.
43379         * tests/unictype/test-pr_space.c: Likewise.
43380         * tests/unictype/test-pr_terminal_punctuation.c: Likewise.
43381         * tests/unictype/test-pr_titlecase.c: Likewise.
43382         * tests/unictype/test-pr_unassigned_code_value.c: Likewise.
43383         * tests/unictype/test-pr_unified_ideograph.c: Likewise.
43384         * tests/unictype/test-pr_uppercase.c: Likewise.
43385         * tests/unictype/test-pr_variation_selector.c: Likewise.
43386         * tests/unictype/test-pr_white_space.c: Likewise.
43387         * tests/unictype/test-pr_xid_continue.c: Likewise.
43388         * tests/unictype/test-pr_xid_start.c: Likewise.
43389         * tests/unictype/test-pr_zero_width.c: Likewise.
43390         * tests/unictype/test-sy_c_whitespace.c: Likewise.
43391         * tests/unictype/test-sy_java_whitespace.c: Likewise.
43392
43393 2007-11-12  Bruno Haible  <bruno@clisp.org>
43394
43395         Unicode character classification functions.
43396         * lib/unictype.h: New file.
43397         * modules/unictype/base: New file.
43398         * modules/unictype/category-L: New file.
43399         * modules/unictype/category-Lu: New file.
43400         * modules/unictype/category-Ll: New file.
43401         * modules/unictype/category-Lt: New file.
43402         * modules/unictype/category-Lm: New file.
43403         * modules/unictype/category-Lo: New file.
43404         * modules/unictype/category-M: New file.
43405         * modules/unictype/category-Mn: New file.
43406         * modules/unictype/category-Mc: New file.
43407         * modules/unictype/category-Me: New file.
43408         * modules/unictype/category-N: New file.
43409         * modules/unictype/category-Nd: New file.
43410         * modules/unictype/category-Nl: New file.
43411         * modules/unictype/category-No: New file.
43412         * modules/unictype/category-P: New file.
43413         * modules/unictype/category-Pc: New file.
43414         * modules/unictype/category-Pd: New file.
43415         * modules/unictype/category-Ps: New file.
43416         * modules/unictype/category-Pe: New file.
43417         * modules/unictype/category-Pi: New file.
43418         * modules/unictype/category-Pf: New file.
43419         * modules/unictype/category-Po: New file.
43420         * modules/unictype/category-S: New file.
43421         * modules/unictype/category-Sm: New file.
43422         * modules/unictype/category-Sc: New file.
43423         * modules/unictype/category-Sk: New file.
43424         * modules/unictype/category-So: New file.
43425         * modules/unictype/category-Z: New file.
43426         * modules/unictype/category-Zs: New file.
43427         * modules/unictype/category-Zl: New file.
43428         * modules/unictype/category-Zp: New file.
43429         * modules/unictype/category-C: New file.
43430         * modules/unictype/category-Cc: New file.
43431         * modules/unictype/category-Cf: New file.
43432         * modules/unictype/category-Cs: New file.
43433         * modules/unictype/category-Co: New file.
43434         * modules/unictype/category-Cn: New file.
43435         * modules/unictype/category-or: New file.
43436         * modules/unictype/category-of: New file.
43437         * modules/unictype/category-test: New file.
43438         * modules/unictype/category-test-withtable: New file.
43439         * modules/unictype/category-byname: New file.
43440         * modules/unictype/category-none: New file.
43441         * modules/unictype/category-and: New file.
43442         * modules/unictype/category-and-not: New file.
43443         * modules/unictype/category-name: New file.
43444         * modules/unictype/combining-class: New file.
43445         * modules/unictype/category-all: New file.
43446         * modules/unictype/bidicategory-all: New file.
43447         * modules/unictype/bidicategory-byname: New file.
43448         * modules/unictype/bidicategory-name: New file.
43449         * modules/unictype/bidicategory-of: New file.
43450         * modules/unictype/bidicategory-test: New file.
43451         * modules/unictype/decimal-digit: New file.
43452         * modules/unictype/digit: New file.
43453         * modules/unictype/numeric: New file.
43454         * modules/unictype/mirror: New file.
43455         * modules/unictype/property-white-space: New file.
43456         * modules/unictype/property-alphabetic: New file.
43457         * modules/unictype/property-other-alphabetic: New file.
43458         * modules/unictype/property-not-a-character: New file.
43459         * modules/unictype/property-default-ignorable-code-point: New file.
43460         * modules/unictype/property-other-default-ignorable-code-point: New
43461         file.
43462         * modules/unictype/property-deprecated: New file.
43463         * modules/unictype/property-logical-order-exception: New file.
43464         * modules/unictype/property-variation-selector: New file.
43465         * modules/unictype/property-private-use: New file.
43466         * modules/unictype/property-unassigned-code-value: New file.
43467         * modules/unictype/property-uppercase: New file.
43468         * modules/unictype/property-other-uppercase: New file.
43469         * modules/unictype/property-lowercase: New file.
43470         * modules/unictype/property-other-lowercase: New file.
43471         * modules/unictype/property-titlecase: New file.
43472         * modules/unictype/property-soft-dotted: New file.
43473         * modules/unictype/property-id-start: New file.
43474         * modules/unictype/property-other-id-start: New file.
43475         * modules/unictype/property-id-continue: New file.
43476         * modules/unictype/property-other-id-continue: New file.
43477         * modules/unictype/property-xid-start: New file.
43478         * modules/unictype/property-xid-continue: New file.
43479         * modules/unictype/property-pattern-white-space: New file.
43480         * modules/unictype/property-pattern-syntax: New file.
43481         * modules/unictype/property-join-control: New file.
43482         * modules/unictype/property-grapheme-base: New file.
43483         * modules/unictype/property-grapheme-extend: New file.
43484         * modules/unictype/property-other-grapheme-extend: New file.
43485         * modules/unictype/property-grapheme-link: New file.
43486         * modules/unictype/property-bidi-control: New file.
43487         * modules/unictype/property-bidi-left-to-right: New file.
43488         * modules/unictype/property-bidi-hebrew-right-to-left: New file.
43489         * modules/unictype/property-bidi-arabic-right-to-left: New file.
43490         * modules/unictype/property-bidi-european-digit: New file.
43491         * modules/unictype/property-bidi-eur-num-separator: New file.
43492         * modules/unictype/property-bidi-eur-num-terminator: New file.
43493         * modules/unictype/property-bidi-arabic-digit: New file.
43494         * modules/unictype/property-bidi-common-separator: New file.
43495         * modules/unictype/property-bidi-block-separator: New file.
43496         * modules/unictype/property-bidi-segment-separator: New file.
43497         * modules/unictype/property-bidi-whitespace: New file.
43498         * modules/unictype/property-bidi-non-spacing-mark: New file.
43499         * modules/unictype/property-bidi-boundary-neutral: New file.
43500         * modules/unictype/property-bidi-pdf: New file.
43501         * modules/unictype/property-bidi-embedding-or-override: New file.
43502         * modules/unictype/property-bidi-other-neutral: New file.
43503         * modules/unictype/property-hex-digit: New file.
43504         * modules/unictype/property-ascii-hex-digit: New file.
43505         * modules/unictype/property-ideographic: New file.
43506         * modules/unictype/property-unified-ideograph: New file.
43507         * modules/unictype/property-radical: New file.
43508         * modules/unictype/property-ids-binary-operator: New file.
43509         * modules/unictype/property-ids-trinary-operator: New file.
43510         * modules/unictype/property-zero-width: New file.
43511         * modules/unictype/property-space: New file.
43512         * modules/unictype/property-non-break: New file.
43513         * modules/unictype/property-iso-control: New file.
43514         * modules/unictype/property-format-control: New file.
43515         * modules/unictype/property-dash: New file.
43516         * modules/unictype/property-hyphen: New file.
43517         * modules/unictype/property-punctuation: New file.
43518         * modules/unictype/property-line-separator: New file.
43519         * modules/unictype/property-paragraph-separator: New file.
43520         * modules/unictype/property-quotation-mark: New file.
43521         * modules/unictype/property-sentence-terminal: New file.
43522         * modules/unictype/property-terminal-punctuation: New file.
43523         * modules/unictype/property-currency-symbol: New file.
43524         * modules/unictype/property-math: New file.
43525         * modules/unictype/property-other-math: New file.
43526         * modules/unictype/property-paired-punctuation: New file.
43527         * modules/unictype/property-left-of-pair: New file.
43528         * modules/unictype/property-combining: New file.
43529         * modules/unictype/property-composite: New file.
43530         * modules/unictype/property-decimal-digit: New file.
43531         * modules/unictype/property-numeric: New file.
43532         * modules/unictype/property-diacritic: New file.
43533         * modules/unictype/property-extender: New file.
43534         * modules/unictype/property-ignorable-control: New file.
43535         * modules/unictype/property-test: New file.
43536         * modules/unictype/property-byname: New file.
43537         * modules/unictype/property-all: New file.
43538         * modules/unictype/scripts: New file.
43539         * modules/unictype/scripts-all: New file.
43540         * modules/unictype/block-of: New file.
43541         * modules/unictype/block-test: New file.
43542         * modules/unictype/block-list: New file.
43543         * modules/unictype/block-all: New file.
43544         * modules/unictype/syntax-c-whitespace: New file.
43545         * modules/unictype/syntax-java-whitespace: New file.
43546         * modules/unictype/syntax-c-ident: New file.
43547         * modules/unictype/syntax-java-ident: New file.
43548         * modules/unictype/ctype-alnum: New file.
43549         * modules/unictype/ctype-alpha: New file.
43550         * modules/unictype/ctype-cntrl: New file.
43551         * modules/unictype/ctype-digit: New file.
43552         * modules/unictype/ctype-graph: New file.
43553         * modules/unictype/ctype-lower: New file.
43554         * modules/unictype/ctype-print: New file.
43555         * modules/unictype/ctype-punct: New file.
43556         * modules/unictype/ctype-space: New file.
43557         * modules/unictype/ctype-upper: New file.
43558         * modules/unictype/ctype-xdigit: New file.
43559         * modules/unictype/ctype-blank: New file.
43560         * lib/unictype/bidi_byname.c: New file.
43561         * lib/unictype/bidi_name.c: New file.
43562         * lib/unictype/bidi_of.c: New file.
43563         * lib/unictype/bidi_test.c: New file.
43564         * lib/unictype/bitmap.h: New file.
43565         * lib/unictype/block_test.c: New file.
43566         * lib/unictype/blocks.c: New file.
43567         * lib/unictype/categ_C.c: New file.
43568         * lib/unictype/categ_Cc.c: New file.
43569         * lib/unictype/categ_Cf.c: New file.
43570         * lib/unictype/categ_Cn.c: New file.
43571         * lib/unictype/categ_Co.c: New file.
43572         * lib/unictype/categ_Cs.c: New file.
43573         * lib/unictype/categ_L.c: New file.
43574         * lib/unictype/categ_Ll.c: New file.
43575         * lib/unictype/categ_Lm.c: New file.
43576         * lib/unictype/categ_Lo.c: New file.
43577         * lib/unictype/categ_Lt.c: New file.
43578         * lib/unictype/categ_Lu.c: New file.
43579         * lib/unictype/categ_M.c: New file.
43580         * lib/unictype/categ_Mc.c: New file.
43581         * lib/unictype/categ_Me.c: New file.
43582         * lib/unictype/categ_Mn.c: New file.
43583         * lib/unictype/categ_N.c: New file.
43584         * lib/unictype/categ_Nd.c: New file.
43585         * lib/unictype/categ_Nl.c: New file.
43586         * lib/unictype/categ_No.c: New file.
43587         * lib/unictype/categ_P.c: New file.
43588         * lib/unictype/categ_Pc.c: New file.
43589         * lib/unictype/categ_Pd.c: New file.
43590         * lib/unictype/categ_Pe.c: New file.
43591         * lib/unictype/categ_Pf.c: New file.
43592         * lib/unictype/categ_Pi.c: New file.
43593         * lib/unictype/categ_Po.c: New file.
43594         * lib/unictype/categ_Ps.c: New file.
43595         * lib/unictype/categ_S.c: New file.
43596         * lib/unictype/categ_Sc.c: New file.
43597         * lib/unictype/categ_Sk.c: New file.
43598         * lib/unictype/categ_Sm.c: New file.
43599         * lib/unictype/categ_So.c: New file.
43600         * lib/unictype/categ_Z.c: New file.
43601         * lib/unictype/categ_Zl.c: New file.
43602         * lib/unictype/categ_Zp.c: New file.
43603         * lib/unictype/categ_Zs.c: New file.
43604         * lib/unictype/categ_and.c: New file.
43605         * lib/unictype/categ_and_not.c: New file.
43606         * lib/unictype/categ_byname.c: New file.
43607         * lib/unictype/categ_name.c: New file.
43608         * lib/unictype/categ_none.c: New file.
43609         * lib/unictype/categ_of.c: New file.
43610         * lib/unictype/categ_or.c: New file.
43611         * lib/unictype/categ_test.c: New file.
43612         * lib/unictype/combining.c: New file.
43613         * lib/unictype/ctype_alnum.c: New file.
43614         * lib/unictype/ctype_alpha.c: New file.
43615         * lib/unictype/ctype_blank.c: New file.
43616         * lib/unictype/ctype_cntrl.c: New file.
43617         * lib/unictype/ctype_digit.c: New file.
43618         * lib/unictype/ctype_graph.c: New file.
43619         * lib/unictype/ctype_lower.c: New file.
43620         * lib/unictype/ctype_print.c: New file.
43621         * lib/unictype/ctype_punct.c: New file.
43622         * lib/unictype/ctype_space.c: New file.
43623         * lib/unictype/ctype_upper.c: New file.
43624         * lib/unictype/ctype_xdigit.c: New file.
43625         * lib/unictype/decdigit.c: New file.
43626         * lib/unictype/digit.c: New file.
43627         * lib/unictype/identsyntaxmap.h: New file.
43628         * lib/unictype/mirror.c: New file.
43629         * lib/unictype/numeric.c: New file.
43630         * lib/unictype/pr_alphabetic.c: New file.
43631         * lib/unictype/pr_ascii_hex_digit.c: New file.
43632         * lib/unictype/pr_bidi_arabic_digit.c: New file.
43633         * lib/unictype/pr_bidi_arabic_right_to_left.c: New file.
43634         * lib/unictype/pr_bidi_block_separator.c: New file.
43635         * lib/unictype/pr_bidi_boundary_neutral.c: New file.
43636         * lib/unictype/pr_bidi_common_separator.c: New file.
43637         * lib/unictype/pr_bidi_control.c: New file.
43638         * lib/unictype/pr_bidi_embedding_or_override.c: New file.
43639         * lib/unictype/pr_bidi_eur_num_separator.c: New file.
43640         * lib/unictype/pr_bidi_eur_num_terminator.c: New file.
43641         * lib/unictype/pr_bidi_european_digit.c: New file.
43642         * lib/unictype/pr_bidi_hebrew_right_to_left.c: New file.
43643         * lib/unictype/pr_bidi_left_to_right.c: New file.
43644         * lib/unictype/pr_bidi_non_spacing_mark.c: New file.
43645         * lib/unictype/pr_bidi_other_neutral.c: New file.
43646         * lib/unictype/pr_bidi_pdf.c: New file.
43647         * lib/unictype/pr_bidi_segment_separator.c: New file.
43648         * lib/unictype/pr_bidi_whitespace.c: New file.
43649         * lib/unictype/pr_byname.c: New file.
43650         * lib/unictype/pr_byname.gperf: New file.
43651         * lib/unictype/pr_combining.c: New file.
43652         * lib/unictype/pr_composite.c: New file.
43653         * lib/unictype/pr_currency_symbol.c: New file.
43654         * lib/unictype/pr_dash.c: New file.
43655         * lib/unictype/pr_decimal_digit.c: New file.
43656         * lib/unictype/pr_default_ignorable_code_point.c: New file.
43657         * lib/unictype/pr_deprecated.c: New file.
43658         * lib/unictype/pr_diacritic.c: New file.
43659         * lib/unictype/pr_extender.c: New file.
43660         * lib/unictype/pr_format_control.c: New file.
43661         * lib/unictype/pr_grapheme_base.c: New file.
43662         * lib/unictype/pr_grapheme_extend.c: New file.
43663         * lib/unictype/pr_grapheme_link.c: New file.
43664         * lib/unictype/pr_hex_digit.c: New file.
43665         * lib/unictype/pr_hyphen.c: New file.
43666         * lib/unictype/pr_id_continue.c: New file.
43667         * lib/unictype/pr_id_start.c: New file.
43668         * lib/unictype/pr_ideographic.c: New file.
43669         * lib/unictype/pr_ids_binary_operator.c: New file.
43670         * lib/unictype/pr_ids_trinary_operator.c: New file.
43671         * lib/unictype/pr_ignorable_control.c: New file.
43672         * lib/unictype/pr_iso_control.c: New file.
43673         * lib/unictype/pr_join_control.c: New file.
43674         * lib/unictype/pr_left_of_pair.c: New file.
43675         * lib/unictype/pr_line_separator.c: New file.
43676         * lib/unictype/pr_logical_order_exception.c: New file.
43677         * lib/unictype/pr_lowercase.c: New file.
43678         * lib/unictype/pr_math.c: New file.
43679         * lib/unictype/pr_non_break.c: New file.
43680         * lib/unictype/pr_not_a_character.c: New file.
43681         * lib/unictype/pr_numeric.c: New file.
43682         * lib/unictype/pr_other_alphabetic.c: New file.
43683         * lib/unictype/pr_other_default_ignorable_code_point.c: New file.
43684         * lib/unictype/pr_other_grapheme_extend.c: New file.
43685         * lib/unictype/pr_other_id_continue.c: New file.
43686         * lib/unictype/pr_other_id_start.c: New file.
43687         * lib/unictype/pr_other_lowercase.c: New file.
43688         * lib/unictype/pr_other_math.c: New file.
43689         * lib/unictype/pr_other_uppercase.c: New file.
43690         * lib/unictype/pr_paired_punctuation.c: New file.
43691         * lib/unictype/pr_paragraph_separator.c: New file.
43692         * lib/unictype/pr_pattern_syntax.c: New file.
43693         * lib/unictype/pr_pattern_white_space.c: New file.
43694         * lib/unictype/pr_private_use.c: New file.
43695         * lib/unictype/pr_punctuation.c: New file.
43696         * lib/unictype/pr_quotation_mark.c: New file.
43697         * lib/unictype/pr_radical.c: New file.
43698         * lib/unictype/pr_sentence_terminal.c: New file.
43699         * lib/unictype/pr_soft_dotted.c: New file.
43700         * lib/unictype/pr_space.c: New file.
43701         * lib/unictype/pr_terminal_punctuation.c: New file.
43702         * lib/unictype/pr_test.c: New file.
43703         * lib/unictype/pr_titlecase.c: New file.
43704         * lib/unictype/pr_unassigned_code_value.c: New file.
43705         * lib/unictype/pr_unified_ideograph.c: New file.
43706         * lib/unictype/pr_uppercase.c: New file.
43707         * lib/unictype/pr_variation_selector.c: New file.
43708         * lib/unictype/pr_white_space.c: New file.
43709         * lib/unictype/pr_xid_continue.c: New file.
43710         * lib/unictype/pr_xid_start.c: New file.
43711         * lib/unictype/pr_zero_width.c: New file.
43712         * lib/unictype/scripts.c: New file.
43713         * lib/unictype/sy_c_ident.c: New file.
43714         * lib/unictype/sy_c_whitespace.c: New file.
43715         * lib/unictype/sy_java_ident.c: New file.
43716         * lib/unictype/sy_java_whitespace.c: New file.
43717
43718         * lib/unictype/bidi_of.h: New file, generated by gen-ctype.c for
43719         Unicode 5.0.0.
43720         * lib/unictype/blocks.h: Likewise.
43721         * lib/unictype/categ_C.h: Likewise.
43722         * lib/unictype/categ_Cc.h: Likewise.
43723         * lib/unictype/categ_Cf.h: Likewise.
43724         * lib/unictype/categ_Cn.h: Likewise.
43725         * lib/unictype/categ_Co.h: Likewise.
43726         * lib/unictype/categ_Cs.h: Likewise.
43727         * lib/unictype/categ_L.h: Likewise.
43728         * lib/unictype/categ_Ll.h: Likewise.
43729         * lib/unictype/categ_Lm.h: Likewise.
43730         * lib/unictype/categ_Lo.h: Likewise.
43731         * lib/unictype/categ_Lt.h: Likewise.
43732         * lib/unictype/categ_Lu.h: Likewise.
43733         * lib/unictype/categ_M.h: Likewise.
43734         * lib/unictype/categ_Mc.h: Likewise.
43735         * lib/unictype/categ_Me.h: Likewise.
43736         * lib/unictype/categ_Mn.h: Likewise.
43737         * lib/unictype/categ_N.h: Likewise.
43738         * lib/unictype/categ_Nd.h: Likewise.
43739         * lib/unictype/categ_Nl.h: Likewise.
43740         * lib/unictype/categ_No.h: Likewise.
43741         * lib/unictype/categ_P.h: Likewise.
43742         * lib/unictype/categ_Pc.h: Likewise.
43743         * lib/unictype/categ_Pd.h: Likewise.
43744         * lib/unictype/categ_Pe.h: Likewise.
43745         * lib/unictype/categ_Pf.h: Likewise.
43746         * lib/unictype/categ_Pi.h: Likewise.
43747         * lib/unictype/categ_Po.h: Likewise.
43748         * lib/unictype/categ_Ps.h: Likewise.
43749         * lib/unictype/categ_S.h: Likewise.
43750         * lib/unictype/categ_Sc.h: Likewise.
43751         * lib/unictype/categ_Sk.h: Likewise.
43752         * lib/unictype/categ_Sm.h: Likewise.
43753         * lib/unictype/categ_So.h: Likewise.
43754         * lib/unictype/categ_Z.h: Likewise.
43755         * lib/unictype/categ_Zl.h: Likewise.
43756         * lib/unictype/categ_Zp.h: Likewise.
43757         * lib/unictype/categ_Zs.h: Likewise.
43758         * lib/unictype/categ_of.h: Likewise.
43759         * lib/unictype/combining.h: Likewise.
43760         * lib/unictype/ctype_alnum.h: Likewise.
43761         * lib/unictype/ctype_alpha.h: Likewise.
43762         * lib/unictype/ctype_blank.h: Likewise.
43763         * lib/unictype/ctype_cntrl.h: Likewise.
43764         * lib/unictype/ctype_digit.h: Likewise.
43765         * lib/unictype/ctype_graph.h: Likewise.
43766         * lib/unictype/ctype_lower.h: Likewise.
43767         * lib/unictype/ctype_print.h: Likewise.
43768         * lib/unictype/ctype_punct.h: Likewise.
43769         * lib/unictype/ctype_space.h: Likewise.
43770         * lib/unictype/ctype_upper.h: Likewise.
43771         * lib/unictype/ctype_xdigit.h: Likewise.
43772         * lib/unictype/decdigit.h: Likewise.
43773         * lib/unictype/digit.h: Likewise.
43774         * lib/unictype/mirror.h: Likewise.
43775         * lib/unictype/numeric.h: Likewise.
43776         * lib/unictype/pr_alphabetic.h: Likewise.
43777         * lib/unictype/pr_ascii_hex_digit.h: Likewise.
43778         * lib/unictype/pr_bidi_arabic_digit.h: Likewise.
43779         * lib/unictype/pr_bidi_arabic_right_to_left.h: Likewise.
43780         * lib/unictype/pr_bidi_block_separator.h: Likewise.
43781         * lib/unictype/pr_bidi_boundary_neutral.h: Likewise.
43782         * lib/unictype/pr_bidi_common_separator.h: Likewise.
43783         * lib/unictype/pr_bidi_control.h: Likewise.
43784         * lib/unictype/pr_bidi_embedding_or_override.h: Likewise.
43785         * lib/unictype/pr_bidi_eur_num_separator.h: Likewise.
43786         * lib/unictype/pr_bidi_eur_num_terminator.h: Likewise.
43787         * lib/unictype/pr_bidi_european_digit.h: Likewise.
43788         * lib/unictype/pr_bidi_hebrew_right_to_left.h: Likewise.
43789         * lib/unictype/pr_bidi_left_to_right.h: Likewise.
43790         * lib/unictype/pr_bidi_non_spacing_mark.h: Likewise.
43791         * lib/unictype/pr_bidi_other_neutral.h: Likewise.
43792         * lib/unictype/pr_bidi_pdf.h: Likewise.
43793         * lib/unictype/pr_bidi_segment_separator.h: Likewise.
43794         * lib/unictype/pr_bidi_whitespace.h: Likewise.
43795         * lib/unictype/pr_combining.h: Likewise.
43796         * lib/unictype/pr_composite.h: Likewise.
43797         * lib/unictype/pr_currency_symbol.h: Likewise.
43798         * lib/unictype/pr_dash.h: Likewise.
43799         * lib/unictype/pr_decimal_digit.h: Likewise.
43800         * lib/unictype/pr_default_ignorable_code_point.h: Likewise.
43801         * lib/unictype/pr_deprecated.h: Likewise.
43802         * lib/unictype/pr_diacritic.h: Likewise.
43803         * lib/unictype/pr_extender.h: Likewise.
43804         * lib/unictype/pr_format_control.h: Likewise.
43805         * lib/unictype/pr_grapheme_base.h: Likewise.
43806         * lib/unictype/pr_grapheme_extend.h: Likewise.
43807         * lib/unictype/pr_grapheme_link.h: Likewise.
43808         * lib/unictype/pr_hex_digit.h: Likewise.
43809         * lib/unictype/pr_hyphen.h: Likewise.
43810         * lib/unictype/pr_id_continue.h: Likewise.
43811         * lib/unictype/pr_id_start.h: Likewise.
43812         * lib/unictype/pr_ideographic.h: Likewise.
43813         * lib/unictype/pr_ids_binary_operator.h: Likewise.
43814         * lib/unictype/pr_ids_trinary_operator.h: Likewise.
43815         * lib/unictype/pr_ignorable_control.h: Likewise.
43816         * lib/unictype/pr_iso_control.h: Likewise.
43817         * lib/unictype/pr_join_control.h: Likewise.
43818         * lib/unictype/pr_left_of_pair.h: Likewise.
43819         * lib/unictype/pr_line_separator.h: Likewise.
43820         * lib/unictype/pr_logical_order_exception.h: Likewise.
43821         * lib/unictype/pr_lowercase.h: Likewise.
43822         * lib/unictype/pr_math.h: Likewise.
43823         * lib/unictype/pr_non_break.h: Likewise.
43824         * lib/unictype/pr_not_a_character.h: Likewise.
43825         * lib/unictype/pr_numeric.h: Likewise.
43826         * lib/unictype/pr_other_alphabetic.h: Likewise.
43827         * lib/unictype/pr_other_default_ignorable_code_point.h: Likewise.
43828         * lib/unictype/pr_other_grapheme_extend.h: Likewise.
43829         * lib/unictype/pr_other_id_continue.h: Likewise.
43830         * lib/unictype/pr_other_id_start.h: Likewise.
43831         * lib/unictype/pr_other_lowercase.h: Likewise.
43832         * lib/unictype/pr_other_math.h: Likewise.
43833         * lib/unictype/pr_other_uppercase.h: Likewise.
43834         * lib/unictype/pr_paired_punctuation.h: Likewise.
43835         * lib/unictype/pr_paragraph_separator.h: Likewise.
43836         * lib/unictype/pr_pattern_syntax.h: Likewise.
43837         * lib/unictype/pr_pattern_white_space.h: Likewise.
43838         * lib/unictype/pr_private_use.h: Likewise.
43839         * lib/unictype/pr_punctuation.h: Likewise.
43840         * lib/unictype/pr_quotation_mark.h: Likewise.
43841         * lib/unictype/pr_radical.h: Likewise.
43842         * lib/unictype/pr_sentence_terminal.h: Likewise.
43843         * lib/unictype/pr_soft_dotted.h: Likewise.
43844         * lib/unictype/pr_space.h: Likewise.
43845         * lib/unictype/pr_terminal_punctuation.h: Likewise.
43846         * lib/unictype/pr_titlecase.h: Likewise.
43847         * lib/unictype/pr_unassigned_code_value.h: Likewise.
43848         * lib/unictype/pr_unified_ideograph.h: Likewise.
43849         * lib/unictype/pr_uppercase.h: Likewise.
43850         * lib/unictype/pr_variation_selector.h: Likewise.
43851         * lib/unictype/pr_white_space.h: Likewise.
43852         * lib/unictype/pr_xid_continue.h: Likewise.
43853         * lib/unictype/pr_xid_start.h: Likewise.
43854         * lib/unictype/pr_zero_width.h: Likewise.
43855         * lib/unictype/scripts.h: Likewise.
43856         * lib/unictype/scripts_byname.gperf: Likewise.
43857         * lib/unictype/sy_c_ident.h: Likewise.
43858         * lib/unictype/sy_c_whitespace.h: Likewise.
43859         * lib/unictype/sy_java_ident.h: Likewise.
43860         * lib/unictype/sy_java_whitespace.h: Likewise.
43861
43862         * lib/unictype/Makefile: New file.
43863         * lib/unictype/gen-ctype.c: New file, based on gen-unicode-ctype.c in
43864         glibc.
43865         * lib/unictype/3level.h: New file, copied from glibc.
43866         * lib/unictype/3levelbit.h: New file.
43867
43868 2007-11-11  Bruno Haible  <bruno@clisp.org>
43869
43870         * modules/gperf: New file.
43871         * modules/iconv_open (Depends-on): Add it.
43872         (Makefile.am): Remove the GPERF definition.
43873
43874 2007-11-11  Bruno Haible  <bruno@clisp.org>
43875
43876         * m4/round.m4 (gl_FUNC_ROUND): Test against NetBSD 3.0 bug.
43877         * doc/functions/round.texi: Mention the NetBSD 3.0 bug.
43878
43879 2007-11-11  Bruno Haible  <bruno@clisp.org>
43880
43881         * tests/test-argmatch.c (ARGMATCH_DIE): Undefine.
43882         (usage): Remove function.
43883
43884 2007-11-11  Bruno Haible  <bruno@clisp.org>
43885
43886         * m4/roundf.m4 (gl_FUNC_ROUNDF): Use gl_FUNC_FLOORF_LIBS and
43887         gl_FUNC_CEILF_LIBS.
43888         * m4/round.m4 (gl_FUNC_ROUND): Use gl_FUNC_FLOOR_LIBS and
43889         gl_FUNC_CEIL_LIBS.
43890         * m4/roundl.m4 (gl_FUNC_ROUNDL): Use gl_FUNC_FLOORL_LIBS and
43891         gl_FUNC_CEILL_LIBS.
43892         * modules/roundf (Files): Add m4/floorf.m4, m4/ceilf.m4.
43893         * modules/round (Files): Add m4/floor.m4, m4/ceil.m4.
43894         * modules/roundl (Files): Add m4/floorl.m4, m4/ceill.m4.
43895
43896 2007-11-11  Bruno Haible  <bruno@clisp.org>
43897
43898         * m4/roundf.m4 (gl_FUNC_ROUNDF): Handle the case that floorf and
43899         roundf were declared but do not exist on functions.
43900         * m4/roundl.m4 (gl_FUNC_ROUNDL): Handle the case that floorl and
43901         roundl were declared but do not exist on functions.
43902         * lib/round.c (HAVE_FLOOR_AND_CEIL): Use HAVE_FLOORF_AND_CEILF and
43903         HAVE_FLOORL_AND_CEILL, respectively.
43904         Needed for Sun C on Solaris 10.
43905
43906 2007-11-11  Bruno Haible  <bruno@clisp.org>
43907
43908         * m4/roundf.m4 (gl_FUNC_ROUNDF): Set REPLACE_ROUNDF instead of
43909         HAVE_DECL_ROUNDF. Remove redundant AC_SUBST.
43910         * m4/round.m4 (gl_FUNC_ROUND): Set REPLACE_ROUND instead of
43911         HAVE_DECL_ROUND. Remove redundant AC_SUBST.
43912         * m4/roundl.m4 (gl_FUNC_ROUNDL): Set REPLACE_ROUNDL instead of
43913         HAVE_DECL_ROUNDL. Remove redundant AC_SUBST.
43914         * lib/math.in.h (roundf): Use REPLACE_ROUNDF instead of
43915         HAVE_DECL_ROUNDF.
43916         (round): Use REPLACE_ROUND instead of HAVE_DECL_ROUND.
43917         (roundl): Use REPLACE_ROUNDL instead of HAVE_DECL_ROUNDL.
43918         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize REPLACE_ROUND* instead
43919         of HAVE_DECL_ROUND*.
43920         * modules/math (Makefile.am): Update.
43921
43922 2007-11-10  Bruno Haible  <bruno@clisp.org>
43923
43924         * m4/vasnprintf.m4 (gl_PREREQ_PRINTF_PARSE): Use same check for
43925         ptrdiff_t as m4/intl.m4.
43926
43927 2007-11-10  Jim Meyering  <meyering@redhat.com>
43928
43929         Avoid link failure for the argmatch test.
43930         * tests/test-argmatch.c (usage): Define function to avoid a link
43931         failure: argmatch_die requires a usage function.
43932
43933 2007-11-09  Bruno Haible  <bruno@clisp.org>
43934
43935         * doc/functions/snprintf.texi: Mention BeOS deficiency.
43936         * doc/functions/vsnprintf.texi: Likewise.
43937         * lib/vasnprintf.c (VASNPRINTF): Ensure that we never call snprintf
43938         with a size argument < 2.
43939
43940 2007-11-09  Bruno Haible  <bruno@clisp.org>
43941
43942         * lib/vasnprintf.c (VASNPRINTF): Increase reallocation of snprintf
43943         buffer. Fixes an inefficiency introduced on 2007-11-03.
43944
43945 2007-11-09  Bruno Haible  <bruno@clisp.org>
43946
43947         * m4/locale-tr.m4 (gt_LOCALE_TR_UTF8) [BeOS]: Make this test return
43948         none instead of tr_TR. Fixes a failure of test-c-strcasecmp.c.
43949
43950 2007-11-08  Jim Meyering  <meyering@redhat.com>
43951
43952         Change cache variable name prefix "jm_" to "gl_" everywhere.
43953         * m4/d-type.m4, m4/jm-winsz1.m4, m4/jm-winsz2.m4, m4/link-follow.m4:
43954         * m4/putenv.m4, m4/strtoimax.m4, m4/strtoumax.m4, m4/unlink-busy.m4:
43955         * m4/uptime.m4: s/gl_/jm_/
43956
43957 2007-11-07  Bruno Haible  <bruno@clisp.org>
43958
43959         Update to GNU gettext 0.17.
43960         * m4/intl.m4: Update to GNU gettext 0.17.
43961         * m4/po.m4: Likewise.
43962         * modules/gettext (Files): Remove m4/ulonglong.m4.
43963         (configure.ac): Require gettext infrastructure from version 0.17.
43964
43965 2007-11-06  Bruno Haible  <bruno@clisp.org>
43966
43967         * lib/fbufmode.c (fbufmode) [QNX]: Use numerical values for flags; the
43968         symbolic values are not defined in a public header.
43969         * lib/freadable.c (freadable) [QNX]: Likewise.
43970         * lib/freadahead.c (freadahead) [QNX]: Likewise.
43971         * lib/freading.c (freading) [QNX]: Likewise.
43972         * lib/fseterr.c (fseterr) [QNX]: Likewise.
43973         * lib/fwritable.c (fwritable) [QNX]: Likewise.
43974         * lib/fwriting.c (fwriting) [QNX]: Likewise.
43975         * lib/fpurge.c (fpurge) [QNX]: Likewise. Add a return statement.
43976         Reported by Alain Magloire.
43977
43978         * m4/fpending.m4 (gl_FUNC_FPENDING): Add a variant for QNX.
43979
43980 2007-11-05  Bruno Haible  <bruno@clisp.org>
43981
43982         * lib/vasnprintf.c (VASNPRINTF): Expand the NEED_PRINTF_DIRECTIVE_A
43983         code when NEED_PRINTF_LONG_DOUBLE or NEED_PRINTF_DOUBLE is set.
43984         Needed on Cygwin, where !NEED_PRINTF_DIRECTIVE_A && NEED_PRINTF_DOUBLE.
43985         Reported by Eric Blake.
43986
43987 2007-10-27  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
43988             Bruno Haible  <bruno@clisp.org>
43989
43990         * modules/malloc (configure.ac): Define GNULIB_MALLOC_GNU always.
43991         * modules/realloc (configure.ac): Define GNULIB_REALLOC_GNU always.
43992         * lib/realloc.c (SYSTEM_MALLOC_GLIBC_COMPATIBLE): New macro.
43993         (malloc): Undefine also before including <stdlib.h>.
43994         (rpl_realloc): Turn malloc(0) into malloc(1) if necessary.
43995         Needed on OSF/1 4.0.
43996
43997 2007-11-05  Jim Meyering  <meyering@redhat.com>
43998
43999         git-version-gen: sync from coreutils.
44000         * build-aux/git-version-gen: Add comments.
44001         Change the first '-' to '.' in the snapshot version string,
44002         e.g., 6.9-377-08144 -> 6.9.377-08144
44003         Remove first parameter.
44004         Don't declare a version "-dirty" merely because a time
44005         stamp has changed.
44006
44007 2007-11-04  Bruno Haible  <bruno@clisp.org>
44008
44009         * lib/lock.h: Protect all macro definitions containing an 'if'
44010         statement through a "do { ... } while (0)".
44011         * lib/tls.h: Likewise.
44012
44013 2007-11-04  Bruno Haible  <bruno@clisp.org>
44014
44015         * lib/vasnprintf.c (DCHAR_IS_TCHAR, DCHAR_CPY): Undefine at the end.
44016
44017 2007-11-04  Bruno Haible  <bruno@clisp.org>
44018
44019         * m4/printf.m4 (gl_PRINTF_ENOMEM): Use GL_NOCRASH.
44020         * modules/fprintf-posix (Depends-on): Add nocrash.
44021         * modules/snprintf-posix (Depends-on): Likewise.
44022         * modules/sprintf-posix (Depends-on): Likewise.
44023         * modules/vasnprintf-posix (Depends-on): Likewise.
44024         * modules/vasprintf-posix (Depends-on): Likewise.
44025         * modules/vfprintf-posix (Depends-on): Likewise.
44026         * modules/vsnprintf-posix (Depends-on): Likewise.
44027         * modules/vsprintf-posix (Depends-on): Likewise.
44028         * modules/unistdio/u8-vasnprintf (Depends-on): Likewise.
44029         * modules/unistdio/u8-u8-vasnprintf (Depends-on): Likewise.
44030         * modules/unistdio/u16-vasnprintf (Depends-on): Likewise.
44031         * modules/unistdio/u16-u16-vasnprintf (Depends-on): Likewise.
44032         * modules/unistdio/u32-vasnprintf (Depends-on): Likewise.
44033         * modules/unistdio/u32-u32-vasnprintf (Depends-on): Likewise.
44034         * modules/unistdio/ulc-vasnprintf (Depends-on): Likewise.
44035
44036 2007-11-04  Bruno Haible  <bruno@clisp.org>
44037
44038         * modules/nocrash: New file.
44039         * m4/nocrash.m4: New file, taken from GNU clisp. Code taken from
44040         GNU libsigsegv, with permission of GNU libsigsegv's copyright holders.
44041
44042 2007-11-04  Bruno Haible  <bruno@clisp.org>
44043
44044         * tests/test-vasnprintf-posix.c (test_function): Add some tests of
44045         precision handling.
44046         * tests/test-vasprintf-posix.c (test_function): Likewise.
44047         * tests/test-snprintf-posix.h (test_function): Likewise.
44048         * tests/test-sprintf-posix.h (test_function): Likewise.
44049
44050         Fix *printf behaviour for large precisions on mingw and BeOS.
44051         * m4/printf.m4 (gl_PRINTF_PRECISION): New macro.
44052         * lib/vasnprintf.c (VASNPRINTF): Handle NEED_PRINTF_UNBOUNDED_PRECISION.
44053         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF_PRECISION): New macro.
44054         (gl_PREREQ_VASNPRINTF_WITH_EXTRAS): Invoke it.
44055         * m4/fprintf-posix.m4 (gl_FUNC_FPRINTF_POSIX): Invoke
44056         gl_PRINTF_PRECISION and test its result. Invoke
44057         gl_PREREQ_VASNPRINTF_PRECISION.
44058         * m4/snprintf-posix.m4 (gl_FUNC_SNPRINTF_POSIX): Likewise.
44059         * m4/sprintf-posix.m4 (gl_FUNC_SPRINTF_POSIX): Likewise.
44060         * m4/vasnprintf-posix.m4 (gl_FUNC_VASNPRINTF_POSIX): Likewise.
44061         * m4/vasprintf-posix.m4 (gl_FUNC_VASPRINTF_POSIX): Likewise.
44062         * m4/vfprintf-posix.m4 (gl_FUNC_VFPRINTF_POSIX): Likewise.
44063         * m4/vsnprintf-posix.m4 (gl_FUNC_VSNPRINTF_POSIX): Likewise.
44064         * m4/vsprintf-posix.m4 (gl_FUNC_VSPRINTF_POSIX): Likewise.
44065         * doc/functions/fprintf.texi: Update.
44066         * doc/functions/printf.texi: Update.
44067         * doc/functions/snprintf.texi: Update.
44068         * doc/functions/sprintf.texi: Update.
44069         * doc/functions/vfprintf.texi: Update.
44070         * doc/functions/vprintf.texi: Update.
44071         * doc/functions/vsnprintf.texi: Update.
44072         * doc/functions/vsprintf.texi: Update.
44073
44074 2007-11-04  Bruno Haible  <bruno@clisp.org>
44075
44076         * lib/vasnprintf.c (scale10_round_decimal_decoded): Fix shift loop.
44077
44078 2007-11-04  Bruno Haible  <bruno@clisp.org>
44079
44080         * modules/relocatable-prog (Files): Add m4/lib-ld.m4.
44081         Reported by Sylvain Beucler <beuc@gnu.org>.
44082
44083 2007-11-03  Bruno Haible  <bruno@clisp.org>
44084
44085         * tests/test-fprintf-posix2.sh: New file.
44086         * tests/test-fprintf-posix2.c: New file.
44087         * modules/fprintf-posix-tests (Files): Add them.
44088         (TESTS): Add test-fprintf-posix2.sh.
44089         (configure.ac): Check for getrlimit and setrlimit.
44090         (check_PROGRAMS): Add test-fprintf-posix2.
44091
44092         * tests/test-printf-posix2.sh: New file.
44093         * tests/test-printf-posix2.c: New file.
44094         * modules/printf-posix-tests (Files): Add them.
44095         (TESTS): Add test-printf-posix2.sh.
44096         (configure.ac): Check for getrlimit and setrlimit.
44097         (check_PROGRAMS): Add test-printf-posix2.
44098
44099         Fix *printf behaviour in out-of-memory situations on MacOS X and *BSD.
44100         * m4/printf.m4 (gl_PRINTF_ENOMEM): New macro.
44101         * lib/vasnprintf.c: Implement NEED_PRINTF_DOUBLE.
44102         (decode_double): New function, copied from decode_long_double.
44103         (scale10_round_decimal_decoded): New function, extracted from
44104         scale10_round_decimal_long_double.
44105         (scale10_round_decimal_long_double): Use it.
44106         (scale10_round_decimal_double): New function.
44107         (floorlog10): New function.
44108         (VASNPRINTF): Handle NEED_PRINTF_DOUBLE case.
44109         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF_ENOMEM): New macro.
44110         (gl_PREREQ_VASNPRINTF_WITH_EXTRAS): Invoke it.
44111         * m4/fprintf-posix.m4 (gl_FUNC_FPRINTF_POSIX): Invoke
44112         gl_PRINTF_ENOMEM and test its result. Invoke
44113         gl_PREREQ_VASNPRINTF_ENOMEM.
44114         * m4/snprintf-posix.m4 (gl_FUNC_SNPRINTF_POSIX): Likewise.
44115         * m4/sprintf-posix.m4 (gl_FUNC_SPRINTF_POSIX): Likewise.
44116         * m4/vasnprintf-posix.m4 (gl_FUNC_VASNPRINTF_POSIX): Likewise.
44117         * m4/vasprintf-posix.m4 (gl_FUNC_VASPRINTF_POSIX): Likewise.
44118         * m4/vfprintf-posix.m4 (gl_FUNC_VFPRINTF_POSIX): Likewise.
44119         * m4/vsnprintf-posix.m4 (gl_FUNC_VSNPRINTF_POSIX): Likewise.
44120         * m4/vsprintf-posix.m4 (gl_FUNC_VSPRINTF_POSIX): Likewise.
44121         * modules/fprintf-posix (Depends-on): Add frexp-nolibm.
44122         * modules/snprintf-posix (Depends-on): Likewise.
44123         * modules/sprintf-posix (Depends-on): Likewise.
44124         * modules/vasnprintf-posix (Depends-on): Likewise.
44125         * modules/vasprintf-posix (Depends-on): Likewise.
44126         * modules/vfprintf-posix (Depends-on): Likewise.
44127         * modules/vsnprintf-posix (Depends-on): Likewise.
44128         * modules/vsprintf-posix (Depends-on): Likewise.
44129         * doc/functions/fprintf.texi: Update.
44130         * doc/functions/printf.texi: Update.
44131         * doc/functions/snprintf.texi: Update.
44132         * doc/functions/sprintf.texi: Update.
44133         * doc/functions/vfprintf.texi: Update.
44134         * doc/functions/vprintf.texi: Update.
44135         * doc/functions/vsnprintf.texi: Update.
44136         * doc/functions/vsprintf.texi: Update.
44137
44138 2007-11-03  Bruno Haible  <bruno@clisp.org>
44139
44140         * modules/frexp-nolibm-tests: New file.
44141
44142         * modules/frexp-nolibm: New file.
44143         * m4/frexp.m4 (gl_FUNC_FREXP_NO_LIBM): New macro.
44144
44145 2007-11-03  Bruno Haible  <bruno@clisp.org>
44146
44147         * lib/vasnprintf.c (VASNPRINTF): Don't assume that snprintf's return
44148         value is C99 compliant.
44149         Needed for OSF/1 5.1.
44150
44151 2007-11-03  Bruno Haible  <bruno@clisp.org>
44152
44153         Fix out-of-memory handling of vasnprintf.
44154         * lib/printf-parse.c: Include <errno.h>.
44155         (PRINTF_PARSE): When failing, set errno to EINVAL or ENOMEM.
44156         * lib/vasnprintf.c (VASNPRINTF): When PRINTF_PARSE fails, assume errno
44157         is already set.
44158
44159 2007-11-02  Eric Blake  <ebb9@byu.net>
44160
44161         Fix tests on cygwin.
44162         * modules/xprintf-posix-tests (Makefile.am): Link against -lintl.
44163
44164 2007-11-01  Bruno Haible  <bruno@clisp.org>
44165
44166         * lib/stdlib.in.h (putenv): Remove the "not POSIX compliant everywhere"
44167         warning.
44168         * doc/functions/putenv.texi: Clarify that the 'putenv' module is not
44169         needed for POSIX compatibility.
44170
44171 2007-11-01  Paul Eggert  <eggert@cs.ucla.edu>
44172
44173         * m4/putenv.m4 (gl_FUNC_PUTENV): Also mention that we're checking
44174         for compatibility with GNU.
44175
44176 2007-11-01  Bruno Haible  <bruno@clisp.org>
44177
44178         * lib/putenv.c: Include <stdlib.h>. Remove rpl_putenv declaration.
44179         (putenv): Renamed from rpl_putenv. Change argument type from
44180         'const char *' to 'char *'.
44181         * m4/putenv.m4 (gl_FUNC_PUTENV): Require gl_STDLIB_H_DEFAULTS. Instead
44182         of defining putenv in config.h, just set REPLACE_PUTENV.
44183         * modules/putenv (Depends-on): Add stdlib.
44184         (configure.ac): Invoke gl_STDLIB_MODULE_INDICATOR.
44185         (Include): Use <stdlib.h>.
44186         * lib/stdlib.in.h (putenv): New declaration.
44187         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize GNULIB_PUTENV and
44188         REPLACE_PUTENV.
44189         * modules/stdlib (Makefile.am): Substitute GNULIB_PUTENV and
44190         REPLACE_PUTENV.
44191         Needed for MacOS X 10.5.0.
44192         Reported by Peter O'Gorman <peter@pogma.com>.
44193
44194 2007-11-01  Jim Meyering  <meyering@redhat.com>
44195
44196         Treat an empty date string exactly like "0".
44197         * lib/getdate.y (get_date): Once any isspace or TZ= prefix is consumed,
44198         if the remaining date string (to be parsed) is empty, use "0".
44199         Reported by Mischa Molhoek and discussed in this thread:
44200         <http://thread.gmane.org/gmane.comp.gnu.coreutils.bugs/11726>.
44201
44202 2007-10-31  Bruno Haible  <bruno@clisp.org>
44203
44204         * m4/intmax_t.m4 (gl_AC_TYPE_INTMAX_T, gt_AC_TYPE_INTMAX_T): Use
44205         AC_TYPE_LONG_LONG_INT instead of gl_AC_TYPE_LONG_LONG.
44206         * m4/uintmax_t.m4 (gl_AC_TYPE_UINTMAX_T): Use
44207         AC_TYPE_UNSIGNED_LONG_LONG_INT instead of gl_AC_TYPE_UNSIGNED_LONG_LONG.
44208         * m4/longlong.m4 (gl_AC_TYPE_LONG_LONG): Remove macro.
44209         * m4/ulonglong.m4 (gl_AC_TYPE_UNSIGNED_LONG_LONG): Remove macro.
44210
44211 2007-10-31  Bruno Haible  <bruno@clisp.org>
44212
44213         * m4/longlong.m4 (_AC_TYPE_LONG_LONG_SNIPPET): New macro, extracted
44214         from AC_TYPE_LONG_LONG_INT and AC_TYPE_UNSIGNED_LONG_LONG_INT.
44215         (AC_TYPE_LONG_LONG_INT): Use it.
44216         (AC_TYPE_UNSIGNED_LONG_LONG_INT): Moved here from m4/ulonglong.m4. Use
44217         it as well.
44218         * m4/ulonglong.m4 (AC_TYPE_UNSIGNED_LONG_LONG_INT): Remove macro; moved
44219         to m4/longlong.m4.
44220         * modules/stdint (Files): Remove m4/ulonglong.m4.
44221         * modules/strtoull (Files): Use m4/longlong.m4 instead of
44222         m4/ulonglong.m4.
44223         * modules/strtoumax (Files): Likewise.
44224
44225 2007-10-30  Bruno Haible  <bruno@clisp.org>
44226
44227         * modules/xvasprintf-posix: New file.
44228         Suggested by Eric Blake.
44229
44230 2007-10-30  Bruno Haible  <bruno@clisp.org>
44231
44232         * modules/xprintf-posix-tests: New file.
44233         * tests/test-xprintf-posix.sh: New file.
44234         * tests/test-xprintf-posix.c: New file.
44235         * tests/test-xfprintf-posix.c: New file.
44236
44237         * modules/xprintf-posix: New file.
44238
44239 2007-10-30  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
44240
44241         * modules/fbufmode-tests (MOSTLYCLEANFILES): Remove temp files.
44242         * modules/freadable-tests (MOSTLYCLEANFILES): Likewise.
44243         * modules/fwritable-tests (MOSTLYCLEANFILES): Likewise.
44244
44245 2007-10-29  Bruno Haible  <bruno@clisp.org>
44246
44247         * m4/floorf.m4 (gl_FUNC_FLOORF_LIBS): Rename the cache variable to
44248         contain the special marker '_cv_'.
44249         * m4/floor.m4 (gl_FUNC_FLOOR_LIBS): Likewise.
44250         * m4/floorl.m4 (gl_FUNC_FLOORL_LIBS): Likewise.
44251         * m4/ceilf.m4 (gl_FUNC_CEILF_LIBS): Likewise.
44252         * m4/ceil.m4 (gl_FUNC_CEIL_LIBS): Likewise.
44253         * m4/ceill.m4 (gl_FUNC_CEILL_LIBS): Likewise.
44254         Reported by Ralf Wildenhues.
44255
44256 2007-10-29  Bruno Haible  <bruno@clisp.org>
44257
44258         * gnulib-tool (func_import): When --lgpl is not specified, set
44259         sed_transform_lib_file to convert LGPL and GPLv2+ copyright headers to
44260         GPLv3.
44261         Reported by Simon Josefsson.
44262
44263 2007-10-28  Bruno Haible  <bruno@clisp.org>
44264
44265         * lib/math.in.h: Test REPLACE_ISFINITE instead of HAVE_DECL_ISFINITE.
44266         * m4/isfinite.m4 (gl_ISFINITE): Initialize REPLACE_ISFINITE instead of
44267         HAVE_DECL_ISFINITE.
44268         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Update.
44269         * modules/math (Makefile.am): Substitute REPLACE_ISFINITE instead of
44270         HAVE_DECL_ISFINITE.
44271
44272 2007-10-28  Bruno Haible  <bruno@clisp.org>
44273
44274         * lib/stdint.in.h (_STDINT_MAX): Subtract 1 from an unused signed
44275         integer shift in the signed case. Fixes warnings with OSF/1 5.1 cc.
44276
44277 2007-10-28  Bruno Haible  <bruno@clisp.org>
44278
44279         Fix link errors with Sun C 5.0 on Solaris 10.
44280         * m4/floorf.m4 (gl_FUNC_FLOORF): Consider also the case that the
44281         function is declared but not present in the compiler's libm.
44282         * m4/floorl.m4 (gl_FUNC_FLOORL): Likewise.
44283         * m4/ceilf.m4 (gl_FUNC_CEILF): Likewise.
44284         * m4/ceill.m4 (gl_FUNC_CEILL: Likewise.
44285         * lib/math.in.h: Test REPLACE_CEILF instead of HAVE_DECL_CEILF.
44286         Test REPLACE_CEILL instead of HAVE_DECL_CEILL.
44287         Test REPLACE_FLOORF instead of HAVE_DECL_FLOORF.
44288         Test REPLACE_FLOORL instead of HAVE_DECL_FLOORL.
44289         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Update.
44290         * modules/math (Makefile.am): Substitute REPLACE_CEILF instead of
44291         HAVE_DECL_CEILF, REPLACE_CEILL instead of HAVE_DECL_CEILL,
44292         REPLACE_FLOORF instead of HAVE_DECL_FLOORF, REPLACE_FLOORL instead of
44293         HAVE_DECL_FLOORL.
44294
44295 2007-10-28  Bruno Haible  <bruno@clisp.org>
44296
44297         * m4/floorl.m4 (gl_FUNC_FLOORL_LIBS): New macro, extracted from
44298         gl_FUNC_FLOORL. Cache the result.
44299         (gl_FUNC_FLOORL): Use it.
44300         * m4/ceill.m4 (gl_FUNC_CEILL_LIBS): New macro, extracted from
44301         gl_FUNC_CEILL. Cache the result.
44302         (gl_FUNC_CEILL): Use it.
44303
44304         * m4/floor.m4 (gl_FUNC_FLOOR_LIBS): New macro, extracted from
44305         gl_FUNC_FLOOR. Cache the result.
44306         (gl_FUNC_FLOOR): Use it.
44307         * m4/ceil.m4 (gl_FUNC_CEIL_LIBS): New macro, extracted from
44308         gl_FUNC_CEIL. Cache the result.
44309         (gl_FUNC_CEIL): Use it.
44310
44311         * m4/floorf.m4 (gl_FUNC_FLOORF_LIBS): New macro, extracted from
44312         gl_FUNC_FLOORF. Cache the result.
44313         (gl_FUNC_FLOORF): Use it.
44314         * m4/ceilf.m4 (gl_FUNC_CEILF_LIBS): New macro, extracted from
44315         gl_FUNC_CEILF. Cache the result.
44316         (gl_FUNC_CEILF): Use it.
44317
44318 2007-10-28  Bruno Haible  <bruno@clisp.org>
44319
44320         * gnulib-tool: Allow specifying the LGPL version number through
44321         --lgpl=2 or --lgpl=3.
44322         (func_usage): Document --lgpl with argument.
44323         Handle --lgpl=... arguments.
44324         (func_import): Recognize also gl_LGPL calls with an argument. When
44325         --lgpl=2 is used and the module's license is just LGPL, report an
44326         error. Set sed_transform_lib_file according to the lgpl variable. In
44327         the generated files, use --lgpl or gl_LGPL invocations with argument,
44328         if necessary.
44329         * doc/gnulib-intro.texi (Copyright): Explain how to get modules under
44330         an LGPv2+ license.
44331         * doc/gnulib-tool.texi (Modified imports): Update explanation of
44332         gl_LGPL macro.
44333
44334 2007-10-28  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
44335             Bruno Haible  <bruno@clisp.org>
44336
44337         * lib/unistr.h (u8_uctomb_aux): Declare also if !HAVE_INLINE.
44338         (u16_uctomb_aux): Likewise.
44339         * lib/unistr/u8-uctomb-aux.c (u8_uctomb_aux): Define also if
44340         !HAVE_INLINE.
44341         * lib/unistr/u16-uctomb-aux.c (u16_uctomb_aux): Likewise
44342
44343 2007-10-28  Bruno Haible  <bruno@clisp.org>
44344
44345         * modules/error: Add a notice recommending to change XGETTEXT_OPTIONS.
44346         Invoke AM_GETTEXT_OPTION if it exists.
44347         * modules/vasprintf: Likewise.
44348         * modules/verror: Likewise.
44349         * modules/xprintf: Likewise.
44350         * modules/xvasprintf: Likewise.
44351
44352 2007-10-27  Ben Pfaff  <blp@gnu.org>
44353
44354         * lib/math.in.h: Define isfinite macro and prototypes for
44355         gl_isfinitef, gl_isfinited, gl_isfinitel if we are providing
44356         implementations.
44357         * m4/math_h.m4: New substitutions for isfinite module.
44358         * lib/isfinite.c: New file.
44359         * m4/isfinite.m4: New file.
44360         * modules/math: Replace isfinite-related @VARS@ in math.in.h.
44361         * modules/isfinite: New file.
44362         * modules/isfinite-tests: New file.
44363         * tests/tests-isfinite.c: New file.
44364         * doc/functions/isfinite.texi: Mention isfinite module.
44365         * MODULES.html.sh: Mention new module.
44366
44367 2007-10-27  Ben Pfaff  <blp@gnu.org>
44368
44369         Ralf Wildenhues reported that Tru64 4.0D declares the round
44370         functions but does not have definitions.
44371         * m4/check-math-lib.m4 (gl_CHECK_MATH_LIB): If the target function
44372         cannot be found in any library, set the output variable to
44373         "missing" instead of "".
44374         * m4/round.m4: Also use our substitute if we cannot find round in
44375         any library, even if it is declared.
44376         * m4/roundf.m4: Likewise for roundf.
44377         * m4/roundl.m4: Likewise for roundl.
44378         * lib/math.in.h: Undefine roundf, round, roundl before defining
44379         their replacements, to allow for hypothetical systems where these
44380         may be defined as macros but not available in libraries.
44381
44382 2007-10-27  Bruno Haible  <bruno@clisp.org>
44383
44384         * doc/gnulib.texi: Invoke @firstparagraphindent.
44385         * doc/gnulib-tool.texi (Simple update): Mention possible incompatible
44386         changes in gnulib.
44387         (Source changes): New section.
44388
44389 2007-10-26  Bruno Haible  <bruno@clisp.org>
44390
44391         * m4/gnulib-common.m4 (AC_C_RESTRICT): New overriding definition,
44392         borrowed from autoconf.
44393
44394 2007-10-26  Bruno Haible  <bruno@clisp.org>
44395
44396         * lib/strerror.c (rpl_strerror): Return "Unknown error ..." also if
44397         strerror returned the empty string. Needed on HP-UX 11.00.
44398
44399 2007-10-24  Micah Cowan  <micah@cowan.name>
44400
44401         Remove vestiges of cvs-gnulib-checkout process.  Now we use git.
44402         * build-aux/bootstrap: Remove support for now-unnecessary option,
44403         --cvs-user, and envvars CVS_USER, CVS_RSH.
44404
44405 2007-10-24  Jim Meyering  <meyering@redhat.com>
44406
44407         Avoid diagnostics from sha1sum when there is no cached checksum.
44408         * build-aux/bootstrap (update_po_files): Skip the sha1sum check
44409         if the po.s1 file hasn't been created yet.
44410
44411         * build-aux/bootstrap: Sync from coreutils:
44412         2007-10-24  Jim Meyering  <meyering@redhat.com>
44413         Get gnulib from the git repository, not from an obsolete cvs one.
44414         * build-aux/bootstrap: Suggestion from Micah Cowan.
44415         2007-10-04  Jim Meyering  <jim@meyering.net>
44416         * build-aux/bootstrap (slurp): Adapt to _.h -> .in.h name change.
44417         (update_po_files): Work also when there are no .po files in po/.
44418
44419 2007-10-24  Paul Eggert  <eggert@cs.ucla.edu>
44420
44421         * README: Append ".git" to git and cg examples.
44422         Problem reported by Benoit Sigoure.
44423
44424 2007-10-23  Micah Cowan  <micah@cowan.name>
44425
44426         * users.txt: Add wget.
44427
44428 2007-10-23  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
44429
44430         Fix linking of some unistdio tests on FreeBSD.
44431         * modules/unistdio/u16-vsnprintf-tests
44432         (test_u16_vsprintf1_LDADD): Add @LIBINTL@.
44433         * modules/unistdio/u16-vsprintf-tests
44434         (test_u16_vsnprintf1_LDADD): Likewise.
44435         * modules/unistdio/u32-vsnprintf-tests
44436         (test_u32_vsnprintf1_LDADD): Likewise.
44437         * modules/unistdio/u32-vsprintf-tests
44438         (test_u32_vsprintf1_LDADD): Likewise.
44439         * modules/unistdio/u8-vsnprintf-tests
44440         (test_u8_vsnprintf1_LDADD): Likewise.
44441         * modules/unistdio/u8-vsprintf-tests
44442         (test_u8_vsprintf1_LDADD): Likewise.
44443         * modules/unistdio/ulc-vsnprintf-tests
44444         (test_ulc_vsnprintf1_LDADD): Likewise.
44445         * modules/unistdio/ulc-vsprintf-tests
44446         (test_ulc_vsprintf1_LDADD): Likewise.
44447
44448         Fix linking of some uniconv tests on FreeBSD.
44449         * modules/uniconv/u16-conv-from-enc-tests
44450         (test_u16_conv_from_enc_LDADD): Link $(LDADD) before @LIBICONV@.
44451         * modules/uniconv/u16-conv-to-enc-tests
44452         (test_u16_conv_to_enc_LDADD): Likewise.
44453         * modules/uniconv/u16-strconv-from-enc-tests
44454         (test_u16_strconv_from_enc_LDADD): Likewise.
44455         * modules/uniconv/u16-strconv-to-enc-tests
44456         (test_u16_strconv_to_enc_LDADD): Likewise.
44457         * modules/uniconv/u32-conv-from-enc-tests
44458         (test_u32_conv_from_enc_LDADD): Likewise.
44459         * modules/uniconv/u32-conv-to-enc-tests
44460         (test_u32_conv_to_enc_LDADD): Likewise.
44461         * modules/uniconv/u32-strconv-from-enc-tests
44462         (test_u32_strconv_from_enc_LDADD): Likewise.
44463         * modules/uniconv/u32-strconv-to-enc-tests
44464         (test_u32_strconv_to_enc_LDADD): Likewise.
44465         * modules/uniconv/u8-conv-from-enc-tests
44466         (test_u8_conv_from_enc_LDADD): Likewise.
44467         * modules/uniconv/u8-conv-to-enc-tests
44468         (test_u8_conv_to_enc_LDADD): Likewise.
44469         * modules/uniconv/u8-strconv-from-enc-tests
44470         (test_u8_strconv_from_enc_LDADD): Likewise.
44471         * modules/uniconv/u8-strconv-to-enc-tests
44472         (test_u8_strconv_to_enc_LDADD): Likewise.
44473
44474 2007-10-22  Bruno Haible  <bruno@clisp.org>
44475
44476         * lib/stdint.in.h: Add check that intmax_t and uintmax_t have the same
44477         size.
44478
44479 2007-10-22  Eric Blake  <ebb9@byu.net>
44480
44481         Tweak x*printf documentation.
44482         * lib/xprintf.c (xprintf, xvprintf, xfprintf, xvfprintf): Adjust
44483         variable name and comments.
44484         Suggested by Bruno Haible.
44485
44486 2007-10-22  Bruno Haible  <bruno@clisp.org>
44487
44488         * lib/acl.c (copy_acl): Fix file name in comment.
44489
44490 2007-10-22  Paul Eggert  <eggert@cs.ucla.edu>
44491
44492         Fix Tru64 problem with stdbool.h.
44493         * lib/stdbool.in.h (false, true):
44494         [! (defined __cplusplus || defined __BEOS__) && !defined __GNUC__]:
44495         Don't declare as an enum in this situation; it runs afoul of Tru64.
44496         Problem reported by Steven M. Schweda in
44497         <http://lists.gnu.org/archive/html/bug-autoconf/2007-10/msg00019.html>.
44498
44499 2007-10-22  Eric Blake  <ebb9@byu.net>
44500
44501         Also wrap vf?printf.
44502         * lib/xprintf.h (xvprintf, xvfprintf): New declarations.
44503         * lib/xprintf.c (xprintf, xfprintf): Work for C89.
44504         (xvprintf, xvfprintf): New functions.
44505
44506 2007-10-22  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
44507
44508         * modules/fstrcmp-tests (test_fstrcmp_LDADD): New, add
44509         @LIBINTL@ for FreeBSD 6.2, $(LIBTHREAD) for AIX 4.3.3.
44510
44511         * lib/uniconv/u16-conv-to-enc.c (U_MBLEN): Define.
44512         * lib/uniconv/u32-conv-to-enc.c (U_MBLEN): Likewise.
44513
44514 2007-10-22  Paul Eggert  <eggert@cs.ucla.edu>
44515
44516         * lib/acl.c (copy_acl): Adjust to IRIX 6.5.  Problem reported
44517         by Bruno Haible.
44518
44519 2007-10-22  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
44520
44521         * lib/getloadavg.c
44522         [defined (__osf__) && (defined (__alpha) || defined (__alpha__)]:
44523         Undef `sys' after including sys/table.h, for Tru64 4.0D.
44524
44525         * tests/test-i-ring.c: Work for C89.
44526
44527 2007-10-22  Bruno Haible  <bruno@clisp.org>
44528
44529         * m4/ulonglong.m4 (AC_TYPE_UNSIGNED_LONG_LONG_INT): Use -1ull, not
44530         -1u, in preprocessor expression, so that we don't test for the bug
44531         in HP-UX 11.00 cpp.  Testing for this bug caused problems; see
44532         <http://lists.gnu.org/archive/html/bug-gnulib/2007-10/msg00329.html>.
44533
44534 2007-10-22  Eric Blake  <ebb9@byu.net>
44535
44536         * tests/test-yesno.sh: Silence stderr during test.
44537
44538 2007-10-22  Simon Josefsson  <simon@josefsson.org>
44539
44540         * modules/crypto/gc-camellia: New file.
44541
44542         * m4/gc-camellia.m4: New file.
44543
44544         * lib/gc-libgcrypt.c (gc_cipher_open): Support Camellia.
44545
44546         * lib/gc.h (enum Gc_cipher): Add GC_CAMELLIA128, GC_CAMELLIA256.
44547
44548 2007-10-22  Simon Josefsson  <simon@josefsson.org>
44549
44550         * build-aux/maint.mk (gzip_rsyncable): Don't fail if gzip sends
44551         --help to stdout.  Reported by sms@antinode.org (Steven
44552         M. Schweda).
44553
44554 2007-10-22  Simon Josefsson  <simon@josefsson.org>
44555
44556         * users.txt: Fix link to libksba.
44557
44558 2007-10-21  Ben Pfaff  <blp@gnu.org>
44559
44560         * modules/roundf-tests: Add dependency on floorf, ceilf to allow
44561         round.c roundf implementation that depends on floorf and ceilf to
44562         be tested unconditionally.
44563
44564 2007-10-21  Ben Pfaff  <blp@gnu.org>
44565
44566         * m4/check-libm-func.m4: Removed.
44567         * m4/check-math-lib.m4: New file.
44568         * m4/round.m4: Rewrite to use gl_CHECK_MATH_LIB.
44569         * m4/roundf.m4: Ditto, and fix lack of HAVE_DECL_ROUNDF
44570         definition and lack of AC_LIBOBJ([roundf]).
44571         * m4/roundl.m4: Ditto, and similarly for roundl.
44572         * modules/round: Reference new m4 file.
44573         * modules/roundf: Ditto.
44574         * modules/roundl: Ditto.
44575         * tests/test-round2.c (main): Use ROUND instead of round.
44576         Bug report from Bruno Haible.
44577
44578 2007-10-21  Bruno Haible  <bruno@clisp.org>
44579
44580         * lib/printf-parse.c: Don't assume <stdint.h> exists in IN_LIBASPRINTF
44581         context.
44582
44583 2007-10-21  Bruno Haible  <bruno@clisp.org>
44584
44585         * tests/test-wcwidth.c (main): Allow negative result for some control
44586         characters.
44587
44588         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Check also the width of U+200B.
44589         Needed on OSF/1 5.1.
44590
44591 2007-10-21  Bruno Haible  <bruno@clisp.org>
44592
44593         * tests/test-floorf1.c: Include isnanf.h.
44594         (main): Use isnanf() instead of isnan().
44595         * tests/test-ceilf1.c: Include isnanf.h.
44596         (main): Use isnanf() instead of isnan().
44597         * tests/test-truncf1.c: Include isnanf.h.
44598         (main): Use isnanf() instead of isnan().
44599         * tests/test-roundf1.c: Include isnanf.h.
44600         (main): Use isnanf() instead of isnan().
44601
44602 2007-10-21  Eric Blake  <ebb9@byu.net>
44603
44604         * users.txt: Update URL for m4.
44605
44606 2007-10-21  Bruno Haible  <bruno@clisp.org>
44607
44608         * users.txt: Add clisp. Update URLs to Simon Josefsson's projects.
44609
44610 2007-10-21  Bruno Haible  <bruno@clisp.org>
44611
44612         * gnulib-tool (func_create_megatestdir): Determine the cvsdate from
44613         Git's management files if the CVS files are not present.
44614
44615 2007-10-20  Bruno Haible  <bruno@clisp.org>
44616
44617         * lib/count-one-bits.h (COUNT_ONE_BITS): Use the builtin also for
44618         gcc-3.4.x.
44619
44620 2007-10-20  Ben Pfaff  <blp@gnu.org>
44621
44622         * lib/math.in.h: Declare round, roundf, roundl if we are providing
44623         implementations.
44624         * m4/math_h.m4: New substitutions for round, roundf, roundl modules.
44625         * lib/round.c: New file.
44626         * lib/roundf.c: New file.
44627         * lib/roundl.c: New file.
44628         * m4/round.m4: New file.
44629         * m4/roundf.m4: New file.
44630         * m4/roundl.m4: New file.
44631         * m4/check-libm-func-m4: New file.
44632         * modules/math: Replace round, roundf, roundl related @VARS@ in
44633         math.in.h.
44634         * modules/round: New file.
44635         * modules/round-tests: New file.
44636         * modules/roundf: New file.
44637         * modules/roundf-tests: New file.
44638         * modules/roundl: New file.
44639         * modules/roundl-tests: New file.
44640         * tests/test-round1.c: New file.
44641         * tests/test-round2.c: New file.
44642         * tests/test-roundf1.c: New file.
44643         * tests/test-roundf2.c: New file.
44644         * tests/test-roundl.c: New file.
44645         * doc/functions/round.texi: Mention round module.
44646         * doc/functions/roundf.texi: Mention roundf module.
44647         * doc/functions/roundl.texi: Mention roundl module.
44648         * MODULES.html.sh: Mention new modules.
44649         Thanks to Bruno Haible for suggestions.
44650
44651 2007-10-20  Jim Meyering  <meyering@redhat.com>
44652
44653         * lib/xprintf.c: Include <config.h> unconditionally.
44654
44655         Change xprintf's license to GPL.
44656         * modules/xprintf (License): s/LGPL/GPL/, since this module
44657         depends on modules (exit and exitfail) which are GPL.
44658         Suggestion from Bruno Haible.
44659
44660         xprintf fixes.
44661         * lib/xprintf.c (xprintf, xfprintf): Use va_end.
44662         Use a clearer diagnostic.
44663         Patch from Bruno Haible.
44664
44665 2007-10-20  Bruno Haible  <bruno@clisp.org>
44666
44667         * lib/vasnprintf.c (VASNPRINTF): Don't report overflow if the available
44668         length is INT_MAX and sizeof (DCHAR_T) > sizeof (TCHAR_T).
44669         Reported by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
44670
44671 2007-10-20  Bruno Haible  <bruno@clisp.org>
44672
44673         * tests/test-floorf2.c (correct_result_p): Don't rely on excess
44674         precision in the comparison result > x - 1 or similar.
44675         * tests/test-ceilf2.c (correct_result_p): Likewise.
44676         * tests/test-truncf2.c (correct_result_p): Likewise.
44677         * tests/test-trunc2.c (correct_result_p): Likewise.
44678         Reported by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
44679
44680 2007-10-20  Bruno Haible  <bruno@clisp.org>
44681
44682         * modules/ceil: New file.
44683         * m4/ceil.m4: New file.
44684         * doc/functions/ceil.texi: Mention the 'ceil' module.
44685
44686 2007-10-20  Bruno Haible  <bruno@clisp.org>
44687
44688         * modules/floor: New file.
44689         * m4/floor.m4: New file.
44690         * doc/functions/floor.texi: Mention the 'floor' module.
44691
44692 2007-10-20  Bruno Haible  <bruno@clisp.org>
44693
44694         * modules/ceilf-tests (Depends-on): Add fprintf-posix. Needed for use
44695         of %a.
44696         * modules/floorf-tests (Depends-on): Likewise.
44697         * modules/truncf-tests (Depends-on): Likewise.
44698         * modules/trunc-tests (Depends-on): Likewise.
44699         Reported by Ben Pfaff.
44700
44701 2007-10-19  Jim Meyering  <meyering@redhat.com>
44702
44703         * lib/xprintf.c (xprintf, xfprintf): Test err < 0, not just "err".
44704         Don't bother testing specific errno values.  Just test ferror.
44705
44706         New module: xprintf
44707         * modules/xprintf, lib/xprintf.c, lib/xprintf.h: New files.
44708
44709 2007-10-19  Bruno Haible  <bruno@clisp.org>
44710
44711         * modules/csharpexec (Makefile.am): Use @FOO@ syntax instead of $(FOO)
44712         syntax.
44713         * modules/javaexec (Makefile.am): Likewise.
44714         * modules/relocatable-prog (Makefile.am): Likewise.
44715         Suggested by Jim Meyering.
44716
44717 2007-10-18  Bruno Haible  <bruno@clisp.org>
44718
44719         * lib/vasnprintf.c (VASNPRINTF): Don't use %n on glibc >= 2.3 systems.
44720         Reported by Jim Meyering.
44721
44722 2007-10-18  Eric Blake  <ebb9@byu.net>
44723
44724         * modules/filenamecat-tests (Makefile.am): Link against -lintl.
44725
44726 2007-10-18  Bruno Haible  <bruno@clisp.org>
44727
44728         * m4/printf.m4 (gl_PRINTF_DIRECTIVE_N, gl_SNPRINTF_DIRECTIVE_N): Put
44729         the format string into writable memory. Needed in Fortify conditions.
44730
44731 2007-10-18  Colin Watson <cjwatson@debian.org>  (tiny change)
44732             Bruno Haible  <bruno@clisp.org>
44733
44734         * lib/trim.c: Include config.h unconditionally. Include trim.h always.
44735         Include ctype.h always. Include stdlib.h, not mbuiter.h, for MB_CUR_MAX.
44736         * modules/trim (Depends-on): Add mbchar.
44737         (configure.ac): Add gl_FUNC_MBRTOWC.
44738         (Makefile.am): Augment lib_SOURCES.
44739
44740 2007-10-17  Paul Eggert  <eggert@cs.ucla.edu>
44741
44742         Modify glob.c to use fstatat and dirfd, to simplify it.
44743         Suggested by Eric Blake.
44744         * lib/glob.c (__fxstatat64) [!_LIBC]: New macro.
44745         Don't include <stdbool.h>; not used.
44746         (link_exists2_p, glob_in_dir) [!_LIBC]: No longer a special case.
44747         (link_exists_p): Simplify implementation, since we can now assume
44748         dirfd and fstatat.
44749         * modules/glob (Depends-on): Add dirfd, openat.  Remove stdbool.
44750
44751 2007-10-17  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
44752
44753         * gnulib-tool (func_get_dependencies): Fix sed script to
44754         match only tests.
44755
44756 2007-10-17  Bruno Haible  <bruno@clisp.org>
44757
44758         * m4/locale-fr.m4 (gt_LOCALE_FR, gt_LOCALE_FR_UTF8): On Cygwin, don't
44759         allow locale names without encoding suffix.
44760         * m4/locale-tr.m4 (gt_LOCALE_TR_UTF8): Likewise.
44761         * m4/locale-zh.m4 (gt_LOCALE_ZH_CN): Likewise.
44762
44763 2007-10-16  Bruno Haible  <bruno@clisp.org>
44764
44765         * lib/getcwd.c (__getcwd): Define with explicit rpl_ prefix.
44766         * lib/getgroups.c (getgroups): Likewise.
44767         * lib/gettimeofday.c (localtime, gmtime, tzset): Likewise.
44768
44769 2007-10-16  Bruno Haible  <bruno@clisp.org>
44770
44771         * modules/absolute-header (License): Change from LGPL to LGPLv2+.
44772         * modules/malloc-posix (License): Likewise.
44773         * modules/realloc-posix (License): Likewise.
44774         * modules/calloc-posix (License): Likewise.
44775         * modules/intprops (License): Change from GPL to LGPL, with
44776         Paul Eggert's approval.
44777
44778 2007-10-16  Paul Eggert  <eggert@cs.ucla.edu>
44779
44780         Merge glibc changes into lib/glob.c.
44781
44782         * lib/glob.c (glob_in_dir): Sync with glibc/posix/glob.c, dated
44783         2007-10-15 04:59:03 UTC.  Here are the changes:
44784
44785         2007-10-14  Ulrich Drepper  <drepper@redhat.com>
44786
44787         * lib/glob.c: Reimplement link_exists_p to use fstatat64.
44788
44789         * lib/glob.c: Add some branch prediction throughout.
44790
44791         2007-10-07  Ulrich Drepper  <drepper@redhat.com>
44792
44793         [BZ #5103]
44794         * lib/glob.c (glob): Recognize patterns starting \/.
44795
44796         2007-02-14  Jakub Jelinek  <jakub@redhat.com>
44797
44798         [BZ #3996]
44799         * lib/glob.c (attribute_hidden): Define if not defined.
44800         (glob): Unescape dirname, filename or username when needed and not
44801         GLOB_NOESCAPE.  Handle \/ correctly.  Handle GLOB_MARK if filename
44802         is NULL.  Handle unescaped [ in pattern without closing ].
44803         Don't pass GLOB_CHECK down to recursive glob for directories.
44804         (__glob_pattern_type): New function.
44805         (__glob_pattern_p): Implement using __glob_pattern_type.
44806         (glob_in_dir): Handle GLOB_NOCHECK patterns containing no meta
44807         characters and backslashes if not GLOB_NOESCAPE or unterminated [.
44808         Remove unreachable code.
44809
44810         2006-09-30  Ulrich Drepper  <drepper@redhat.com>
44811
44812         * lib/glob.c (glob_in_dir): Add some comments and asserts to
44813         explain why there are no leaks.
44814
44815         2006-09-25  Jakub Jelinek  <jakub@redhat.com>
44816
44817         [BZ #3253]
44818         * lib/glob.c (glob_in_dir): Don't alloca one struct globlink at a
44819         time, rather allocate increasingly bigger arrays of pointers, if
44820         possible with alloca, if too large with malloc.
44821
44822 2007-10-16  Paul Eggert  <eggert@cs.ucla.edu>
44823
44824         Check for 64-bit int errors in HP-UX 10.20 preprocessor.
44825         Problem reported by H.Merijn Brand in
44826         <http://lists.gnu.org/archive/html/bug-tar/2007-10/msg00018.html>.
44827         * m4/longlong.m4 (AC_TYPE_LONG_LONG_INT): Check preprocessor too.
44828         * m4/ulonglong.m4 (AC_TYPE_UNSIGNED_LONG_LONG_INT): Likewise.
44829
44830 2007-10-15  Bruno Haible  <bruno@clisp.org>
44831
44832         * lib/fchdir.c (close, open, closedir, opendir, dup, dup2): Define
44833         with explicit rpl_ prefix.
44834         * lib/fopen.c (fopen): Likewise.
44835         * lib/freopen.c (freopen): Likewise.
44836         * lib/iconv.c (iconv): Likewise.
44837         * lib/iconv_close.c (iconv_close): Likewise.
44838
44839 2007-10-15  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
44840
44841         * m4/iconv_open (gl_FUNC_ICONV_OPEN_UTF): Fix cache variable name.
44842
44843 2007-10-15  Bruno Haible  <bruno@clisp.org>
44844
44845         * m4/getaddrinfo.m4 (gl_GETADDRINFO, gl_PREREQ_GETADDRINFO): Use
44846         <stddef.h> instead of <stdlib.h> since we only need NULL.
44847         Reported by Ben Pfaff <blp@cs.stanford.edu>.
44848
44849 2007-10-15  Bruno Haible  <bruno@clisp.org>
44850
44851         * doc/gnulib-tool.texi (Initial import): Swap order of -I directives.
44852         Replace paragraph talking about LIBOBJS.
44853         Reported by Colin Watson <cjwatson@debian.org>.
44854
44855 2007-10-15  Bruno Haible  <bruno@clisp.org>
44856
44857         * m4/getaddrinfo.m4 (gl_GETADDRINFO, gl_PREREQ_GETADDRINFO): Include
44858         <stdlib.h> before using NULL.
44859
44860 2007-10-15  Simon Josefsson  <simon@josefsson.org>
44861
44862         * m4/getaddrinfo.m4: Use NULL rather than 0 for pointers.
44863         Reported by Albert Chin <china@thewrittenword.com>.
44864
44865 2007-10-14  Bruno Haible  <bruno@clisp.org>
44866
44867         * modules/iconv_open-utf-tests: New file.
44868         * tests/test-iconv-utf.c: New file.
44869
44870         Enhance iconv_open to support UTF-16BE, UTF-16LE, UTF-32BE, UTF-32LE.
44871         * modules/iconv_open-utf: New file.
44872         * lib/iconv.in.h (_ICONV_UTF8_UTF*, _ICONV_UTF*_UTF8): New macros.
44873         (iconv, iconv_close): New declarations.
44874         * lib/iconv_open.c: Include c-strcase.h. Don't require ICONV_FLAVOR to
44875         be defined.
44876         (iconv_open): Add special handling of conversion between UTF-8 and
44877         UTF-{16,32}{BE,LE}.
44878         * lib/iconv.c: New file, incorporating code from GNU libiconv 1.11.
44879         * lib/iconv_close.c: New file.
44880         * m4/iconv_open.m4 (gl_REPLACE_ICONV_OPEN): New macro, extracted from
44881         gl_FUNC_ICONV_OPEN.
44882         (gl_FUNC_ICONV_OPEN): Use it.
44883         (gl_FUNC_ICONV_OPEN_UTF): New macro.
44884         * m4/iconv_h.m4 (gl_ICONV_H_DEFAULTS): Initialize also REPLACE_ICONV
44885         and REPLACE_ICONV_UTF.
44886         * modules/iconv_open (Depends-on): Add c-strcase.
44887         (Makefile.am): Substitute also REPLACE_ICONV, REPLACE_ICONV_UTF,
44888         ICONV_CONST.
44889         * doc/functions/iconv_open.texi: Mention the iconv_open-utf module.
44890
44891 2007-10-13  Albert Chin  <china@thewrittenword.com>
44892             Bruno Haible  <bruno@clisp.org>
44893
44894         * m4/getaddrinfo.m4 (gl_GETADDRINFO): Perform the test for getaddrinfo
44895         through a link check that includes <netdb.h>. Needed for OSF/1 5.1.
44896
44897 2007-10-13  Bruno Haible  <bruno@clisp.org>
44898
44899         * lib/argp-fmtstream.h (ARGP_FS_EI): If __GNUC_STDC_INLINE__ is
44900         defined, use the ISO C99 inline semantics.
44901         * lib/argp.h (ARGP_EI): Likewise.
44902
44903 2007-10-13  Bruno Haible  <bruno@clisp.org>
44904
44905         Handle 'inline' change in gcc 4.3.0.
44906         * lib/argp-fmtstream.h (argp_fmtstream_putc, argp_fmtstream_puts,
44907         argp_fmtstream_write, argp_fmtstream_set_lmargin,
44908         argp_fmtstream_set_rmargin, argp_fmtstream_set_wmargin,
44909         argp_fmtstream_point): Disable 'extern' declaration if the function
44910         definition is going to be provided inline.
44911         (ARGP_FS_EI): If __GNUC_STDC_INLINE__ is defined, use the GNU C inline
44912         semantics, not the ISO C99 inline semantics.
44913         * lib/argp.h (argp_usage, _option_is_short, _option_is_end): Disable
44914         'extern' declaration if the function definition is going to be provided
44915         inline.
44916         (ARGP_EI): Don't assume GNU C. If __GNUC_STDC_INLINE__ is defined, use
44917         the GNU C inline semantics, not the ISO C99 inline semantics. With
44918         GCC 4.2, avoid a warning.
44919
44920 2007-10-13  Bruno Haible  <bruno@clisp.org>
44921
44922         * lib/freading.h (freading): Enable the use of __freading for
44923         glibc >= 2.7.
44924         * lib/freading.c (freading): Likewise.
44925
44926 2007-10-12  Paul Eggert  <eggert@cs.ucla.edu>
44927
44928         * lib/argp-fmtstream.h (ARGP_FS_EI): Work around GCC 4.2.1 diagnostic
44929         "warning: C99 inline functions are not supported; using GNU89".
44930
44931 2007-10-12  Bruno Haible  <bruno@clisp.org>
44932
44933         * lib/ceil.c (FUNC): Avoid rounding errors for values near a power
44934         of 2.
44935         * tests/test-ceilf2.c: New file.
44936         * modules/ceilf-tests: (Files, Depends-on, Makefile.am): Add new test.
44937
44938         * tests/test-ceilf1.c: Renamed from tests/test-ceilf.c.
44939         * modules/ceilf-tests: Update.
44940
44941 2007-10-12  Bruno Haible  <bruno@clisp.org>
44942
44943         * lib/floor.c (FUNC): Avoid rounding errors for values near a power
44944         of 2.
44945         * tests/test-floorf2.c: New file.
44946         * modules/floorf-tests: (Files, Depends-on, Makefile.am): Add new test.
44947
44948         * tests/test-floorf1.c: Renamed from tests/test-floorf.c.
44949         * modules/floorf-tests: Update.
44950
44951 2007-10-12  Bruno Haible  <bruno@clisp.org>
44952
44953         * tests/test-trunc2.c: New file.
44954         * modules/trunc-tests: (Files, Depends-on, Makefile.am): Add new test.
44955
44956         * tests/test-trunc1.c: Renamed from tests/test-trunc.c.
44957         * modules/trunc-tests: Update.
44958
44959 2007-10-12  Bruno Haible  <bruno@clisp.org>
44960
44961         * lib/trunc.c (FUNC): Avoid rounding errors for values near a power
44962         of 2.
44963         * tests/test-truncf2.c: New file.
44964         * modules/truncf-tests: (Files, Depends-on, Makefile.am): Add new test.
44965
44966         * tests/test-truncf1.c: Renamed from tests/test-truncf.c.
44967         * modules/truncf-tests: Update.
44968
44969 2007-10-11  Eric Blake  <ebb9@byu.net>
44970
44971         Don't claim strerror is broken on Interix.
44972         * doc/functions/strerror.texi (strerror): Known broken systems are
44973         now Solaris 8, and not Interix.
44974         * m4/strerror.m4 (gl_FUNC_STRERROR_SEPARATE): No longer filter out
44975         Interix on cross-compile.
44976         Reported by Martin Koeppe in
44977         http://lists.gnu.org/archive/html/bug-gnulib/2007-10/msg00005.html.
44978
44979 2007-10-11  Bruno Haible  <bruno@clisp.org>
44980
44981         * modules/i-ring-tests: New file.
44982         * tests/test-i-ring.c: Renamed from lib/i-ring-test.c. Use ASSERT
44983         instead of assert.
44984
44985 2007-10-11  Bruno Haible  <bruno@clisp.org>
44986
44987         * modules/filenamecat-tests: New file.
44988         * tests/test-filenamecat.c: New file, extracted from lib/filenamecat.c.
44989         * lib/filenamecat.c: Remove test code.
44990
44991 2007-10-11  Paul Eggert  <eggert@cs.ucla.edu>
44992
44993         Simplify and modernize strerror substitute, partly to fix Solaris 8 bug.
44994
44995         * lib/strerror.c: Include <string.h> always, to test interface,
44996         and to remove the need for the dummy.
44997         Include intprops.h to compute width instead of doing it ourselves
44998         and missing a CHAR_BIT declaration, which broke tar 1.19 on Solaris 8.
44999         (strerror): Define it to return NULL if there's no system strerror.
45000         (rpl_strerror): Use INT_STRLEN_BOUND to compute bound.
45001         Omit !HAVE_STRERROR code.  We don't need to worry about supporting
45002         ancient pre-strerror Unix systems well any more.  Saying "unknown
45003         system error" is enough.
45004         * lib/string.in.h (strerror): Simplify the ifdef to reflect the
45005         simpler strerror.c implementation.
45006         * m4/strerror.m4 (gl_FUNC_STRERROR_SEPARATE, gl_PREREQ_STDERROR):
45007         Simplify the tests to reflect the simpler strerror implementation.
45008         * modules/strerror (Depends-on): Add intprops.
45009
45010 2007-10-09  Eric Blake  <ebb9@byu.net>
45011
45012         Silence test-fpending.
45013         * modules/fpending-tests (Files): Add wrapper script.
45014         * tests/test-fpending.sh: New file.
45015
45016 2007-10-09  Bruno Haible  <bruno@clisp.org>
45017
45018         * MODULES.html.sh (func_module): Don't create a hyperlink for
45019         function names like 'printf_frexp'.
45020         (Misc): Add crc, memxor.
45021         (Characteristics of floating types): New section.
45022         (Mathematics): Add ceilf, ceill, floorf, floorl, frexpl-nolibm,
45023         isnanf-nolibm, signbit, trunc, truncf, truncl.
45024         (Enhancements for ISO C 99 functions): New subsection Input/output.
45025         (Support for systems lacking POSIX:2001): Add arpa_inet, calloc-posix,
45026         fcntl, fopen, freopen, fseek, fseeko, ftell, ftello, iconv_open,
45027         locale, malloc-posix, netinet_in, open, realloc-posix, signal, sleep.
45028         (Compatibility checks for POSIX:2001 functions): Add clock-time.
45029         (Enhancements for POSIX:2001 functions): Add chdir-long.
45030         (File system functions): Add areadlink, chdir-safer, read-file.
45031         Remove cycle-check.
45032         (File system as inode set): New section.
45033         (Date and time): Add gethrxtime.
45034         (Multithreading): Add openmp.
45035         (Internationalization functions): Add localename.
45036         (Unicode string functions): Add unistr/u*-mbsnlen.
45037         (Support for maintaining and releasing projects): Add git-version-gen.
45038         (Lone files): Remove directories.
45039
45040 2007-10-08  Ben Pfaff  <blp@gnu.org>
45041
45042         * lib/xmalloca.h: Fix typo in comment.
45043
45044 2007-10-08  Paul Eggert  <eggert@cs.ucla.edu>
45045
45046         * lib/xnanosleep.c (xnanosleep): Don't assume GCC 4.3.0 behavior
45047         when avoiding problems with integer overflow.  Use a portable test
45048         instead.
45049
45050 2007-10-08  Simon Josefsson  <simon@josefsson.org>
45051
45052         * modules/dummy (License): Change to LGPLv2+.
45053         * modules/float (License): Likewise
45054         * modules/realloc (License): Likewise
45055         * modules/stdlib (License): Likewise
45056
45057 2007-10-07  Bruno Haible  <bruno@clisp.org>
45058
45059         * trunc.c (TWO_MANT_DIG): Change type to DOUBLE.
45060         * floor.c (TWO_MANT_DIG): Likewise.
45061         * ceil.c (TWO_MANT_DIG): Likewise.
45062         Reported by Ben Pfaff.
45063
45064 2007-10-07  Bruno Haible  <bruno@clisp.org>
45065
45066         Avoid gcc warnings "declaration of 'exp' shadows a global declaration".
45067         * lib/math.in.h (frexp, frexpl): Change parameter name to 'expptr'.
45068         * lib/frexp.c (FUNC): Likewise.
45069         * lib/printf-frexp.h (printf_frexp): Likewise.
45070         * lib/printf-frexpl.h (printf_frexpl): Likewise.
45071         * lib/printf-frexp.c (FUNC): Likewise.
45072         Suggested by Jim Meyering.
45073
45074 2007-10-07  Jim Meyering  <meyering@redhat.com>
45075
45076         Make xnanosleep's integer overflow test more robust.
45077         * lib/xnanosleep.c (xnanosleep): Declare a temporary to be "volatile",
45078         so that gcc-4.3.0 doesn't optimize away this test for overflow.
45079
45080 2007-10-07  Bruno Haible  <bruno@clisp.org>
45081
45082         * NEWS: Mention the license change.
45083
45084         * doc/gnulib-intro.texi (Copyright): Update the meaning of the license
45085         abbreviations in the modules files.
45086
45087         Change copyright notice from GPLv2+ to GPLv3+.
45088         * README: Change copyright notice.
45089         * MODULES.html.sh: Likewise.
45090         * build-aux/bootstrap.conf: Likewise.
45091         * build-aux/config.libpath: Likewise.
45092         * build-aux/csharpcomp.sh.in: Likewise.
45093         * build-aux/csharpexec.sh.in: Likewise.
45094         * build-aux/install-reloc: Likewise.
45095         * build-aux/javacomp.sh.in: Likewise.
45096         * build-aux/javaexec.sh.in: Likewise.
45097         * build-aux/ldd.sh.in: Likewise.
45098         * build-aux/reloc-ldflags: Likewise.
45099         * build-aux/relocatable.sh.in: Likewise.
45100         * build-aux/x-to-1.in: Likewise.
45101         * check-module: Likewise.
45102         * config/srclistvars.sh: Likewise.
45103         * gnulib-tool: Likewise.
45104         * lib/acl-internal.h: Likewise.
45105         * lib/acl.c: Likewise.
45106         * lib/acl.h: Likewise.
45107         * lib/acl_entries.c: Likewise.
45108         * lib/areadlink-with-size.c: Likewise.
45109         * lib/areadlink.c: Likewise.
45110         * lib/areadlink.h: Likewise.
45111         * lib/argmatch.c: Likewise.
45112         * lib/argmatch.h: Likewise.
45113         * lib/argp-ba.c: Likewise.
45114         * lib/argp-eexst.c: Likewise.
45115         * lib/argp-fmtstream.c: Likewise.
45116         * lib/argp-fmtstream.h: Likewise.
45117         * lib/argp-fs-xinl.c: Likewise.
45118         * lib/argp-help.c: Likewise.
45119         * lib/argp-namefrob.h: Likewise.
45120         * lib/argp-parse.c: Likewise.
45121         * lib/argp-pin.c: Likewise.
45122         * lib/argp-pv.c: Likewise.
45123         * lib/argp-pvh.c: Likewise.
45124         * lib/argp-xinl.c: Likewise.
45125         * lib/argp.h: Likewise.
45126         * lib/at-func.c: Likewise.
45127         * lib/atanl.c: Likewise.
45128         * lib/backupfile.c: Likewise.
45129         * lib/backupfile.h: Likewise.
45130         * lib/basename.c: Likewise.
45131         * lib/binary-io.h: Likewise.
45132         * lib/byteswap.in.h: Likewise.
45133         * lib/c-stack.c: Likewise.
45134         * lib/c-stack.h: Likewise.
45135         * lib/c-strcasestr.c: Likewise.
45136         * lib/c-strcasestr.h: Likewise.
45137         * lib/c-strstr.c: Likewise.
45138         * lib/c-strstr.h: Likewise.
45139         * lib/c-strtod.c: Likewise.
45140         * lib/calloc.c: Likewise.
45141         * lib/canon-host.c: Likewise.
45142         * lib/canon-host.h: Likewise.
45143         * lib/canonicalize-lgpl.c: Likewise.
45144         * lib/canonicalize.c: Likewise.
45145         * lib/canonicalize.h: Likewise.
45146         * lib/ceil.c: Likewise.
45147         * lib/ceilf.c: Likewise.
45148         * lib/ceill.c: Likewise.
45149         * lib/chdir-long.c: Likewise.
45150         * lib/chdir-long.h: Likewise.
45151         * lib/chdir-safer.c: Likewise.
45152         * lib/chdir-safer.h: Likewise.
45153         * lib/chown.c: Likewise.
45154         * lib/classpath.c: Likewise.
45155         * lib/classpath.h: Likewise.
45156         * lib/clean-temp.c: Likewise.
45157         * lib/clean-temp.h: Likewise.
45158         * lib/cloexec.c: Likewise.
45159         * lib/close-stream.c: Likewise.
45160         * lib/closein.c: Likewise.
45161         * lib/closein.h: Likewise.
45162         * lib/closeout.c: Likewise.
45163         * lib/closeout.h: Likewise.
45164         * lib/concat-filename.c: Likewise.
45165         * lib/copy-file.c: Likewise.
45166         * lib/copy-file.h: Likewise.
45167         * lib/count-one-bits.h: Likewise.
45168         * lib/crc.c: Likewise.
45169         * lib/crc.h: Likewise.
45170         * lib/creat-safer.c: Likewise.
45171         * lib/csharpcomp.c: Likewise.
45172         * lib/csharpcomp.h: Likewise.
45173         * lib/csharpexec.c: Likewise.
45174         * lib/csharpexec.h: Likewise.
45175         * lib/cycle-check.c: Likewise.
45176         * lib/cycle-check.h: Likewise.
45177         * lib/diacrit.c: Likewise.
45178         * lib/diacrit.h: Likewise.
45179         * lib/diffseq.h: Likewise.
45180         * lib/dirchownmod.c: Likewise.
45181         * lib/dirent.in.h: Likewise.
45182         * lib/dirfd.c: Likewise.
45183         * lib/dirfd.h: Likewise.
45184         * lib/dirname.c: Likewise.
45185         * lib/dirname.h: Likewise.
45186         * lib/dummy.c: Likewise.
45187         * lib/dup-safer.c: Likewise.
45188         * lib/dup2.c: Likewise.
45189         * lib/eealloc.h: Likewise.
45190         * lib/error.c: Likewise.
45191         * lib/error.h: Likewise.
45192         * lib/euidaccess.c: Likewise.
45193         * lib/exclude.c: Likewise.
45194         * lib/exclude.h: Likewise.
45195         * lib/execute.c: Likewise.
45196         * lib/execute.h: Likewise.
45197         * lib/exitfail.c: Likewise.
45198         * lib/exitfail.h: Likewise.
45199         * lib/expl.c: Likewise.
45200         * lib/fatal-signal.c: Likewise.
45201         * lib/fatal-signal.h: Likewise.
45202         * lib/fbufmode.c: Likewise.
45203         * lib/fbufmode.h: Likewise.
45204         * lib/fchdir.c: Likewise.
45205         * lib/fchmodat.c: Likewise.
45206         * lib/fchownat.c: Likewise.
45207         * lib/fcntl--.h: Likewise.
45208         * lib/fcntl-safer.h: Likewise.
45209         * lib/fcntl.in.h: Likewise.
45210         * lib/fd-safer.c: Likewise.
45211         * lib/fflush.c: Likewise.
45212         * lib/file-has-acl.c: Likewise.
45213         * lib/file-set.c: Likewise.
45214         * lib/file-type.c: Likewise.
45215         * lib/file-type.h: Likewise.
45216         * lib/fileblocks.c: Likewise.
45217         * lib/filemode.c: Likewise.
45218         * lib/filemode.h: Likewise.
45219         * lib/filename.h: Likewise.
45220         * lib/filenamecat.c: Likewise.
45221         * lib/filenamecat.h: Likewise.
45222         * lib/findprog.c: Likewise.
45223         * lib/findprog.h: Likewise.
45224         * lib/float.in.h: Likewise.
45225         * lib/floor.c: Likewise.
45226         * lib/floorf.c: Likewise.
45227         * lib/floorl.c: Likewise.
45228         * lib/fopen-safer.c: Likewise.
45229         * lib/fopen.c: Likewise.
45230         * lib/fpending.c: Likewise.
45231         * lib/fpending.h: Likewise.
45232         * lib/fprintf.c: Likewise.
45233         * lib/fprintftime.h: Likewise.
45234         * lib/fpucw.h: Likewise.
45235         * lib/fpurge.c: Likewise.
45236         * lib/fpurge.h: Likewise.
45237         * lib/freadable.c: Likewise.
45238         * lib/freadable.h: Likewise.
45239         * lib/freadahead.c: Likewise.
45240         * lib/freadahead.h: Likewise.
45241         * lib/freading.c: Likewise.
45242         * lib/freading.h: Likewise.
45243         * lib/free.c: Likewise.
45244         * lib/freopen.c: Likewise.
45245         * lib/frexp.c: Likewise.
45246         * lib/frexpl.c: Likewise.
45247         * lib/fseek.c: Likewise.
45248         * lib/fseterr.c: Likewise.
45249         * lib/fseterr.h: Likewise.
45250         * lib/fstatat.c: Likewise.
45251         * lib/fstrcmp.c: Likewise.
45252         * lib/fstrcmp.h: Likewise.
45253         * lib/fsusage.c: Likewise.
45254         * lib/fsusage.h: Likewise.
45255         * lib/ftell.c: Likewise.
45256         * lib/ftello.c: Likewise.
45257         * lib/fts-cycle.c: Likewise.
45258         * lib/fts.c: Likewise.
45259         * lib/fts_.h: Likewise.
45260         * lib/full-read.c: Likewise.
45261         * lib/full-read.h: Likewise.
45262         * lib/full-write.c: Likewise.
45263         * lib/full-write.h: Likewise.
45264         * lib/fwritable.c: Likewise.
45265         * lib/fwritable.h: Likewise.
45266         * lib/fwriteerror.c: Likewise.
45267         * lib/fwriteerror.h: Likewise.
45268         * lib/fwriting.c: Likewise.
45269         * lib/fwriting.h: Likewise.
45270         * lib/gcd.c: Likewise.
45271         * lib/gcd.h: Likewise.
45272         * lib/getcwd.c: Likewise.
45273         * lib/getdate.h: Likewise.
45274         * lib/getdate.y: Likewise.
45275         * lib/getdomainname.c: Likewise.
45276         * lib/getdomainname.h: Likewise.
45277         * lib/getgroups.c: Likewise.
45278         * lib/gethostname.c: Likewise.
45279         * lib/gethrxtime.c: Likewise.
45280         * lib/gethrxtime.h: Likewise.
45281         * lib/getloadavg.c: Likewise.
45282         * lib/getndelim2.c: Likewise.
45283         * lib/getndelim2.h: Likewise.
45284         * lib/getnline.c: Likewise.
45285         * lib/getnline.h: Likewise.
45286         * lib/getopt.c: Likewise.
45287         * lib/getopt.in.h: Likewise.
45288         * lib/getopt1.c: Likewise.
45289         * lib/getopt_int.h: Likewise.
45290         * lib/getpagesize.h: Likewise.
45291         * lib/getsubopt.c: Likewise.
45292         * lib/gettime.c: Likewise.
45293         * lib/getugroups.c: Likewise.
45294         * lib/getugroups.h: Likewise.
45295         * lib/getusershell.c: Likewise.
45296         * lib/gl_anyavltree_list1.h: Likewise.
45297         * lib/gl_anyavltree_list2.h: Likewise.
45298         * lib/gl_anyhash_list1.h: Likewise.
45299         * lib/gl_anyhash_list2.h: Likewise.
45300         * lib/gl_anylinked_list1.h: Likewise.
45301         * lib/gl_anylinked_list2.h: Likewise.
45302         * lib/gl_anyrbtree_list1.h: Likewise.
45303         * lib/gl_anyrbtree_list2.h: Likewise.
45304         * lib/gl_anytree_list1.h: Likewise.
45305         * lib/gl_anytree_list2.h: Likewise.
45306         * lib/gl_anytree_oset.h: Likewise.
45307         * lib/gl_anytreehash_list1.h: Likewise.
45308         * lib/gl_anytreehash_list2.h: Likewise.
45309         * lib/gl_array_list.c: Likewise.
45310         * lib/gl_array_list.h: Likewise.
45311         * lib/gl_array_oset.c: Likewise.
45312         * lib/gl_array_oset.h: Likewise.
45313         * lib/gl_avltree_list.c: Likewise.
45314         * lib/gl_avltree_list.h: Likewise.
45315         * lib/gl_avltree_oset.c: Likewise.
45316         * lib/gl_avltree_oset.h: Likewise.
45317         * lib/gl_avltreehash_list.c: Likewise.
45318         * lib/gl_avltreehash_list.h: Likewise.
45319         * lib/gl_carray_list.c: Likewise.
45320         * lib/gl_carray_list.h: Likewise.
45321         * lib/gl_linked_list.c: Likewise.
45322         * lib/gl_linked_list.h: Likewise.
45323         * lib/gl_linkedhash_list.c: Likewise.
45324         * lib/gl_linkedhash_list.h: Likewise.
45325         * lib/gl_list.c: Likewise.
45326         * lib/gl_list.h: Likewise.
45327         * lib/gl_oset.c: Likewise.
45328         * lib/gl_oset.h: Likewise.
45329         * lib/gl_rbtree_list.c: Likewise.
45330         * lib/gl_rbtree_list.h: Likewise.
45331         * lib/gl_rbtree_oset.c: Likewise.
45332         * lib/gl_rbtree_oset.h: Likewise.
45333         * lib/gl_rbtreehash_list.c: Likewise.
45334         * lib/gl_rbtreehash_list.h: Likewise.
45335         * lib/gl_sublist.c: Likewise.
45336         * lib/gl_sublist.h: Likewise.
45337         * lib/group-member.c: Likewise.
45338         * lib/group-member.h: Likewise.
45339         * lib/hard-locale.c: Likewise.
45340         * lib/hard-locale.h: Likewise.
45341         * lib/hash-pjw.c: Likewise.
45342         * lib/hash-pjw.h: Likewise.
45343         * lib/hash-triple.c: Likewise.
45344         * lib/hash.c: Likewise.
45345         * lib/hash.h: Likewise.
45346         * lib/human.c: Likewise.
45347         * lib/human.h: Likewise.
45348         * lib/i-ring.c: Likewise.
45349         * lib/i-ring.h: Likewise.
45350         * lib/idcache.c: Likewise.
45351         * lib/imaxabs.c: Likewise.
45352         * lib/imaxdiv.c: Likewise.
45353         * lib/inet_pton.c: Likewise.
45354         * lib/inet_pton.h: Likewise.
45355         * lib/intprops.h: Likewise.
45356         * lib/inttostr.c: Likewise.
45357         * lib/inttostr.h: Likewise.
45358         * lib/inttypes.in.h: Likewise.
45359         * lib/isapipe.c: Likewise.
45360         * lib/isdir.c: Likewise.
45361         * lib/isnan.c: Likewise.
45362         * lib/isnan.h: Likewise.
45363         * lib/isnanf.c: Likewise.
45364         * lib/isnanf.h: Likewise.
45365         * lib/isnanl-nolibm.h: Likewise.
45366         * lib/isnanl.c: Likewise.
45367         * lib/isnanl.h: Likewise.
45368         * lib/javacomp.c: Likewise.
45369         * lib/javacomp.h: Likewise.
45370         * lib/javaexec.c: Likewise.
45371         * lib/javaexec.h: Likewise.
45372         * lib/javaversion.c: Likewise.
45373         * lib/javaversion.h: Likewise.
45374         * lib/javaversion.java: Likewise.
45375         * lib/lbrkprop.h: Likewise.
45376         * lib/lchmod.h: Likewise.
45377         * lib/lchown.c: Likewise.
45378         * lib/ldexpl.c: Likewise.
45379         * lib/linebreak.c: Likewise.
45380         * lib/linebreak.h: Likewise.
45381         * lib/linebuffer.c: Likewise.
45382         * lib/linebuffer.h: Likewise.
45383         * lib/locale.in.h: Likewise.
45384         * lib/logl.c: Likewise.
45385         * lib/long-options.c: Likewise.
45386         * lib/long-options.h: Likewise.
45387         * lib/lstat.c: Likewise.
45388         * lib/lstat.h: Likewise.
45389         * lib/math.in.h: Likewise.
45390         * lib/mbchar.c: Likewise.
45391         * lib/mbchar.h: Likewise.
45392         * lib/mbfile.h: Likewise.
45393         * lib/mbiter.h: Likewise.
45394         * lib/mbscasecmp.c: Likewise.
45395         * lib/mbscasestr.c: Likewise.
45396         * lib/mbschr.c: Likewise.
45397         * lib/mbscspn.c: Likewise.
45398         * lib/mbslen.c: Likewise.
45399         * lib/mbsncasecmp.c: Likewise.
45400         * lib/mbsnlen.c: Likewise.
45401         * lib/mbspbrk.c: Likewise.
45402         * lib/mbspcasecmp.c: Likewise.
45403         * lib/mbsrchr.c: Likewise.
45404         * lib/mbssep.c: Likewise.
45405         * lib/mbsspn.c: Likewise.
45406         * lib/mbsstr.c: Likewise.
45407         * lib/mbstok_r.c: Likewise.
45408         * lib/mbswidth.c: Likewise.
45409         * lib/mbswidth.h: Likewise.
45410         * lib/mbuiter.h: Likewise.
45411         * lib/memcasecmp.c: Likewise.
45412         * lib/memcasecmp.h: Likewise.
45413         * lib/memchr.c: Likewise.
45414         * lib/memcmp.c: Likewise.
45415         * lib/memcoll.c: Likewise.
45416         * lib/memcoll.h: Likewise.
45417         * lib/memcpy.c: Likewise.
45418         * lib/memrchr.c: Likewise.
45419         * lib/mkancesdirs.c: Likewise.
45420         * lib/mkdir-p.c: Likewise.
45421         * lib/mkdir-p.h: Likewise.
45422         * lib/mkdir.c: Likewise.
45423         * lib/mkdirat.c: Likewise.
45424         * lib/mkdtemp.c: Likewise.
45425         * lib/mkstemp-safer.c: Likewise.
45426         * lib/mkstemp.c: Likewise.
45427         * lib/modechange.c: Likewise.
45428         * lib/modechange.h: Likewise.
45429         * lib/mountlist.c: Likewise.
45430         * lib/mountlist.h: Likewise.
45431         * lib/mpsort.c: Likewise.
45432         * lib/nanosleep.c: Likewise.
45433         * lib/obstack.c: Likewise.
45434         * lib/obstack.h: Likewise.
45435         * lib/open-safer.c: Likewise.
45436         * lib/open.c: Likewise.
45437         * lib/openat-die.c: Likewise.
45438         * lib/openat-priv.h: Likewise.
45439         * lib/openat-proc.c: Likewise.
45440         * lib/openat.c: Likewise.
45441         * lib/openat.h: Likewise.
45442         * lib/pagealign_alloc.c: Likewise.
45443         * lib/pagealign_alloc.h: Likewise.
45444         * lib/physmem.c: Likewise.
45445         * lib/physmem.h: Likewise.
45446         * lib/pipe-safer.c: Likewise.
45447         * lib/pipe.c: Likewise.
45448         * lib/pipe.h: Likewise.
45449         * lib/posixtm.c: Likewise.
45450         * lib/posixtm.h: Likewise.
45451         * lib/posixver.c: Likewise.
45452         * lib/printf-frexp.c: Likewise.
45453         * lib/printf-frexp.h: Likewise.
45454         * lib/printf-frexpl.c: Likewise.
45455         * lib/printf-frexpl.h: Likewise.
45456         * lib/printf.c: Likewise.
45457         * lib/progname.c: Likewise.
45458         * lib/progname.h: Likewise.
45459         * lib/progreloc.c: Likewise.
45460         * lib/putenv.c: Likewise.
45461         * lib/quote.c: Likewise.
45462         * lib/quote.h: Likewise.
45463         * lib/quotearg.c: Likewise.
45464         * lib/quotearg.h: Likewise.
45465         * lib/raise.c: Likewise.
45466         * lib/readline.c: Likewise.
45467         * lib/readline.h: Likewise.
45468         * lib/readlink.c: Likewise.
45469         * lib/readtokens.c: Likewise.
45470         * lib/readtokens.h: Likewise.
45471         * lib/readtokens0.c: Likewise.
45472         * lib/readtokens0.h: Likewise.
45473         * lib/readutmp.c: Likewise.
45474         * lib/readutmp.h: Likewise.
45475         * lib/realloc.c: Likewise.
45476         * lib/relocwrapper.c: Likewise.
45477         * lib/rename-dest-slash.c: Likewise.
45478         * lib/rename.c: Likewise.
45479         * lib/rmdir.c: Likewise.
45480         * lib/rpmatch.c: Likewise.
45481         * lib/safe-read.c: Likewise.
45482         * lib/safe-read.h: Likewise.
45483         * lib/safe-write.c: Likewise.
45484         * lib/safe-write.h: Likewise.
45485         * lib/same-inode.h: Likewise.
45486         * lib/same.c: Likewise.
45487         * lib/same.h: Likewise.
45488         * lib/save-cwd.c: Likewise.
45489         * lib/save-cwd.h: Likewise.
45490         * lib/savedir.c: Likewise.
45491         * lib/savedir.h: Likewise.
45492         * lib/savewd.c: Likewise.
45493         * lib/savewd.h: Likewise.
45494         * lib/search.in.h: Likewise.
45495         * lib/setenv.c: Likewise.
45496         * lib/setenv.h: Likewise.
45497         * lib/settime.c: Likewise.
45498         * lib/sh-quote.c: Likewise.
45499         * lib/sh-quote.h: Likewise.
45500         * lib/sig2str.c: Likewise.
45501         * lib/sig2str.h: Likewise.
45502         * lib/signal.in.h: Likewise.
45503         * lib/signbitd.c: Likewise.
45504         * lib/signbitf.c: Likewise.
45505         * lib/signbitl.c: Likewise.
45506         * lib/sigprocmask.c: Likewise.
45507         * lib/sincosl.c: Likewise.
45508         * lib/sleep.c: Likewise.
45509         * lib/sprintf.c: Likewise.
45510         * lib/sqrtl.c: Likewise.
45511         * lib/stat-time.h: Likewise.
45512         * lib/stdio--.h: Likewise.
45513         * lib/stdio-safer.h: Likewise.
45514         * lib/stdlib--.h: Likewise.
45515         * lib/stdlib-safer.h: Likewise.
45516         * lib/stdlib.in.h: Likewise.
45517         * lib/stpcpy.c: Likewise.
45518         * lib/stpncpy.c: Likewise.
45519         * lib/strchrnul.c: Likewise.
45520         * lib/strcspn.c: Likewise.
45521         * lib/strerror.c: Likewise.
45522         * lib/strftime.c: Likewise.
45523         * lib/strftime.h: Likewise.
45524         * lib/striconveh.c: Likewise.
45525         * lib/striconveh.h: Likewise.
45526         * lib/striconveha.c: Likewise.
45527         * lib/striconveha.h: Likewise.
45528         * lib/stripslash.c: Likewise.
45529         * lib/strnlen1.c: Likewise.
45530         * lib/strnlen1.h: Likewise.
45531         * lib/strtod.c: Likewise.
45532         * lib/strtoimax.c: Likewise.
45533         * lib/strtok_r.c: Likewise.
45534         * lib/strtol.c: Likewise.
45535         * lib/strtoll.c: Likewise.
45536         * lib/strtoul.c: Likewise.
45537         * lib/strtoull.c: Likewise.
45538         * lib/sysexits.in.h: Likewise.
45539         * lib/tempname.c: Likewise.
45540         * lib/tempname.h: Likewise.
45541         * lib/timespec.h: Likewise.
45542         * lib/tls.c: Likewise.
45543         * lib/tls.h: Likewise.
45544         * lib/tmpdir.c: Likewise.
45545         * lib/tmpdir.h: Likewise.
45546         * lib/tmpfile-safer.c: Likewise.
45547         * lib/tmpfile.c: Likewise.
45548         * lib/trigl.c: Likewise.
45549         * lib/trigl.h: Likewise.
45550         * lib/trim.c: Likewise.
45551         * lib/trim.h: Likewise.
45552         * lib/trunc.c: Likewise.
45553         * lib/truncf.c: Likewise.
45554         * lib/truncl.c: Likewise.
45555         * lib/tsearch.c: Likewise.
45556         * lib/unicodeio.c: Likewise.
45557         * lib/unicodeio.h: Likewise.
45558         * lib/unistd--.h: Likewise.
45559         * lib/unistd-safer.h: Likewise.
45560         * lib/unistdio/ulc-fprintf.c: Likewise.
45561         * lib/unistdio/ulc-vfprintf.c: Likewise.
45562         * lib/unlinkdir.c: Likewise.
45563         * lib/unlinkdir.h: Likewise.
45564         * lib/unlocked-io.h: Likewise.
45565         * lib/unsetenv.c: Likewise.
45566         * lib/userspec.c: Likewise.
45567         * lib/utime.c: Likewise.
45568         * lib/utimecmp.c: Likewise.
45569         * lib/utimecmp.h: Likewise.
45570         * lib/utimens.c: Likewise.
45571         * lib/verify.h: Likewise.
45572         * lib/verror.c: Likewise.
45573         * lib/verror.h: Likewise.
45574         * lib/version-etc-fsf.c: Likewise.
45575         * lib/version-etc.c: Likewise.
45576         * lib/version-etc.h: Likewise.
45577         * lib/vfprintf.c: Likewise.
45578         * lib/vprintf.c: Likewise.
45579         * lib/vsprintf.c: Likewise.
45580         * lib/w32spawn.h: Likewise.
45581         * lib/wait-process.c: Likewise.
45582         * lib/wait-process.h: Likewise.
45583         * lib/wcwidth.c: Likewise.
45584         * lib/write-any-file.c: Likewise.
45585         * lib/xalloc-die.c: Likewise.
45586         * lib/xalloc.h: Likewise.
45587         * lib/xasprintf.c: Likewise.
45588         * lib/xgetcwd.c: Likewise.
45589         * lib/xgetcwd.h: Likewise.
45590         * lib/xgetdomainname.c: Likewise.
45591         * lib/xgetdomainname.h: Likewise.
45592         * lib/xgethostname.c: Likewise.
45593         * lib/xmalloc.c: Likewise.
45594         * lib/xmalloca.c: Likewise.
45595         * lib/xmalloca.h: Likewise.
45596         * lib/xmemcoll.c: Likewise.
45597         * lib/xnanosleep.c: Likewise.
45598         * lib/xreadlink.c: Likewise.
45599         * lib/xreadlink.h: Likewise.
45600         * lib/xsetenv.c: Likewise.
45601         * lib/xsetenv.h: Likewise.
45602         * lib/xstriconv.c: Likewise.
45603         * lib/xstriconv.h: Likewise.
45604         * lib/xstrndup.c: Likewise.
45605         * lib/xstrndup.h: Likewise.
45606         * lib/xstrtod.c: Likewise.
45607         * lib/xstrtod.h: Likewise.
45608         * lib/xstrtol-error.c: Likewise.
45609         * lib/xstrtol.c: Likewise.
45610         * lib/xstrtol.h: Likewise.
45611         * lib/xtime.h: Likewise.
45612         * lib/xvasprintf.c: Likewise.
45613         * lib/xvasprintf.h: Likewise.
45614         * lib/yesno.c: Likewise.
45615         * lib/yesno.h: Likewise.
45616         * posix-modules: Likewise.
45617         * tests/test-alloca-opt.c: Likewise.
45618         * tests/test-arcfour.c: Likewise.
45619         * tests/test-arctwo.c: Likewise.
45620         * tests/test-argmatch.c: Likewise.
45621         * tests/test-argp-2.sh: Likewise.
45622         * tests/test-argp.c: Likewise.
45623         * tests/test-arpa_inet.c: Likewise.
45624         * tests/test-array_list.c: Likewise.
45625         * tests/test-array_oset.c: Likewise.
45626         * tests/test-atexit.c: Likewise.
45627         * tests/test-avltree_list.c: Likewise.
45628         * tests/test-avltree_oset.c: Likewise.
45629         * tests/test-avltreehash_list.c: Likewise.
45630         * tests/test-base64.c: Likewise.
45631         * tests/test-binary-io.c: Likewise.
45632         * tests/test-byteswap.c: Likewise.
45633         * tests/test-c-ctype.c: Likewise.
45634         * tests/test-c-strcasecmp.c: Likewise.
45635         * tests/test-c-strcasestr.c: Likewise.
45636         * tests/test-c-strncasecmp.c: Likewise.
45637         * tests/test-c-strstr.c: Likewise.
45638         * tests/test-canonicalize-lgpl.c: Likewise.
45639         * tests/test-canonicalize.c: Likewise.
45640         * tests/test-carray_list.c: Likewise.
45641         * tests/test-ceilf.c: Likewise.
45642         * tests/test-ceill.c: Likewise.
45643         * tests/test-count-one-bits.c: Likewise.
45644         * tests/test-crc.c: Likewise.
45645         * tests/test-dirname.c: Likewise.
45646         * tests/test-fbufmode.c: Likewise.
45647         * tests/test-fcntl.c: Likewise.
45648         * tests/test-fflush.c: Likewise.
45649         * tests/test-floorf.c: Likewise.
45650         * tests/test-floorl.c: Likewise.
45651         * tests/test-fopen.c: Likewise.
45652         * tests/test-fprintf-posix.c: Likewise.
45653         * tests/test-fprintf-posix.h: Likewise.
45654         * tests/test-fpurge.c: Likewise.
45655         * tests/test-freadable.c: Likewise.
45656         * tests/test-freadahead.c: Likewise.
45657         * tests/test-freading.c: Likewise.
45658         * tests/test-freopen.c: Likewise.
45659         * tests/test-frexp.c: Likewise.
45660         * tests/test-frexpl.c: Likewise.
45661         * tests/test-fseek.c: Likewise.
45662         * tests/test-fseeko.c: Likewise.
45663         * tests/test-fseterr.c: Likewise.
45664         * tests/test-fstrcmp.c: Likewise.
45665         * tests/test-ftell.c: Likewise.
45666         * tests/test-ftello.c: Likewise.
45667         * tests/test-fwritable.c: Likewise.
45668         * tests/test-fwriting.c: Likewise.
45669         * tests/test-getaddrinfo.c: Likewise.
45670         * tests/test-getpass.c: Likewise.
45671         * tests/test-gettimeofday.c: Likewise.
45672         * tests/test-hmac-md5.c: Likewise.
45673         * tests/test-hmac-sha1.c: Likewise.
45674         * tests/test-iconv.c: Likewise.
45675         * tests/test-iconvme.c: Likewise.
45676         * tests/test-inttypes.c: Likewise.
45677         * tests/test-isnan.c: Likewise.
45678         * tests/test-isnanf.c: Likewise.
45679         * tests/test-isnanl-nolibm.c: Likewise.
45680         * tests/test-isnanl.c: Likewise.
45681         * tests/test-isnanl.h: Likewise.
45682         * tests/test-ldexpl.c: Likewise.
45683         * tests/test-linked_list.c: Likewise.
45684         * tests/test-linkedhash_list.c: Likewise.
45685         * tests/test-locale.c: Likewise.
45686         * tests/test-localename.c: Likewise.
45687         * tests/test-lock.c: Likewise.
45688         * tests/test-lseek.c: Likewise.
45689         * tests/test-malloca.c: Likewise.
45690         * tests/test-math.c: Likewise.
45691         * tests/test-mbscasecmp.c: Likewise.
45692         * tests/test-mbscasestr1.c: Likewise.
45693         * tests/test-mbscasestr2.c: Likewise.
45694         * tests/test-mbscasestr3.c: Likewise.
45695         * tests/test-mbscasestr4.c: Likewise.
45696         * tests/test-mbschr.c: Likewise.
45697         * tests/test-mbscspn.c: Likewise.
45698         * tests/test-mbsncasecmp.c: Likewise.
45699         * tests/test-mbspbrk.c: Likewise.
45700         * tests/test-mbspcasecmp.c: Likewise.
45701         * tests/test-mbsrchr.c: Likewise.
45702         * tests/test-mbsspn.c: Likewise.
45703         * tests/test-mbsstr1.c: Likewise.
45704         * tests/test-mbsstr2.c: Likewise.
45705         * tests/test-mbsstr3.c: Likewise.
45706         * tests/test-md5.c: Likewise.
45707         * tests/test-memmem.c: Likewise.
45708         * tests/test-netinet_in.c: Likewise.
45709         * tests/test-open.c: Likewise.
45710         * tests/test-printf-frexp.c: Likewise.
45711         * tests/test-printf-frexpl.c: Likewise.
45712         * tests/test-printf-posix.c: Likewise.
45713         * tests/test-printf-posix.h: Likewise.
45714         * tests/test-rbtree_list.c: Likewise.
45715         * tests/test-rbtree_oset.c: Likewise.
45716         * tests/test-rbtreehash_list.c: Likewise.
45717         * tests/test-read-file.c: Likewise.
45718         * tests/test-rijndael.c: Likewise.
45719         * tests/test-search.c: Likewise.
45720         * tests/test-signbit.c: Likewise.
45721         * tests/test-sleep.c: Likewise.
45722         * tests/test-snprintf-posix.c: Likewise.
45723         * tests/test-snprintf-posix.h: Likewise.
45724         * tests/test-snprintf.c: Likewise.
45725         * tests/test-sprintf-posix.c: Likewise.
45726         * tests/test-sprintf-posix.h: Likewise.
45727         * tests/test-stat-time.c: Likewise.
45728         * tests/test-stdbool.c: Likewise.
45729         * tests/test-stdint.c: Likewise.
45730         * tests/test-stdio.c: Likewise.
45731         * tests/test-stdlib.c: Likewise.
45732         * tests/test-stpncpy.c: Likewise.
45733         * tests/test-strcasestr.c: Likewise.
45734         * tests/test-striconv.c: Likewise.
45735         * tests/test-striconveh.c: Likewise.
45736         * tests/test-striconveha.c: Likewise.
45737         * tests/test-string.c: Likewise.
45738         * tests/test-sys_select.c: Likewise.
45739         * tests/test-sys_socket.c: Likewise.
45740         * tests/test-sys_stat.c: Likewise.
45741         * tests/test-sys_time.c: Likewise.
45742         * tests/test-sysexits.c: Likewise.
45743         * tests/test-time.c: Likewise.
45744         * tests/test-tls.c: Likewise.
45745         * tests/test-trunc.c: Likewise.
45746         * tests/test-truncf.c: Likewise.
45747         * tests/test-truncl.c: Likewise.
45748         * tests/test-unistd.c: Likewise.
45749         * tests/test-vasnprintf-posix.c: Likewise.
45750         * tests/test-vasnprintf-posix2.c: Likewise.
45751         * tests/test-vasnprintf.c: Likewise.
45752         * tests/test-vasprintf-posix.c: Likewise.
45753         * tests/test-vasprintf.c: Likewise.
45754         * tests/test-verify.c: Likewise.
45755         * tests/test-vfprintf-posix.c: Likewise.
45756         * tests/test-vprintf-posix.c: Likewise.
45757         * tests/test-vsnprintf-posix.c: Likewise.
45758         * tests/test-vsnprintf.c: Likewise.
45759         * tests/test-vsprintf-posix.c: Likewise.
45760         * tests/test-wchar.c: Likewise.
45761         * tests/test-wctype.c: Likewise.
45762         * tests/test-wcwidth.c: Likewise.
45763         * tests/test-xstrtol.c: Likewise.
45764         * tests/test-xvasprintf.c: Likewise.
45765         * tests/uniconv/test-u16-conv-from-enc.c: Likewise.
45766         * tests/uniconv/test-u16-conv-to-enc.c: Likewise.
45767         * tests/uniconv/test-u16-strconv-from-enc.c: Likewise.
45768         * tests/uniconv/test-u16-strconv-to-enc.c: Likewise.
45769         * tests/uniconv/test-u32-conv-from-enc.c: Likewise.
45770         * tests/uniconv/test-u32-conv-to-enc.c: Likewise.
45771         * tests/uniconv/test-u32-strconv-from-enc.c: Likewise.
45772         * tests/uniconv/test-u32-strconv-to-enc.c: Likewise.
45773         * tests/uniconv/test-u8-conv-from-enc.c: Likewise.
45774         * tests/uniconv/test-u8-conv-to-enc.c: Likewise.
45775         * tests/uniconv/test-u8-strconv-from-enc.c: Likewise.
45776         * tests/uniconv/test-u8-strconv-to-enc.c: Likewise.
45777         * tests/uniname/test-uninames.c: Likewise.
45778         * tests/unistdio/test-u16-asnprintf1.c: Likewise.
45779         * tests/unistdio/test-u16-asnprintf1.h: Likewise.
45780         * tests/unistdio/test-u16-printf1.h: Likewise.
45781         * tests/unistdio/test-u16-vasnprintf1.c: Likewise.
45782         * tests/unistdio/test-u16-vasnprintf2.c: Likewise.
45783         * tests/unistdio/test-u16-vasnprintf3.c: Likewise.
45784         * tests/unistdio/test-u16-vasprintf1.c: Likewise.
45785         * tests/unistdio/test-u16-vsnprintf1.c: Likewise.
45786         * tests/unistdio/test-u16-vsprintf1.c: Likewise.
45787         * tests/unistdio/test-u32-asnprintf1.c: Likewise.
45788         * tests/unistdio/test-u32-asnprintf1.h: Likewise.
45789         * tests/unistdio/test-u32-printf1.h: Likewise.
45790         * tests/unistdio/test-u32-vasnprintf1.c: Likewise.
45791         * tests/unistdio/test-u32-vasnprintf2.c: Likewise.
45792         * tests/unistdio/test-u32-vasnprintf3.c: Likewise.
45793         * tests/unistdio/test-u32-vasprintf1.c: Likewise.
45794         * tests/unistdio/test-u32-vsnprintf1.c: Likewise.
45795         * tests/unistdio/test-u32-vsprintf1.c: Likewise.
45796         * tests/unistdio/test-u8-asnprintf1.c: Likewise.
45797         * tests/unistdio/test-u8-asnprintf1.h: Likewise.
45798         * tests/unistdio/test-u8-printf1.h: Likewise.
45799         * tests/unistdio/test-u8-vasnprintf1.c: Likewise.
45800         * tests/unistdio/test-u8-vasnprintf2.c: Likewise.
45801         * tests/unistdio/test-u8-vasnprintf3.c: Likewise.
45802         * tests/unistdio/test-u8-vasprintf1.c: Likewise.
45803         * tests/unistdio/test-u8-vsnprintf1.c: Likewise.
45804         * tests/unistdio/test-u8-vsprintf1.c: Likewise.
45805         * tests/unistdio/test-ulc-asnprintf1.c: Likewise.
45806         * tests/unistdio/test-ulc-asnprintf1.h: Likewise.
45807         * tests/unistdio/test-ulc-printf1.h: Likewise.
45808         * tests/unistdio/test-ulc-vasnprintf1.c: Likewise.
45809         * tests/unistdio/test-ulc-vasnprintf2.c: Likewise.
45810         * tests/unistdio/test-ulc-vasnprintf3.c: Likewise.
45811         * tests/unistdio/test-ulc-vasprintf1.c: Likewise.
45812         * tests/unistdio/test-ulc-vsnprintf1.c: Likewise.
45813         * tests/unistdio/test-ulc-vsprintf1.c: Likewise.
45814         * tests/uniwidth/test-u16-strwidth.c: Likewise.
45815         * tests/uniwidth/test-u16-width.c: Likewise.
45816         * tests/uniwidth/test-u32-strwidth.c: Likewise.
45817         * tests/uniwidth/test-u32-width.c: Likewise.
45818         * tests/uniwidth/test-u8-strwidth.c: Likewise.
45819         * tests/uniwidth/test-u8-width.c: Likewise.
45820         * tests/uniwidth/test-uc_width.c: Likewise.
45821         * config/srclist-update: Likewise.
45822         (fixlicense): Update to GPLv3+.
45823
45824         Change copyright notice from LGPLv2.1+ to LGPLv3+.
45825         * tests/test-tsearch.c: Change copyright notice.
45826
45827         Change copyright notice from LGPLv2.0+ to LGPLv3+.
45828         * lib/c-strcaseeq.h: Change copyright notice.
45829         * lib/streq.h: Likewise.
45830         * lib/uniconv.h: Likewise.
45831         * lib/uniconv/u-conv-from-enc.h: Likewise.
45832         * lib/uniconv/u-conv-to-enc.h: Likewise.
45833         * lib/uniconv/u-strconv-from-enc.h: Likewise.
45834         * lib/uniconv/u-strconv-to-enc.h: Likewise.
45835         * lib/uniconv/u16-conv-from-enc.c: Likewise.
45836         * lib/uniconv/u16-conv-to-enc.c: Likewise.
45837         * lib/uniconv/u16-strconv-from-enc.c: Likewise.
45838         * lib/uniconv/u16-strconv-from-locale.c: Likewise.
45839         * lib/uniconv/u16-strconv-to-enc.c: Likewise.
45840         * lib/uniconv/u16-strconv-to-locale.c: Likewise.
45841         * lib/uniconv/u32-conv-from-enc.c: Likewise.
45842         * lib/uniconv/u32-conv-to-enc.c: Likewise.
45843         * lib/uniconv/u32-strconv-from-enc.c: Likewise.
45844         * lib/uniconv/u32-strconv-from-locale.c: Likewise.
45845         * lib/uniconv/u32-strconv-to-enc.c: Likewise.
45846         * lib/uniconv/u32-strconv-to-locale.c: Likewise.
45847         * lib/uniconv/u8-conv-from-enc.c: Likewise.
45848         * lib/uniconv/u8-conv-to-enc.c: Likewise.
45849         * lib/uniconv/u8-strconv-from-enc.c: Likewise.
45850         * lib/uniconv/u8-strconv-from-locale.c: Likewise.
45851         * lib/uniconv/u8-strconv-to-enc.c: Likewise.
45852         * lib/uniconv/u8-strconv-to-locale.c: Likewise.
45853         * lib/uniname.h: Likewise.
45854         * lib/uniname/uniname.c: Likewise.
45855         * lib/unistdio.h: Likewise.
45856         * lib/unistdio/u-asnprintf.h: Likewise.
45857         * lib/unistdio/u-asprintf.h: Likewise.
45858         * lib/unistdio/u-printf-args.c: Likewise.
45859         * lib/unistdio/u-printf-args.h: Likewise.
45860         * lib/unistdio/u-printf-parse.h: Likewise.
45861         * lib/unistdio/u-snprintf.h: Likewise.
45862         * lib/unistdio/u-sprintf.h: Likewise.
45863         * lib/unistdio/u-vasprintf.h: Likewise.
45864         * lib/unistdio/u-vsnprintf.h: Likewise.
45865         * lib/unistdio/u-vsprintf.h: Likewise.
45866         * lib/unistdio/u16-asnprintf.c: Likewise.
45867         * lib/unistdio/u16-asprintf.c: Likewise.
45868         * lib/unistdio/u16-printf-parse.c: Likewise.
45869         * lib/unistdio/u16-snprintf.c: Likewise.
45870         * lib/unistdio/u16-sprintf.c: Likewise.
45871         * lib/unistdio/u16-u16-asnprintf.c: Likewise.
45872         * lib/unistdio/u16-u16-asprintf.c: Likewise.
45873         * lib/unistdio/u16-u16-snprintf.c: Likewise.
45874         * lib/unistdio/u16-u16-sprintf.c: Likewise.
45875         * lib/unistdio/u16-u16-vasnprintf.c: Likewise.
45876         * lib/unistdio/u16-u16-vasprintf.c: Likewise.
45877         * lib/unistdio/u16-u16-vsnprintf.c: Likewise.
45878         * lib/unistdio/u16-u16-vsprintf.c: Likewise.
45879         * lib/unistdio/u16-vasnprintf.c: Likewise.
45880         * lib/unistdio/u16-vasprintf.c: Likewise.
45881         * lib/unistdio/u16-vsnprintf.c: Likewise.
45882         * lib/unistdio/u16-vsprintf.c: Likewise.
45883         * lib/unistdio/u32-asnprintf.c: Likewise.
45884         * lib/unistdio/u32-asprintf.c: Likewise.
45885         * lib/unistdio/u32-printf-parse.c: Likewise.
45886         * lib/unistdio/u32-snprintf.c: Likewise.
45887         * lib/unistdio/u32-sprintf.c: Likewise.
45888         * lib/unistdio/u32-u32-asnprintf.c: Likewise.
45889         * lib/unistdio/u32-u32-asprintf.c: Likewise.
45890         * lib/unistdio/u32-u32-snprintf.c: Likewise.
45891         * lib/unistdio/u32-u32-sprintf.c: Likewise.
45892         * lib/unistdio/u32-u32-vasnprintf.c: Likewise.
45893         * lib/unistdio/u32-u32-vasprintf.c: Likewise.
45894         * lib/unistdio/u32-u32-vsnprintf.c: Likewise.
45895         * lib/unistdio/u32-u32-vsprintf.c: Likewise.
45896         * lib/unistdio/u32-vasnprintf.c: Likewise.
45897         * lib/unistdio/u32-vasprintf.c: Likewise.
45898         * lib/unistdio/u32-vsnprintf.c: Likewise.
45899         * lib/unistdio/u32-vsprintf.c: Likewise.
45900         * lib/unistdio/u8-asnprintf.c: Likewise.
45901         * lib/unistdio/u8-asprintf.c: Likewise.
45902         * lib/unistdio/u8-printf-parse.c: Likewise.
45903         * lib/unistdio/u8-snprintf.c: Likewise.
45904         * lib/unistdio/u8-sprintf.c: Likewise.
45905         * lib/unistdio/u8-u8-asnprintf.c: Likewise.
45906         * lib/unistdio/u8-u8-asprintf.c: Likewise.
45907         * lib/unistdio/u8-u8-snprintf.c: Likewise.
45908         * lib/unistdio/u8-u8-sprintf.c: Likewise.
45909         * lib/unistdio/u8-u8-vasnprintf.c: Likewise.
45910         * lib/unistdio/u8-u8-vasprintf.c: Likewise.
45911         * lib/unistdio/u8-u8-vsnprintf.c: Likewise.
45912         * lib/unistdio/u8-u8-vsprintf.c: Likewise.
45913         * lib/unistdio/u8-vasnprintf.c: Likewise.
45914         * lib/unistdio/u8-vasprintf.c: Likewise.
45915         * lib/unistdio/u8-vsnprintf.c: Likewise.
45916         * lib/unistdio/u8-vsprintf.c: Likewise.
45917         * lib/unistdio/ulc-asnprintf.c: Likewise.
45918         * lib/unistdio/ulc-asprintf.c: Likewise.
45919         * lib/unistdio/ulc-printf-parse.c: Likewise.
45920         * lib/unistdio/ulc-snprintf.c: Likewise.
45921         * lib/unistdio/ulc-sprintf.c: Likewise.
45922         * lib/unistdio/ulc-vasnprintf.c: Likewise.
45923         * lib/unistdio/ulc-vasprintf.c: Likewise.
45924         * lib/unistdio/ulc-vsnprintf.c: Likewise.
45925         * lib/unistdio/ulc-vsprintf.c: Likewise.
45926         * lib/unistr.h: Likewise.
45927         * lib/unistr/u-cpy-alloc.h: Likewise.
45928         * lib/unistr/u-cpy.h: Likewise.
45929         * lib/unistr/u-endswith.h: Likewise.
45930         * lib/unistr/u-move.h: Likewise.
45931         * lib/unistr/u-set.h: Likewise.
45932         * lib/unistr/u-startswith.h: Likewise.
45933         * lib/unistr/u-stpcpy.h: Likewise.
45934         * lib/unistr/u-stpncpy.h: Likewise.
45935         * lib/unistr/u-strcat.h: Likewise.
45936         * lib/unistr/u-strcpy.h: Likewise.
45937         * lib/unistr/u-strcspn.h: Likewise.
45938         * lib/unistr/u-strdup.h: Likewise.
45939         * lib/unistr/u-strlen.h: Likewise.
45940         * lib/unistr/u-strncat.h: Likewise.
45941         * lib/unistr/u-strncpy.h: Likewise.
45942         * lib/unistr/u-strnlen.h: Likewise.
45943         * lib/unistr/u-strpbrk.h: Likewise.
45944         * lib/unistr/u-strspn.h: Likewise.
45945         * lib/unistr/u-strstr.h: Likewise.
45946         * lib/unistr/u-strtok.h: Likewise.
45947         * lib/unistr/u16-check.c: Likewise.
45948         * lib/unistr/u16-chr.c: Likewise.
45949         * lib/unistr/u16-cmp.c: Likewise.
45950         * lib/unistr/u16-cpy-alloc.c: Likewise.
45951         * lib/unistr/u16-cpy.c: Likewise.
45952         * lib/unistr/u16-endswith.c: Likewise.
45953         * lib/unistr/u16-mblen.c: Likewise.
45954         * lib/unistr/u16-mbsnlen.c: Likewise.
45955         * lib/unistr/u16-mbtouc-aux.c: Likewise.
45956         * lib/unistr/u16-mbtouc-unsafe-aux.c: Likewise.
45957         * lib/unistr/u16-mbtouc-unsafe.c: Likewise.
45958         * lib/unistr/u16-mbtouc.c: Likewise.
45959         * lib/unistr/u16-mbtoucr.c: Likewise.
45960         * lib/unistr/u16-move.c: Likewise.
45961         * lib/unistr/u16-next.c: Likewise.
45962         * lib/unistr/u16-prev.c: Likewise.
45963         * lib/unistr/u16-set.c: Likewise.
45964         * lib/unistr/u16-startswith.c: Likewise.
45965         * lib/unistr/u16-stpcpy.c: Likewise.
45966         * lib/unistr/u16-stpncpy.c: Likewise.
45967         * lib/unistr/u16-strcat.c: Likewise.
45968         * lib/unistr/u16-strchr.c: Likewise.
45969         * lib/unistr/u16-strcmp.c: Likewise.
45970         * lib/unistr/u16-strcpy.c: Likewise.
45971         * lib/unistr/u16-strcspn.c: Likewise.
45972         * lib/unistr/u16-strdup.c: Likewise.
45973         * lib/unistr/u16-strlen.c: Likewise.
45974         * lib/unistr/u16-strmblen.c: Likewise.
45975         * lib/unistr/u16-strmbtouc.c: Likewise.
45976         * lib/unistr/u16-strncat.c: Likewise.
45977         * lib/unistr/u16-strncmp.c: Likewise.
45978         * lib/unistr/u16-strncpy.c: Likewise.
45979         * lib/unistr/u16-strnlen.c: Likewise.
45980         * lib/unistr/u16-strpbrk.c: Likewise.
45981         * lib/unistr/u16-strrchr.c: Likewise.
45982         * lib/unistr/u16-strspn.c: Likewise.
45983         * lib/unistr/u16-strstr.c: Likewise.
45984         * lib/unistr/u16-strtok.c: Likewise.
45985         * lib/unistr/u16-to-u32.c: Likewise.
45986         * lib/unistr/u16-to-u8.c: Likewise.
45987         * lib/unistr/u16-uctomb-aux.c: Likewise.
45988         * lib/unistr/u16-uctomb.c: Likewise.
45989         * lib/unistr/u32-check.c: Likewise.
45990         * lib/unistr/u32-chr.c: Likewise.
45991         * lib/unistr/u32-cmp.c: Likewise.
45992         * lib/unistr/u32-cpy-alloc.c: Likewise.
45993         * lib/unistr/u32-cpy.c: Likewise.
45994         * lib/unistr/u32-endswith.c: Likewise.
45995         * lib/unistr/u32-mblen.c: Likewise.
45996         * lib/unistr/u32-mbsnlen.c: Likewise.
45997         * lib/unistr/u32-mbtouc-unsafe.c: Likewise.
45998         * lib/unistr/u32-mbtouc.c: Likewise.
45999         * lib/unistr/u32-mbtoucr.c: Likewise.
46000         * lib/unistr/u32-move.c: Likewise.
46001         * lib/unistr/u32-next.c: Likewise.
46002         * lib/unistr/u32-prev.c: Likewise.
46003         * lib/unistr/u32-set.c: Likewise.
46004         * lib/unistr/u32-startswith.c: Likewise.
46005         * lib/unistr/u32-stpcpy.c: Likewise.
46006         * lib/unistr/u32-stpncpy.c: Likewise.
46007         * lib/unistr/u32-strcat.c: Likewise.
46008         * lib/unistr/u32-strchr.c: Likewise.
46009         * lib/unistr/u32-strcmp.c: Likewise.
46010         * lib/unistr/u32-strcpy.c: Likewise.
46011         * lib/unistr/u32-strcspn.c: Likewise.
46012         * lib/unistr/u32-strdup.c: Likewise.
46013         * lib/unistr/u32-strlen.c: Likewise.
46014         * lib/unistr/u32-strmblen.c: Likewise.
46015         * lib/unistr/u32-strmbtouc.c: Likewise.
46016         * lib/unistr/u32-strncat.c: Likewise.
46017         * lib/unistr/u32-strncmp.c: Likewise.
46018         * lib/unistr/u32-strncpy.c: Likewise.
46019         * lib/unistr/u32-strnlen.c: Likewise.
46020         * lib/unistr/u32-strpbrk.c: Likewise.
46021         * lib/unistr/u32-strrchr.c: Likewise.
46022         * lib/unistr/u32-strspn.c: Likewise.
46023         * lib/unistr/u32-strstr.c: Likewise.
46024         * lib/unistr/u32-strtok.c: Likewise.
46025         * lib/unistr/u32-to-u16.c: Likewise.
46026         * lib/unistr/u32-to-u8.c: Likewise.
46027         * lib/unistr/u32-uctomb.c: Likewise.
46028         * lib/unistr/u8-check.c: Likewise.
46029         * lib/unistr/u8-chr.c: Likewise.
46030         * lib/unistr/u8-cmp.c: Likewise.
46031         * lib/unistr/u8-cpy-alloc.c: Likewise.
46032         * lib/unistr/u8-cpy.c: Likewise.
46033         * lib/unistr/u8-endswith.c: Likewise.
46034         * lib/unistr/u8-mblen.c: Likewise.
46035         * lib/unistr/u8-mbsnlen.c: Likewise.
46036         * lib/unistr/u8-mbtouc-aux.c: Likewise.
46037         * lib/unistr/u8-mbtouc-unsafe-aux.c: Likewise.
46038         * lib/unistr/u8-mbtouc-unsafe.c: Likewise.
46039         * lib/unistr/u8-mbtouc.c: Likewise.
46040         * lib/unistr/u8-mbtoucr.c: Likewise.
46041         * lib/unistr/u8-move.c: Likewise.
46042         * lib/unistr/u8-next.c: Likewise.
46043         * lib/unistr/u8-prev.c: Likewise.
46044         * lib/unistr/u8-set.c: Likewise.
46045         * lib/unistr/u8-startswith.c: Likewise.
46046         * lib/unistr/u8-stpcpy.c: Likewise.
46047         * lib/unistr/u8-stpncpy.c: Likewise.
46048         * lib/unistr/u8-strcat.c: Likewise.
46049         * lib/unistr/u8-strchr.c: Likewise.
46050         * lib/unistr/u8-strcmp.c: Likewise.
46051         * lib/unistr/u8-strcpy.c: Likewise.
46052         * lib/unistr/u8-strcspn.c: Likewise.
46053         * lib/unistr/u8-strdup.c: Likewise.
46054         * lib/unistr/u8-strlen.c: Likewise.
46055         * lib/unistr/u8-strmblen.c: Likewise.
46056         * lib/unistr/u8-strmbtouc.c: Likewise.
46057         * lib/unistr/u8-strncat.c: Likewise.
46058         * lib/unistr/u8-strncmp.c: Likewise.
46059         * lib/unistr/u8-strncpy.c: Likewise.
46060         * lib/unistr/u8-strnlen.c: Likewise.
46061         * lib/unistr/u8-strpbrk.c: Likewise.
46062         * lib/unistr/u8-strrchr.c: Likewise.
46063         * lib/unistr/u8-strspn.c: Likewise.
46064         * lib/unistr/u8-strstr.c: Likewise.
46065         * lib/unistr/u8-strtok.c: Likewise.
46066         * lib/unistr/u8-to-u16.c: Likewise.
46067         * lib/unistr/u8-to-u32.c: Likewise.
46068         * lib/unistr/u8-uctomb-aux.c: Likewise.
46069         * lib/unistr/u8-uctomb.c: Likewise.
46070         * lib/unitypes.h: Likewise.
46071         * lib/uniwidth.h: Likewise.
46072         * lib/uniwidth/cjk.h: Likewise.
46073         * lib/uniwidth/u16-strwidth.c: Likewise.
46074         * lib/uniwidth/u16-width.c: Likewise.
46075         * lib/uniwidth/u32-strwidth.c: Likewise.
46076         * lib/uniwidth/u32-width.c: Likewise.
46077         * lib/uniwidth/u8-strwidth.c: Likewise.
46078         * lib/uniwidth/u8-width.c: Likewise.
46079         * lib/uniwidth/width.c: Likewise.
46080
46081 2007-10-07  Bruno Haible  <bruno@clisp.org>
46082
46083         * lib/inttypes.in.h: Change copyright notice from LGPL to GPL.
46084         The file is still under LGPL (see modules/inttypes).
46085
46086 2007-10-06  Bruno Haible  <bruno@clisp.org>
46087
46088         * modules/trunc (Dependencies): Add 'extensions'.
46089         * m4/trunc.m4 (gl_FUNC_TRUNC): Require gl_USE_SYSTEM_EXTENSIONS.
46090         Reported by Ben Pfaff <blp@gnu.org>.
46091
46092 2007-10-06  Bruno Haible  <bruno@clisp.org>
46093
46094         * modules/freopen-tests: New file.
46095         * tests/test-freopen.c: New file.
46096
46097         * modules/fopen-tests: New file.
46098         * tests/test-fopen.c: New file.
46099
46100         * modules/fopen: New file.
46101         * lib/fopen.c: New file.
46102         * m4/fopen.m4: New file.
46103         * modules/freopen: New file.
46104         * lib/freopen.c: New file.
46105         * m4/freopen.m4: New file.
46106         * lib/stdio.in.h (fopen, freopen): New declarations.
46107         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Initialize also GNULIB_FOPEN,
46108         GNULIB_FREOPEN, REPLACE_FOPEN, REPLACE_FREOPEN.
46109         * modules/stdio (Makefile.am): Substitute also GNULIB_FOPEN,
46110         GNULIB_FREOPEN, REPLACE_FOPEN, REPLACE_FREOPEN.
46111         * doc/functions/fopen.texi: Mention the 'fopen' module.
46112         * doc/functions/freopen.texi: Mention the 'freopen' module.
46113
46114 2007-10-06  Bruno Haible  <bruno@clisp.org>
46115
46116         * modules/open-tests: New file.
46117         * tests/test-open.c: New file.
46118
46119         * modules/open: New file.
46120         * lib/open.c: New file.
46121         * m4/open.m4: New file.
46122         * lib/fchdir.c (open): If the gnulib module 'open' is used, do what
46123         lib/open.c does.
46124         * lib/fcntl.in.h (open): Declare also if replaced by the 'open' module.
46125         * m4/fcntl_h.m4 (gl_FCNTL_MODULE_INDICATOR, gl_FCNTL_H_DEFAULTS): New
46126         macros.
46127         (gl_FCNTL_H): Require gl_FCNTL_H_DEFAULTS.
46128         * modules/fcntl (Makefile.am): Also substitute GNULIB_OPEN and
46129         REPLACE_OPEN.
46130         * doc/functions/open.texi: Mention the 'open' module.
46131
46132 2007-10-04  Bruno Haible  <bruno@clisp.org>
46133
46134         * modules/ceill-tests: New file.
46135         * tests/test-ceill.c: New file.
46136
46137         * modules/ceill: New file.
46138         * lib/ceill.c: Replace entire file.
46139         * m4/ceill.m4: New file.
46140         * lib/math.in.h (ceill): Replace declaration.
46141         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize GNULIB_CEILL.
46142         * modules/math (Makefile.am): Substitute also GNULIB_CEILL.
46143         * doc/functions/ceill.texi: Mention the 'ceill' module.
46144         * modules/mathl (Files): Remove lib/ceill.c.
46145         (Depends-on): Add ceill.
46146
46147 2007-10-04  Bruno Haible  <bruno@clisp.org>
46148
46149         * modules/ceilf-tests: New file.
46150         * tests/test-ceilf.c: New file.
46151
46152         * modules/ceilf: New file.
46153         * lib/ceil.c: New file.
46154         * lib/ceilf.c: New file.
46155         * m4/ceilf.m4: New file.
46156         * lib/math.in.h (ceilf): New declaration.
46157         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize GNULIB_CEILF and
46158         HAVE_DECL_CEILF.
46159         * modules/math (Makefile.am): Substitute also GNULIB_CEILF and
46160         HAVE_DECL_CEILF.
46161         * doc/functions/ceilf.texi: Mention the 'ceilf' module.
46162
46163 2007-10-04  Bruno Haible  <bruno@clisp.org>
46164
46165         * modules/floorl-tests: New file.
46166         * tests/test-floorl.c: New file.
46167
46168         * modules/floorl: New file.
46169         * lib/floorl.c: Replace entire file.
46170         * m4/floorl.m4: New file.
46171         * lib/math.in.h (floorl): Replace declaration.
46172         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize GNULIB_FLOORL.
46173         * modules/math (Makefile.am): Substitute also GNULIB_FLOORL.
46174         * doc/functions/floorl.texi: Mention the 'floorl' module.
46175         * modules/mathl (Files): Remove lib/floorl.c.
46176         (Depends-on): Add floorl.
46177
46178 2007-10-04  Bruno Haible  <bruno@clisp.org>
46179
46180         * modules/floorf-tests: New file.
46181         * tests/test-floorf.c: New file.
46182
46183         * modules/floorf: New file.
46184         * lib/floor.c: New file.
46185         * lib/floorf.c: New file.
46186         * m4/floorf.m4: New file.
46187         * lib/math.in.h (floorf): New declaration.
46188         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize GNULIB_FLOORF and
46189         HAVE_DECL_FLOORF.
46190         * modules/math (Makefile.am): Substitute also GNULIB_FLOORF and
46191         HAVE_DECL_FLOORF.
46192         * doc/functions/floorf.texi: Mention the 'floorf' module.
46193
46194 2007-10-04  Benoit Sigoure  <tsuna@lrde.epita.fr>
46195             Bruno Haible  <bruno@clisp.org>
46196
46197         Advertise for the Git server instead of the CVS server.
46198         * doc/gnulib-intro.texi (Steady Development): Mention the Git
46199         repository instead of the CVS one.
46200         * doc/gnulib-tool.texi (VCS Issues): Renamed from "CVS Issues". Talk
46201         about all VCS systems generically.
46202         * doc/gnulib.texi (Introduction): Capitalize `Git'.
46203
46204 2007-10-04  Bruno Haible  <bruno@clisp.org>
46205
46206         * doc/gnulib.texi (Function Substitutes): Explain what an absent module
46207         means.
46208         Reported by Benoît Sigoure <tsuna@lrde.epita.fr>.
46209
46210 2007-10-04  Bruno Haible  <bruno@clisp.org>
46211
46212         * modules/truncl-tests: New file.
46213         * tests/test-truncl.c: New file.
46214
46215         * modules/truncl: New file.
46216         * lib/truncl.c: New file.
46217         * m4/truncl.m4: New file.
46218         * lib/math.in.h (truncl): New declaration.
46219         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize GNULIB_TRUNCL and
46220         HAVE_DECL_TRUNCL.
46221         * modules/math (Makefile.am): Substitute also GNULIB_TRUNCL and
46222         HAVE_DECL_TRUNCL.
46223         * doc/functions/truncl.texi: Mention the 'truncl' module.
46224
46225 2007-10-04  Bruno Haible  <bruno@clisp.org>
46226
46227         * modules/truncf-tests: New file.
46228         * tests/test-truncf.c: New file.
46229
46230         * modules/truncf: New file.
46231         * lib/trunc.c: Make paramerizable through USE_* macros.
46232         * lib/truncf.c: New file.
46233         * m4/truncf.m4: New file.
46234         * lib/math.in.h (truncf): New declaration.
46235         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize GNULIB_TRUNCF and
46236         HAVE_DECL_TRUNCF.
46237         * modules/math (Makefile.am): Substitute also GNULIB_TRUNCF and
46238         HAVE_DECL_TRUNCF.
46239         * doc/functions/truncf.texi: Mention the 'truncf' module.
46240
46241 2007-10-03  Bruno Haible  <bruno@clisp.org>
46242
46243         * gnulib-tool (func_get_automake_snippet): Synthesize an EXTRA_DIST
46244         augmentation also for tests modules.
46245         * modules/argp-tests (Makefile.am): Remove EXTRA_DIST augmentation.
46246         * modules/atexit-tests (Makefile.am): Likewise.
46247         * modules/binary-io-tests (Makefile.am): Likewise.
46248         * modules/c-strcase-tests (Makefile.am): Likewise.
46249         * modules/canonicalize-lgpl-tests (Makefile.am): Likewise.
46250         * modules/canonicalize-tests (Makefile.am): Likewise.
46251         * modules/closein-tests (Makefile.am): Likewise.
46252         * modules/fprintf-posix-tests (Makefile.am): Likewise.
46253         * modules/freadahead-tests (Makefile.am): Likewise.
46254         * modules/fseek-tests (Makefile.am): Likewise.
46255         * modules/fseeko-tests (Makefile.am): Likewise.
46256         * modules/ftell-tests (Makefile.am): Likewise.
46257         * modules/ftello-tests (Makefile.am): Likewise.
46258         * modules/isnanl-nolibm-tests (Makefile.am): Likewise.
46259         * modules/isnanl-tests (Makefile.am): Likewise.
46260         * modules/lseek-tests (Makefile.am): Likewise.
46261         * modules/mbscasecmp-tests (Makefile.am): Likewise.
46262         * modules/mbscasestr-tests (Makefile.am): Likewise.
46263         * modules/mbschr-tests (Makefile.am): Likewise.
46264         * modules/mbscspn-tests (Makefile.am): Likewise.
46265         * modules/mbsncasecmp-tests (Makefile.am): Likewise.
46266         * modules/mbspbrk-tests (Makefile.am): Likewise.
46267         * modules/mbspcasecmp-tests (Makefile.am): Likewise.
46268         * modules/mbsrchr-tests (Makefile.am): Likewise.
46269         * modules/mbsspn-tests (Makefile.am): Likewise.
46270         * modules/mbsstr-tests (Makefile.am): Likewise.
46271         * modules/printf-posix-tests (Makefile.am): Likewise.
46272         * modules/snprintf-posix-tests (Makefile.am): Likewise.
46273         * modules/sprintf-posix-tests (Makefile.am): Likewise.
46274         * modules/tsearch-tests (Makefile.am): Likewise.
46275         * modules/uniname/uniname-tests (Makefile.am): Likewise.
46276         * modules/unistdio/u16-vasnprintf-tests (Makefile.am): Likewise.
46277         * modules/unistdio/u32-vasnprintf-tests (Makefile.am): Likewise.
46278         * modules/unistdio/u8-vasnprintf-tests (Makefile.am): Likewise.
46279         * modules/unistdio/ulc-vasnprintf-tests (Makefile.am): Likewise.
46280         * modules/vasnprintf-posix-tests (Makefile.am): Likewise.
46281         * modules/vfprintf-posix-tests (Makefile.am): Likewise.
46282         * modules/vprintf-posix-tests (Makefile.am): Likewise.
46283         * modules/vsnprintf-posix-tests (Makefile.am): Likewise.
46284         * modules/vsprintf-posix-tests (Makefile.am): Likewise.
46285         * modules/xstrtoimax-tests (Makefile.am): Likewise.
46286         * modules/xstrtol-tests (Makefile.am): Likewise.
46287         * modules/xstrtoumax-tests (Makefile.am): Likewise.
46288         * modules/yesno-tests (Makefile.am): Likewise.
46289
46290 2007-10-03  Bruno Haible  <bruno@clisp.org>
46291
46292         * modules/trunc-tests: New file.
46293         * tests/test-trunc.c: New file.
46294
46295         * modules/trunc: New file.
46296         * lib/trunc.c: New file.
46297         * m4/trunc.m4: New file.
46298         * lib/math.in.h (trunc): New declaration.
46299         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize GNULIB_TRUNC and
46300         HAVE_DECL_TRUNC.
46301         * modules/math (Makefile.am): Substitute also GNULIB_TRUNC and
46302         HAVE_DECL_TRUNC.
46303         * doc/functions/trunc.texi: Mention the 'trunc' module.
46304
46305 2007-10-03  Bruno Haible  <bruno@clisp.org>
46306
46307         * tests/test-fpending.c: New file, mostly copied
46308         from coreutils/lib/t-fpending.c.
46309         * modules/fpending-tests: New file.
46310
46311 2007-10-03  Bruno Haible  <bruno@clisp.org>
46312
46313         Port the stdio extensions to QNX (untested).
46314         * lib/fseterr.c (fseterr): Add support for QNX.
46315         * lib/fbufmode.c (fbufmode): Likewise.
46316         * lib/freadable.c (freadable): Likewise.
46317         * lib/fwritable.c (fwritable): Likewise.
46318         * lib/freading.c (freading): Likewise.
46319         * lib/fwriting.c (fwriting): Likewise.
46320         * lib/freadahead.c (freadahed): Likewise.
46321         * lib/fpurge.c (fpurge): Likewise.
46322         * lib/fseeko.c (rpl_fseeko): Likewise.
46323
46324 2007-10-03  Bruno Haible  <bruno@clisp.org>
46325             Jim Meyering  <jim@meyering.net>
46326             Eric Blake  <ebb9@byu.net>
46327
46328         * doc/relocatable.texi: Use @command instead of @program.
46329
46330 2007-10-02  Jim Meyering  <jim@meyering.net>
46331
46332         Perform one more "_.h" -> ".in.h" substitution.
46333         * modules/unistd (Makefile.am) [unistd.h]: Use unistd.h.in
46334         instead of unistd_.h here, too.
46335
46336 2007-10-01  Bruno Haible  <bruno@clisp.org>
46337
46338         * gnulib-tool (func_emit_initmacro_done): Special case for alloca.c.
46339         Needed for the alloca-opt module.
46340
46341 2007-09-30  Bruno Haible  <bruno@clisp.org>
46342
46343         * lib/alloca.in.h: Renamed from lib/alloca_.h.
46344         * modules/alloca-opt (Files, Makefile.am): Use alloca.in.h instead of
46345         alloca_.h.
46346         * lib/argz.in.h: Renamed from lib/argz_.h.
46347         * modules/argz (Files, Makefile.am): Use argz.in.h instead of argz_.h.
46348         * lib/byteswap.in.h: Renamed from lib/byteswap_.h.
46349         * modules/byteswap (Files, Makefile.am): Use byteswap.in.h instead of
46350         byteswap_.h.
46351         * lib/dirent.in.h: Renamed from lib/dirent_.h.
46352         * modules/fchdir (Files, Makefile.am): Use dirent.in.h instead of
46353         dirent_.h.
46354         * lib/fcntl.in.h: Renamed from lib/fcntl_.h.
46355         * modules/fcntl (Files, Makefile.am): Use fcntl.in.h instead of
46356         fcntl_.h.
46357         * lib/float.in.h: Renamed from lib/float_.h.
46358         * modules/float (Files, Makefile.am): Use float.in.h instead of
46359         float_.h.
46360         * lib/fnmatch.in.h: Renamed from lib/fnmatch_.h.
46361         * modules/fnmatch (Files, Makefile.am): Use fnmatch.in.h instead of
46362         fnmatch_.h.
46363         * lib/getopt.in.h: Renamed from lib/getopt_.h.
46364         * modules/getopt (Files, Makefile.am): Use getopt.in.h instead of
46365         getopt_.h.
46366         * lib/glob.in.h: Renamed from lib/glob_.h.
46367         * modules/glob (Files, Makefile.am): Use glob.in.h instead of glob_.h.
46368         * lib/iconv.in.h: Renamed from lib/iconv_.h.
46369         * modules/iconv_open (Files, Makefile.am): Use iconv.in.h instead of
46370         iconv_.h.
46371         * lib/inttypes.in.h: Renamed from lib/inttypes_.h.
46372         * modules/inttypes (Files, Makefile.am): Use inttypes.in.h instead of
46373         inttypes_.h.
46374         * lib/locale.in.h: Renamed from lib/locale_.h.
46375         * modules/locale (Files, Makefile.am): Use locale.in.h instead of
46376         locale_.h.
46377         * lib/math.in.h: Renamed from lib/math_.h.
46378         * modules/math (Files, Makefile.am): Use math.in.h instead of math_.h.
46379         * lib/netinet_in.in.h: Renamed from lib/netinet_in_.h.
46380         * modules/netinet_in (Files, Makefile.am): Use netinet_in.in.h instead
46381         of netinet_in_.h. Add dependency.
46382         * lib/poll.in.h: Renamed from lib/poll_.h.
46383         * modules/poll (Files, Makefile.am): Use poll.in.h instead of poll_.h.
46384         * lib/search.in.h: Renamed from lib/search_.h.
46385         * modules/search (Files, Makefile.am): Use search.in.h instead of
46386         search_.h.
46387         * lib/signal.in.h: Renamed from lib/signal_.h.
46388         * modules/signal (Files, Makefile.am): Use signal.in.h instead of
46389         _signal.h.
46390         * lib/stdbool.in.h: Renamed from lib/stdbool_.h.
46391         * modules/stdbool (Files, Makefile.am): Use stdbool.in.h instead of
46392         stdbool_.h.
46393         * lib/stdint.in.h: Renamed from lib/stdint_.h.
46394         * modules/stdint (Files, Makefile.am): Use stdint.in.h instead of
46395         stdint_.h.
46396         * lib/stdio.in.h: Renamed from lib/stdio_.h.
46397         * modules/stdio (Files, Makefile.am): Use stdio.in.h instead of
46398         stdio_.h.
46399         * lib/stdlib.in.h: Renamed from lib/stdlib_.h.
46400         * modules/stdlib (Files, Makefile.am): Use stdlib.in.h instead of
46401         stdlib_.h.
46402         * lib/string.in.h: Renamed from lib/string_.h.
46403         * modules/string (Files, Makefile.am): Use string.in.h instead of
46404         string_.h.
46405         * doc/gnulib-tool.texi (Initial import): Update.
46406         * lib/sys_select.in.h: Renamed from lib/sys_select_.h.
46407         * modules/sys_select (Files, Makefile.am): Use sys_select.in.h instead
46408         of sys_select_.h. Add dependency.
46409         * lib/sys_socket.in.h: Renamed from lib/sys_socket_.h.
46410         * modules/sys_socket (Files, Makefile.am): Use sys_socket.in.h instead
46411         of sys_socket_.h.
46412         * lib/sys_stat.in.h: Renamed from lib/sys_stat_.h.
46413         * modules/sys_stat (Files, Makefile.am): Use sys_stat.in.h instead of
46414         sys_stat_.h.
46415         * lib/sys_time.in.h: Renamed from lib/sys_time_.h.
46416         * modules/sys_time (Files, Makefile.am): Use sys_time.in.h instead of
46417         sys_time_.h.
46418         * lib/sysexits.in.h: Renamed from lib/sysexits_.h.
46419         * modules/sysexits (Files, Makefile.am): Use sysexits.in.h instead of
46420         sysexits_.h.
46421         * lib/time.in.h: Renamed from lib/time_.h.
46422         * modules/time (Files, Makefile.am): Use time.in.h instead of time_.h.
46423         * lib/unistd.in.h: Renamed from lib/unistd_.h.
46424         * modules/unistd (Files, Makefile.am): Use unistd.in.h instead of
46425         unistd_.h.
46426         * lib/wchar.in.h: Renamed from lib/wchar_.h.
46427         * modules/wchar (Files, Makefile.am): Use wchar.in.h instead of
46428         wchar_.h.
46429         * lib/wctype.in.h: Renamed from lib/wctype_.h.
46430         * modules/wctype (Files, Makefile.am): Use wctype.in.h instead of
46431         wctype_.h.
46432         * build-aux/bootstrap (slurp): Update.
46433         * lib/.cppi-disable: Update.
46434
46435 2007-09-30  Bruno Haible  <bruno@clisp.org>
46436
46437         * tests/test-getaddrinfo.c (AF_UNSPEC): Provide a fallback definition.
46438         Needed on BeOS.
46439
46440 2007-09-30  Bruno Haible  <bruno@clisp.org>
46441
46442         * modules/dirname-tests (check_PROGRAMS): Renamed from noinst_PROGRAMS.
46443
46444 2007-09-29  Bruno Haible  <bruno@clisp.org>
46445
46446         * lib/stdio_.h (getdelim, getline): Add identifiers. Doc tweak.
46447
46448 2007-09-29  Bruno Haible  <bruno@clisp.org>
46449
46450         * lib/xreadlink.c (xreadlink): Simplify to a wrapper around areadlink.
46451         * modules/xreadlink (Depends-on): Add areadlink, remove readlink etc.
46452         * build-aux/install-reloc: Compile also areadlink.c.
46453         * modules/relocatable-prog-wrapper (Files): Add lib/areadlink.[hc].
46454
46455 2007-09-29  Bruno Haible  <bruno@clisp.org>
46456
46457         * gnulib-tool (func_emit_initmacro_done): Indentation.
46458
46459 2007-09-29  Bruno Haible  <bruno@clisp.org>
46460
46461         * README: Add CVS checkout update instructions.
46462         Info from Bob Proulx <bob@proulx.com>.
46463
46464 2007-09-28  Eric Blake  <ebb9@byu.net>
46465
46466         Provide move-if-change.
46467         * build-aux/move-if-change: New file, based on best practice
46468         rather than any canonical upstream location.
46469
46470 2007-09-28  Jim Meyering  <jim@meyering.net>
46471
46472         Fix canonicalize loop-detection corner case.
46473         Do not attempt to stat the symlink values stored via seen_triple.
46474         Without this, coreutils' tests/misc/readlink-fp-loop test would fail
46475         on linux-2.6.18, (but not 2.6.22).
46476         * lib/canonicalize.c (seen_triple): Use triple_compare_ino_str, not
46477         triple_compare.  The former compares dev,ino,filename, while the latter
46478         would actually stat dirname(filename) when dev and ino were equal.
46479         * lib/hash-triple.c: Install <string.h>.
46480         (STREQ): Define.
46481         (triple_compare_ino_str): New function.
46482         * lib/hash-triple.h (triple_compare_ino_str): Declare it.
46483
46484 2007-09-28  Eric Blake  <ebb9@byu.net>
46485
46486         Enforce that AC_REPLACE_FUNCS files exist.
46487         * gnulib-tool (func_emit_initmacro_done): Make AC_LIBSOURCES
46488         override check for typos.
46489
46490         Fix test-closein on Solaris 10.
46491         * tests/test-closein.c (main): Don't assume stdin can be inherited
46492         closed on all systems.
46493         * tests/test-closein.sh: Likewise.
46494         Reported by Piotr Tarnowski.
46495
46496 2007-09-28  Jim Meyering  <jim@meyering.net>
46497
46498         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP): Fix typo in comment.
46499
46500 2007-09-27  Jim Meyering  <jim@meyering.net>
46501
46502         canonicalize: Avoid a false-positive cycle failure.
46503         * modules/canonicalize (Depends-on): Add file-set and hash-triple.
46504         Sort.  Remove cycle-check.
46505         * lib/canonicalize.c: Include file-set.h and hash-triple.h,
46506         not cycle-check.h.
46507         (seen_triple): New function.
46508         (canonicalize_filename_mode): Use it instead of cycle-check.
46509         * tests/test-canonicalize.c: Add a test for this bug.
46510         * tests/test-canonicalize.sh: Set up and run the test.
46511
46512         New module, file-set, from coreutils.
46513         * modules/file-set: Define it.
46514         * lib/file-set.c, lib/file-set.h: Implement.
46515
46516         New module, hash-triple, from coreutils.
46517         * modules/hash-triple: Define it.
46518         * lib/hash-triple.c, lib/hash-triple.h: Implement.
46519
46520 2007-09-25  Eric Blake  <ebb9@byu.net>
46521
46522         Fix strerror on Interix.
46523         * lib/string_.h (strerror): Declare replacement.
46524         * doc/functions/strerror.texi (strerror): Document the Interix
46525         shortcoming.
46526         * modules/string (Makefile.am): Support new hooks.
46527         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Add new hooks.
46528         * m4/strerror.m4 (gl_FUNC_STRERROR): Defer to
46529         gl_FUNC_STRERROR_SEPARATE.
46530         (gl_FUNC_STRERROR_SEPARATE): Check for Interix bug.
46531         * lib/strerror.c (rpl_strerror): Provide replacement.
46532         * modules/strerror (Depends-on): Add string.
46533         (configure.ac): Detect use of module.
46534         * tests/test-strerror.c: New file.
46535         * modules/strerror-tests: New test module.
46536         * modules/argp (Depends-on): Add strerror.
46537         * modules/error (Depends-on): Likewise.
46538         Reported by Martin Koeppe.
46539
46540 2007-09-24  Bruno Haible  <bruno@clisp.org>
46541
46542         * README: Update git instructions.
46543
46544 2007-09-24  Eric Blake  <ebb9@byu.net>
46545
46546         Revert fpending breakage from 2007-09-08.
46547         * m4/fpending.m4 (gl_FUNC_FPENDING): Don't require existence of
46548         __fpending.c.
46549
46550 2007-09-24  Jim Meyering  <jim@meyering.net>
46551
46552         filenamecat.c: Add a test.
46553         * lib/filenamecat.c (main) [TEST_FILE_NAME_CONCAT]: Add a test
46554         showing how the function works when DIR is the empty string.
46555
46556 2007-09-21  Simon Josefsson  <simon@josefsson.org>
46557
46558         * tests/test-canonicalize.sh: Turn on executable bit.
46559
46560 2007-09-19  Eric Blake  <ebb9@byu.net>
46561
46562         * README: Update CVS instructions.
46563
46564 2007-09-18  Bruno Haible  <bruno@clisp.org>
46565
46566         * modules/areadlink: New file.
46567         * lib/areadlink.h (areadlink): New declaration.
46568         * lib/areadlink.c: New file, based on lib/xreadlink.c.
46569
46570 2007-09-17  Jim Meyering  <jim@meyering.net>
46571
46572         * lib/savewd.c (ESTALE) [!defined]: Define.
46573         Reported to be required on Interix by Martin Koeppe.
46574
46575 2007-09-17  Bruno Haible  <bruno@clisp.org>
46576
46577         * gnulib-tool (func_version): Use $version.
46578
46579 2007-09-16  Bruno Haible  <bruno@clisp.org>
46580
46581         * m4/printf.m4 (gl_PRINTF_LONG_DOUBLE, gl_PRINTF_INFINITE,
46582         gl_PRINTF_INFINITE_LONG_DOUBLE): Increase buf's size from 100 to 10000.
46583         Needed on glibc-2.6.1 with -fstack-protector -D_FORTIFY_SOURCE=2.
46584         Reported by Greg Schafer <gschafer@zip.com.au>.
46585
46586 2007-09-15  Bruno Haible  <bruno@clisp.org>
46587
46588         * gnulib-tool (sed): Try a little harder to make bash understand the
46589         alias.
46590         Reported by Bruce Korb <bruce.korb@gmail.com>.
46591
46592 2007-09-13  Eric Blake  <ebb9@byu.net>
46593
46594         * ChangeLog: Remove conflict markers.
46595
46596 2007-09-13  Simon Josefsson  <simon@josefsson.org>
46597
46598         * lib/gc-gnulib.c (gc_hash_open): Catch NULL calloc return value.
46599         Reported by Bruno Haible <bruno@clisp.org>.
46600
46601 2007-09-12  Bruno Haible  <bruno@clisp.org>
46602
46603         * m4/lock.m4: Don't provide an AC_USE_SYSTEM_EXTENSIONS definition.
46604         (gl_LOCK_EARLY_BODY): Use AC_GNU_SOURCE when AC_USE_SYSTEM_EXTENSIONS
46605         is not defined.
46606
46607 2007-09-12  Eric Blake  <ebb9@byu.net>
46608
46609         Track CVS Autoconf on AC_USE_SYSTEM_EXTENSIONS.
46610         * m4/extensions.m4 (AC_USE_SYSTEM_EXTENSIONS): Update to CVS
46611         Autoconf definition.
46612         * modules/euidaccess (Depends-on): Add extensions, for
46613         AC_USE_SYSTEM_EXTENSIONS with autoconf <= 2.59.
46614         * modules/fnmatch (Depends-on): Likewise.
46615         * modules/getaddrinfo (Depends-on): Likewise.
46616         * modules/getdelim (Depends-on): Likewise.
46617         * modules/getline (Depends-on): Likewise.
46618         * modules/getsubopt (Depends-on): Likewise.
46619         * modules/gettext (Depends-on): Likewise.
46620         * modules/group-member (Depends-on): Likewise.
46621         * modules/mbchar (Depends-on): Likewise.
46622         * modules/memmem (Depends-on): Likewise.
46623         * modules/mempcpy (Depends-on): Likewise.
46624         * modules/memrchr (Depends-on): Likewise.
46625         * modules/pagealign_alloc (Depends-on): Likewise.
46626         * modules/readutmp (Depends-on): Likewise.
46627         * modules/stpcpy (Depends-on): Likewise.
46628         * modules/stpncpy (Depends-on): Likewise.
46629         * modules/strchrnul (Depends-on): Likewise.
46630         * modules/strndup (Depends-on): Likewise.
46631         * modules/strsep (Depends-on): Likewise.
46632         * modules/strverscmp (Depends-on): Likewise.
46633         * modules/vasprintf (Depends-on): Likewise.
46634         * modules/wcwidth (Depends-on): Likewise.
46635         * m4/euidaccess.m4 (gl_FUNC_EUIDACCESS): AC_GNU_SOURCE will be
46636         obsolete in Autoconf 2.62; use AC_USE_SYSTEM_EXTENSIONS instead.
46637         * m4/fnmatch.m4 (gl_FUNC_FNMATCH_GNU): Likewise.
46638         * m4/getaddrinfo.m4 (gl_PREREQ_GETADDR_INFO): Likewise.
46639         * m4/getdelim.m4 (gl_FUNC_GETDELIM): Likewise.
46640         * m4/getline.m4 (gl_FUNC_GETLINE): Likewise.
46641         * m4/getsubopt.m4 (gl_FUNC_GETSUBOPT): Likewise.
46642         * m4/glob.m4 (gl_PREREQ_GLOB): Likewise.
46643         * m4/group-member.m4 (gl_FUNC_GROUP_MEMBER): Likewise.
46644         * m4/mbchar.m4 (gl_MBCHAR): Likewise.
46645         * m4/memmem.m4 (gl_FUNC_MEMMEM): Likewise.
46646         * m4/mempcpy.m4 (gl_FUNC_MEMPCPY): Likewise.
46647         * m4/memrchr.m4 (gl_FUNC_MEMRCHR): Likewise.
46648         * m4/mmap-anon.m4 (gl_FUNC_MMAP_ANON): Likewise.
46649         * m4/pagealign_alloc.m4 (gl_PAGEALIGN_ALLOC): Likewise.
46650         * m4/readutmp.m4 (gl_READUTMP): Likewise.
46651         * m4/regex.m4 (gl_PREREQ_REGEX): Likewise.
46652         * m4/stpcpy.m4 (gl_FUNC_STPCPY): Likewise.
46653         * m4/stpncpy.m4 (gl_FUNC_STPNCPY): Likewise.
46654         * m4/strchrnul.m4 (gl_FUNC_STRCHRNUL): Likewise.
46655         * m4/strndup.m4 (gl_FUNC_STRNDUP): Likewise.
46656         * m4/strnlen.m4 (gl_FUNC_STRNLEN): Likewise.
46657         * m4/strsep.m4 (gl_FUNC_STRSEP): Likewise.
46658         * m4/strverscmp.m4 (gl_FUNC_STRVERSCMP): Likewise.
46659         * m4/vasprintf.m4 (gl_PREREQ_VASPRINTF_H): Likewise.
46660         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Likewise.
46661         * m4/lock.m4 (gl_LOCK_EARLY_BODY): Likewise, but provide fallback,
46662         so that lock.m4 can be used in gettext without extensions module.
46663
46664 2007-09-11  Bruno Haible  <bruno@clisp.org>
46665
46666         * m4/isc-posix.m4: Remove file.
46667         Suggested by Eric Blake.
46668
46669 2007-09-11  Eric Blake  <ebb9@byu.net>
46670
46671         * ChangeLog: Restore lines accidentally truncated 2007-04-06.
46672
46673 2007-09-10  Bruno Haible  <bruno@clisp.org>
46674
46675         * posix-modules: Fix typo in error message.
46676         Reported by Matt <mkraai@beckman.com>.
46677
46678 2007-09-09  Bruno Haible  <bruno@clisp.org>
46679
46680         * doc/functions/getdelim.texi: Update list of platforms lacking the
46681         function.
46682         * doc/functions/getline.texi: Likewise.
46683
46684 2007-09-09  Jim Meyering  <jim@meyering.net>
46685
46686         * lib/hash.c (hash_initialize): Detect calloc failure.
46687         Reported by Bruno Haible.
46688
46689 2007-09-09  Bruno Haible  <bruno@clisp.org>
46690
46691         * lib/canonicalize-lgpl.c (__realpath): Set errno to ENOMEM when
46692         malloc or realloc fails.
46693
46694 2007-09-09  Bruno Haible  <bruno@clisp.org>
46695
46696         * modules/getcwd (Depends-on): Add malloc-posix.
46697         * modules/glob (Depends-on): Likewise.
46698         * modules/putenv (Depends-on): Likewise.
46699         * modules/strdup (Depends-on): Likewise.
46700         * modules/getdelim (Depends-on): Add realloc-posix.
46701         * modules/read-file (Depends-on): Likewise.
46702
46703 2007-09-09  Bruno Haible  <bruno@clisp.org>
46704
46705         * m4/malloc.m4 (gl_CHECK_MALLOC_POSIX): New macro.
46706         (gl_FUNC_MALLOC_POSIX): Require it.
46707         * m4/realloc.m4 (gl_FUNC_REALLOC_POSIX): Likewise.
46708         * m4/calloc.m4 (gl_FUNC_CALLOC_POSIX): Likewise.
46709         * modules/realloc (Files): Add m4/malloc.m4.
46710         * modules/calloc (Files): Likewise.
46711
46712 2007-09-09  Bruno Haible  <bruno@clisp.org>
46713
46714         * modules/malloc-posix: New file.
46715         * modules/malloc (Depends-on): Add malloc-posix.
46716         * lib/malloc.c: Include errno.h.
46717         (rpl_malloc): Merge the requirements of a glibc-compatible malloc
46718         and a POSIX-compatible malloc into a single function. Set ENOMEM
46719         when returning NULL.
46720         * m4/malloc.m4: New file.
46721         * doc/functions/malloc.texi: Mention the malloc-posix module.
46722         * lib/stdlib_.h (malloc): New declaration.
46723         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize
46724         GNULIB_MALLOC_POSIX and HAVE_MALLOC_POSIX.
46725         * modules/stdlib (stdlib.h): Substitute also GNULIB_MALLOC_POSIX
46726         and HAVE_MALLOC_POSIX.
46727
46728 2007-09-09  Bruno Haible  <bruno@clisp.org>
46729
46730         * modules/realloc-posix: New file.
46731         * modules/realloc (Depends-on): Add realloc-posix.
46732         * lib/realloc.c: Include errno.h.
46733         (rpl_realloc): Merge the requirements of a glibc-compatible realloc
46734         and a POSIX-compatible realloc into a single function. Set ENOMEM
46735         when returning NULL.
46736         * m4/realloc.m4: New file.
46737         * doc/functions/realloc.texi: Mention the realloc-posix module.
46738         * lib/stdlib_.h (realloc): New declaration.
46739         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize
46740         GNULIB_REALLOC_POSIX and HAVE_REALLOC_POSIX.
46741         * modules/stdlib (stdlib.h): Substitute also GNULIB_REALLOC_POSIX
46742         and HAVE_REALLOC_POSIX.
46743
46744 2007-09-09  Bruno Haible  <bruno@clisp.org>
46745
46746         * modules/calloc-posix: New file.
46747         * modules/calloc (Depends-on): Add calloc-posix.
46748         * lib/calloc.c: Include errno.h.
46749         (rpl_calloc): Merge the requirements of a glibc-compatible calloc
46750         and a POSIX-compatible calloc into a single function. Set ENOMEM
46751         when returning NULL.
46752         * m4/calloc.m4 (gl_FUNC_CALLOC_POSIX): New macro.
46753         * doc/functions/calloc.texi: Mention the calloc-posix module.
46754         * lib/stdlib_.h (calloc): New declaration.
46755         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize
46756         GNULIB_CALLOC_POSIX and HAVE_CALLOC_POSIX.
46757         * modules/stdlib (stdlib.h): Substitute also GNULIB_CALLOC_POSIX
46758         and HAVE_CALLOC_POSIX.
46759
46760 2007-09-09  Bruno Haible  <bruno@clisp.org>
46761
46762         Allow for modules to show an arbitrary notice.
46763         * modules/TEMPLATE-EXTENDED: Add 'Notice' field.
46764         * gnulib-tool: New option --extract-notice.
46765         (func_usage): Document it.
46766         (sed_extract_prog): Update.
46767         (func_get_notice): New function.
46768         (func_modules_notice): New function.
46769         (func_import, func_create_testdir): Invoke it.
46770         Suggested by Jim Meyering.
46771
46772 2007-09-09  Bruno Haible  <bruno@clisp.org>
46773
46774         * gnulib-tool: New options --verbose, --quiet.
46775         (func_usage): Document them.
46776         (verbose): New variable.
46777         (func_execute_command): New function.
46778         (func_import): Don't show the module list and the file list if
46779         $verbose < 0.
46780         (func_create_testdir): Likewise. Use func_execute_command.
46781         (func_create_megatestdir): Use func_execute_command.
46782
46783 2007-09-08  Bruno Haible  <bruno@clisp.org>
46784
46785         * gnulib-tool (func_import): Prefer rsync over wget when available,
46786         for fetching the PO files.
46787
46788 2007-09-08  Bruno Haible  <bruno@clisp.org>
46789
46790         * posix-modules: New file. Portions copied from gnulib-tool.
46791         * doc/gnulib.texi (POSIX Substitutes Library): New chapter.
46792
46793 2007-09-08  Jim Meyering  <jim@meyering.net>
46794
46795         Rename __fpending.c -> fpending.c and __fpending.h -> fpending.h
46796         * lib/fpending.h: Rename from __fpending.h.
46797         * lib/fpending.c: Rename from __fpending.c.
46798         Include "fpending.h", not "__fpending.h".
46799         * lib/__fpending.h, lib/__fpending.c: Remove files.
46800         * modules/fpending (Files): Reflect new file names.
46801         * lib/close-stream.c: Include "fpending.h", not "__fpending.h".
46802
46803 2007-09-08  Bruno Haible  <bruno@clisp.org>
46804
46805         * m4/inttypes-h.m4: Remove stub file.
46806
46807 2007-09-07  Simon Josefsson  <simon@josefsson.org>
46808
46809         * doc/headers/stdint.texi: Discuss #include_next issue.
46810
46811 2007-09-06  Paul Eggert  <eggert@cs.ucla.edu>
46812
46813         * build-aux/bootstrap: Remove obsolete comment about wget --help.
46814
46815 2007-09-06  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
46816
46817         * m4/time_h.m4 (gl_CHECK_TYPE_STRUCT_TIMESPEC): Fix misspelling
46818         in variable name.
46819
46820 2007-09-03  Jim Meyering  <jim@meyering.net>
46821
46822         New module: git-version-gen.
46823         * modules/git-version-gen: New file.
46824
46825         Import changes from coreutils for bootstrap script.
46826
46827         * build-aux/bootstrap (WGET_COMMAND): Remove code to set this variable.
46828
46829         bootstrap: uses rsync to download the .po files
46830         * build-aux/bootstrap (po_download_command_format): New global.
46831         (download_po_files): Use rsync.
46832         (update_po_files): Don't remove .po files after download,
46833         so future rsync runs can take advantage of the copies.
46834
46835         * build-aux/bootstrap (gnulib_tool): Make sha1sum check quietly.
46836
46837         Solve the unnecessary-.po-file-regeneration problem once and for all.
46838         * build-aux/bootstrap (download_po_files): New function, renamed from
46839         get_translations.  Now, downloads, but doesn't update LINGUAS.
46840         (update_po_files): New function.
46841
46842         bootstrap: Ignore more.
46843         * build-aux/bootstrap (symlink_to_dir): Add a directory name like
46844         uniwidth to e.g., lib/.gitignore.
46845         (slurp): Handle the sys_stat_.h -> sys mapping, too.
46846
46847         * build-aux/bootstrap: New setting: vc_ignore.
46848         (insert_sorted_if_absent): Create $file if absent.
46849         Adapt to new, possibly empty, list: $vc_ignore.
46850
46851         bootstrap: generate more ignorable names
46852         * build-aux/bootstrap (slurp): When generating ignorable names,
46853         also map .sin to .sed, .gperf to .c, and .y to .c.
46854
46855 2007-09-03  Jim Meyering  <jim@meyering.net>
46856
46857         * build-aux/git-version-gen: New file, from coreutils.  For details, see
46858         http://git.sv.gnu.org/gitweb/?p=coreutils.git;a=commitdiff;h=bfe49f506
46859
46860 2007-09-02  Bruno Haible  <bruno@clisp.org>
46861
46862         Fix mis-recognition of 'mcs' on QNX 6.
46863         * m4/csharpcomp.m4 (gt_CSHARPCOMP): Test whether the "mcs --version"
46864         output contains the string "Mono".
46865         * lib/csharpcomp.c (compile_csharp_using_mono): Likewise.
46866         Reported by <kraai@ftbfs.org> at <https://savannah.gnu.org/bugs/?18337>.
46867
46868 2007-09-01  Bruno Haible  <bruno@clisp.org>
46869
46870         Fix collision between uniwidth/* and linebreak modules.
46871         * lib/linebreak.h (locale_charset, uc_width, u8_width, u16_width,
46872         u32_width): Remove declarations.
46873         * lib/linebreak.c: Include uniwidth.h, uniwidth/cjk.h, streq.h.
46874         (u32_mbtouc_unsafe, streq9, streq8, streq7, streq6, streq5, streq4,
46875         streq3, streq2, streq1, streq0): Remove functions.
46876         (STREQ): Remove macro.
46877         (is_cjk_encoding): Remove function.
46878         (nonspacing_table_data, nonspacing_table_ind): Remove constants.
46879         (uc_width, u8_width, u16_width, u32_width): Remove functions.
46880         * modules/linebreak (Depends-on): Add streq, uniwidth/width.
46881         * NEWS: Document the change.
46882
46883 2007-09-01  Bruno Haible  <bruno@clisp.org>
46884
46885         * lib/streq.h: Add double-inclusion guard.
46886
46887 2007-09-01  Karl Berry  <karl@gnu.org>
46888
46889         * MODULES.html.sh: Rename mreadlink_with_size to areadlink_with_size.
46890
46891 2007-08-28  Jim Meyering  <jim@meyering.net>
46892
46893         Rename mreadlink_with_size to areadlink_with_size.
46894         * NEWS: Document the change.
46895         * lib/mreadlink-with-size.c (mreadlink_with_size): Rename this to...
46896         * lib/areadlink-with-size.c (areadlink_with_size): ...this.
46897         * lib/mreadlink.h: Rename this to...
46898         * lib/areadlink.h: ...this.
46899         * modules/mreadlink-with-size: Rename this to...
46900         * modules/areadlink-with-size: ...this.
46901         * lib/canonicalize.c: Reflect the renaming.
46902         * modules/canonicalize: Likewise.
46903
46904 2007-08-26  Bruno Haible  <bruno@clisp.org>
46905
46906         * gnulib-tool (func_import): When deciding which files to remove,
46907         consider also dangling symbolic links.
46908         Reported by Eric Blake.
46909
46910 2007-08-26  Bruno Haible  <bruno@clisp.org>
46911
46912         * gnulib-tool (func_ln_if_changed): Use "test -h", not "test -L".
46913
46914 2007-08-23  Simon Josefsson  <simon@josefsson.org>
46915
46916         * lib/readline.c: Don't include getline.h, the prototype is now
46917         found in stdio.h.
46918
46919 2007-08-23  Jim Meyering  <jim@meyering.net>
46920
46921         Getdelim touchup.
46922         * lib/getdelim.c (getdelim): Don't bother to save/restore errno
46923         around the funlockfile call, since funlockfile never sets errno.
46924         Don't set errno upon failed realloc.
46925
46926 2007-08-22  Eric Blake  <ebb9@byu.net>
46927
46928         Getline touchups.
46929         * lib/getdelim.c (getdelim): Revert regression that required *n to
46930         be 0 when *lineptr is NULL.  Preserve errno across funlockfile.
46931         * m4/getdelim.m4 (gl_FUNC_GETDELIM): Check for declaration of
46932         getdelim, rather than whether implementation is missing.
46933         * m4/getline.m4 (gl_FUNC_GETLINE): Likewise for getline.
46934         * lib/stdio_.h (getline): Also declare if replacement is
46935         required.
46936         * doc/functions/getdelim.texi: New file.
46937         * doc/functions/getline.texi: Likewise.
46938         * doc/gnulib.texi (Function Substitutes): Add new files.
46939         Reported by Bruno Haible.
46940
46941 2007-08-22  Ludovic Courtès  <ludo@gnu.org>
46942
46943         * users.txt: Add Guile.
46944
46945 2007-08-22  Eric Blake  <ebb9@byu.net>
46946
46947         * tests/test-getdelim.c (main): Use remove, not unlink.
46948         * tests/test-getline.c (main): Likewise.
46949
46950         Move getline and getdelim into stdio.h, per POSIX 200x.
46951         * modules/getline (Files): Remove getline.h.
46952         (Depends-on): Add stdio.
46953         (configure.ac): Add module indicator.
46954         * modules/getdelim (Files): Remove getdelim.h.
46955         (Depends-on): Add stdio.
46956         (configure.ac): Add module indicator.
46957         * modules/stdio (Makefile.am): Work with new indicators.
46958         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Add new defaults.
46959         * m4/getdelim.m4 (gl_FUNC_GETDELIM): Work with stdio needs.
46960         * m4/getline.m4 (gl_FUNC_GETLINE): Likewise.
46961         * lib/getdelim.h: Delete.
46962         * lib/getline.h: Delete.
46963         * lib/stdio_.h (getdelim, getline): Declare.
46964         * modules/getdelim-tests: New module.
46965         * modules/getline-tests: Likewise.
46966         * tests/test-getdelim.c: New file.
46967         * tests/test-getline.c: Likewise.
46968         * NEWS: Document the change.
46969         * lib/getline.c: Update choice of header.
46970         * lib/csharpcomp.c: Likewise.
46971         * lib/getpass.c: Likewise.
46972         * lib/javacomp.c: Likewise.
46973         * lib/javaversion.c: Likewise.
46974         * lib/yesno.c: Likewise.
46975         * lib/getdelim.c: Likewise.
46976         (getdelim): Set errno on failure, and avoid memory leak.
46977
46978 2007-08-19  Bruno Haible  <bruno@clisp.org>
46979
46980         * modules/closein (Depends-on): Add freadahead.
46981         * lib/closein.c: Include freadahead.h.
46982         (close_stdin): Skip the fseeko and fflush calls if freadahead(stdin)
46983         is zero.
46984
46985 2007-08-19  Bruno Haible  <bruno@clisp.org>
46986
46987         * modules/freadahead-tests: New file.
46988         * tests/test-freadahead.sh: New file.
46989         * tests/test-freadahead.c: New file.
46990
46991         * modules/freadahead: New file.
46992         * lib/freadahead.h: New file.
46993         * lib/freadahead.c: New file.
46994         * MODULES.html.sh (File stream based Input/Output): Add freadahead,
46995         fbufmode, fpurge, freadable, fwritable.
46996
46997 2007-08-19  Eric Blake  <ebb9@byu.net>
46998
46999         Test yesno in combination with closein.
47000         * lib/yesno.c (yesno): Document use of stdin.
47001         * modules/yesno-tests (Files): New module.
47002         * tests/test-yesno.c (main): New file.
47003         * tests/test-yesno.sh: Likewise.
47004
47005 2007-08-19  Bruno Haible  <bruno@clisp.org>
47006
47007         * lib/fbufmode.c (fbufmode): Add tentative support for Solaris/AMD64.
47008         * lib/fseeko.c (rpl_fseeko): Likewise.
47009         * lib/fseterr.c (fseterr): Likewise.
47010
47011 2007-08-19  Bruno Haible  <bruno@clisp.org>
47012
47013         * tests/test-lseek.c (main): Disable a test for BeOS.
47014         * doc/functions/lseek.texi: Document the BeOS bug.
47015
47016 2007-08-19  Bruno Haible  <bruno@clisp.org>
47017             Eric Blake  <ebb9@byu.net>
47018
47019         * lib/lseek.c: Include <sys/stat.h>.
47020         (rpl_lseek): Add workaround code also for Unix platforms.
47021         Needed for BeOS.
47022         * m4/lseek.m4 (gl_FUNC_LSEEK): When cross-compiling, fail on BeOS.
47023         * doc/functions/lseek.texi: Document BeOS definiency.
47024
47025 2007-08-18  Bruno Haible  <bruno@clisp.org>
47026
47027         * modules/fstrcmp-tests: New file.
47028         * tests/test-fstrcmp.c: New file.
47029
47030 2007-08-18  Bruno Haible  <bruno@clisp.org>
47031
47032         * modules/fstrcmp: New file, from GNU gettext with modifications.
47033         * lib/fstrcmp.h: New file, from GNU gettext.
47034         * lib/fstrcmp.c: New file, from GNU gettext.
47035         * MODULES.html.sh (String handling): Add fstrcmp.
47036
47037 2007-08-18  Bruno Haible  <bruno@clisp.org>
47038
47039         * lib/diffseq.h (struct context): Change type of 'heuristic' field to
47040         'bool'.
47041         (diag, compareseq): Remove const from the ctxt argument.
47042         (USE_HEURISTIC): Undefine at the end.
47043
47044 2007-08-18  Jim Meyering  <jim@meyering.net>
47045
47046         New file: lib/idcache.h
47047         * NEWS: Mention the addition.
47048         * modules/idcache (Files): Add lib/idcache.h
47049         * lib/idcache.c: Include "idcache.h".
47050         Don't include <sys/types.h>.
47051         Add a FIXME comment.
47052         Move file-scoped "static" declarations to the top.
47053         * lib/idcache.h: New file.  Include <sys/types.h> here, instead.
47054
47055 2007-08-17  Bruno Haible  <bruno@clisp.org>
47056         and Paul Eggert  <eggert@cs.ucla.edu>
47057
47058         * MODULES.html.sh: Add diffseq.
47059         * modules/diffseq: New file.
47060         * lib/diffseq.h: New file, from GNU gettext with a few minor changes,
47061         extracted from GNU gettext's fstrcmp.c and GNU diff's analyze.c.
47062
47063 2007-08-15  Paul Eggert  <eggert@cs.ucla.edu>
47064
47065         Import changes from coreutils for bootstrap script.
47066
47067         2007-07-21  Paul Eggert  <eggert@cs.ucla.edu>
47068
47069         * build-aux/bootstrap (slurp): Work even in environments where
47070         "ls" defaults to "ls -A".  Put in a FIXME, though, since the
47071         current code does not slurp files whose names start with ".", and
47072         this looks like it might be a troublesome area.
47073
47074         2007-07-11  Jim Meyering  <jim@meyering.net>
47075
47076         If there's a GPL vN copyright comment, require that N == 3.
47077
47078         2007-07-08  Jim Meyering  <jim@meyering.net>
47079
47080         Run the coreutils-specific code only if tests/Makefile.am.in exists.
47081         * build-aux/bootstrap (mam_template): Move definition out of loop.
47082
47083         Create symlinks for gl/{lib,m4}/*, just as for gnulib/{lib,m4}/*.
47084
47085         * build-aux/bootstrap (symlink_to_dir): Rename function from
47086         symlink_to_gnulib.  Add a directory parameter.  Update all
47087         callers.
47088         (cp_mark_as_generated): Also check for -- and link to -- files in
47089         gl/.
47090
47091         2007-07-08  Jim Meyering  <jim@meyering.net>
47092
47093         Adapt to deeper hierarchy in gnulib.
47094         * build-aux/bootstrap (symlink_to_dir): If the destination
47095         directory doesn't exist, create it. This is required at least for
47096         "lib/uniwidth/cjk.h".
47097
47098         2007-05-15  Jim Meyering  <jim@meyering.net>
47099
47100         * build-aux/bootstrap: Now that generated Makefile.am files
47101         are no longer under version control, they must be created at
47102         bootstrap time.
47103
47104 2007-08-14  Ben Pfaff  <blp@gnu.org>
47105
47106         * lib/count-one-bits.h: Add comments.  From Bruno Haible.
47107
47108 2007-08-14  Paul Eggert  <eggert@cs.ucla.edu>
47109
47110         * lib/count-one-bits.h: Don't include <limits.h>; no longer needed
47111         given the changes below.
47112         (COUNT_ONE_BITS): Use 'verify' rather than 'verify_true'.  Work
47113         even on hosts that have padding bits beyond the supported 64.
47114
47115 2007-08-10  Paul Eggert  <eggert@cs.ucla.edu>
47116
47117         * NEWS: In xstrtol, remove STRTOL_FATAL_ERROR and add xstrtol_fatal.
47118         * lib/xstrtol.h: Don't include exitfail.h; that's now internal to
47119         xstrtol.c.  Include getopt.h, since xstrtol_fatal's signature
47120         depends on it.
47121         (xstrtol_error): Remove.
47122         (xstrtol_fatal): New decl, replacing the functionality of xstrtol_error
47123         but with a different signature.
47124         (ATTRIBUTE_NORETURN, __attribute__): New macros.
47125         * lib/xstrtol-error.c: Include exitfail.h.
47126         (xstrtol_fatal): New function, with a different signature from the
47127         old xstrtol_error, so that the caller need not worry about passing
47128         in an exit status, or about storage management of the option argument.
47129         (xstrtol_error): Now a static function.  Redo signature to
47130         implement xstrtol_fatal.  Output the correct number of hyphens in
47131         front of the option so that the caller need not worry about
47132         storage management.
47133         (N_): New macro.
47134         (_): Remove; not used now.
47135         * modules/xstrtol: Depend on getopt.
47136         * tests/test-xstrtol.c (main): Use new xstrtol_error function instead
47137         of old STRTOL_FATAL_ERROR macro.
47138         * tests/test-xstrtol.sh (t-xstrtol.xo): Adjust to match new behavior
47139         of test program.
47140         * tests/test-xstrtoimax.sh (t-xstrtoimax.xo): Likewise.
47141         * tests/test-xstrtoumax.sh (t-xstrtoumax.xo): Likewise.
47142
47143 2007-08-08  Eric Blake  <ebb9@byu.net>
47144
47145         * lib/xstrtol-error.c: Add missing include.
47146
47147         Move xstrtol messages into gnulib domain, when --pobase is used.
47148         * lib/xstrtol.h (_STRTOL_ERROR): Move messages out of macro...
47149         * lib/xstrtol-error.c (xstrtol_error): ...into new file.
47150         * modules/xstrtol (Files): Distribute new file.
47151         * m4/xstrtol.m4 (gl_XSTRTOL): Build new file.
47152         * lib/xstrtol.c (TESTING_XSTRTO): Move tests...
47153         * tests/test-xstrtol.c: ...into new file.
47154         * tests/test-xstrtoul.c: Also test xstrtoul.
47155         * tests/test-xstrtoimax.c: Also test xstrtoimax.
47156         * tests/test-xstrtoumax.c: Also test xstrtoumax.
47157         * tests/test-xstrtol.sh: Drive the tests.
47158         * tests/test-xstrtoimax.sh: Likewise.
47159         * tests/test-xstrtoumax.sh: Likewise.
47160         * modules/xstrtol-tests: New module.
47161         * modules/xstrtoimax-tests: Likewise.
47162         * modules/xstrtoumax-tests: Likewise.
47163
47164 2007-08-08  Jim Meyering  <jim@meyering.net>
47165
47166         New function: mfile_name_concat.
47167         * lib/filenamecat.c (mfile_name_concat): New function, just like
47168         file_name_concat, but return NULL upon failure rather than exiting
47169         with a diagnostic.
47170         * lib/filenamecat.h: Declare it.
47171
47172 2007-08-07  Bruno Haible  <bruno@clisp.org>
47173
47174         * m4/inttypes.m4 (gl_INTTYPES_H): Use GL_TRIGGER_STDC_LIMIT_MACROS
47175         instead of __STDC_LIMIT_MACROS_TRIGGER. This avoids a redefinition
47176         warning from gcc.
47177         Reported by Eric Blake.
47178
47179 2007-08-07  Simon Josefsson  <simon@josefsson.org>
47180
47181         * modules/crypto/arctwo (License): Use the synonymous term "LGPLv2+".
47182         * modules/crypto/arcfour (License): Likewise.
47183         * modules/crypto/des-tests (License): Likewise.
47184         * modules/crypto/gc-arctwo-tests (License): Likewise.
47185         * modules/crypto/gc-des-tests (License): Likewise.
47186         * modules/crypto/gc-hmac-md5-tests (License): Likewise.
47187         * modules/crypto/gc-hmac-sha1-tests (License): Likewise.
47188         * modules/crypto/gc-md2-tests (License): Likewise.
47189         * modules/crypto/gc-md4-tests (License): Likewise.
47190         * modules/crypto/gc-md5-tests (License): Likewise.
47191         * modules/crypto/gc-pbkdf2-sha1-tests (License): Likewise.
47192         * modules/crypto/gc-rijndael-tests (License): Likewise.
47193         * modules/crypto/gc-sha1-tests (License): Likewise.
47194         * modules/crypto/gc-tests (License): Likewise.
47195         * modules/crypto/hmac-md5 (License): Likewise.
47196         * modules/crypto/hmac-sha1 (License): Likewise.
47197         * modules/crypto/md2-tests (License): Likewise.
47198         * modules/crypto/md4-tests (License): Likewise.
47199         * modules/crypto/md5 (License): Likewise.
47200         * modules/crypto/rijndael (License): Likewise.
47201         * modules/crypto/sha1 (License): Likewise.
47202         * modules/memxor (License): Likewise.
47203
47204 2007-08-06  Paul Eggert  <eggert@cs.ucla.edu>
47205         and Bruno Haible  <bruno@clisp.org>
47206
47207         * NEWS: Describe interface changes to human, xstrtol.
47208         * lib/human.h: Include <xstrtol.h>.
47209         (human_options): Return enum strtol_error, not int.  Remove
47210         bool arg; take int * instead.
47211         * lib/human.c: Don't include "gettext.h".
47212         (_): Remove; no longer used.
47213         Don't include <xstrtol.h>, since human.h does it.
47214         (human_options): Adjust to abovementioned interface changes.
47215         Do not report error to stderr; that's now the caller's
47216         responsibility.
47217         * lib/xstrtol.c (main) [defined TESTING_XSTRTO]: Adjust to
47218         interface change.
47219         * lib/xstrtol.h (_STRTOL_ERROR): Take Option, Arg rather than
47220         Str, Argument_type_string.  All uses changed.  Put " argument"
47221         in diagnostics to make them clearer.  Change wording of suffix
47222         message for clarity.
47223         (STRTOL_FATAL_ERROR): Take Option, Arg rather than Str,
47224         Argument_type_string.
47225         (STRTOL_FATAL_WARN): Remove; no longer used.
47226         * modules/human (Depends-on): Remove gettext-h.
47227
47228 2007-08-06  Simon Josefsson  <simon@josefsson.org>
47229
47230         * build-aux/maint.mk, build-aux/GNUmakefile: Relicense to GPLv3+.
47231
47232 2007-07-31  Bruno Haible  <bruno@clisp.org>
47233
47234         * m4/stdint.m4 (gl_STDINT_H): Test whether WCHAR_MIN and WCHAR_MAX
47235         are defined by <stdint.h> (as opposed to <wchar.h>, as on Dragonfly).
47236         Reported by Joerg Sonnenberger <joerg@britannica.bec.de>.
47237
47238 2007-07-31  Bruno Haible  <bruno@clisp.org>
47239
47240         * lib/fflush.c (rpl_fflush): On BSD systems, use the __SNPT flag.
47241         Suggested by Joerg Sonnenberger <joerg@britannica.bec.de>.
47242
47243 2007-07-30  Bruno Haible  <bruno@clisp.org>
47244
47245         * modules/base64 (License): Use the synonymous term "LGPLv2+".
47246         * modules/c-ctype (License): Likewise.
47247         * modules/c-strcase (License): Likewise.
47248         * modules/check-version (License): Likewise.
47249         * modules/iconv (License): Likewise.
47250         * modules/iconv_open (License): Likewise.
47251         * modules/read-file (License): Likewise.
47252         * modules/striconv (License): Likewise.
47253         * modules/strverscmp (License): Likewise.
47254         * modules/vasprintf (License): Likewise.
47255         * modules/crypto/des (License): Likewise.
47256         * modules/crypto/gc (License): Likewise.
47257         * modules/crypto/gc-arcfour (License): Likewise.
47258         * modules/crypto/gc-arctwo (License): Likewise.
47259         * modules/crypto/gc-des (License): Likewise.
47260         * modules/crypto/gc-hmac-md5 (License): Likewise.
47261         * modules/crypto/gc-hmac-sha1 (License): Likewise.
47262         * modules/crypto/gc-md2 (License): Likewise.
47263         * modules/crypto/gc-md4 (License): Likewise.
47264         * modules/crypto/gc-md5 (License): Likewise.
47265         * modules/crypto/gc-pbkdf2-sha1 (License): Likewise.
47266         * modules/crypto/gc-random (License): Likewise.
47267         * modules/crypto/gc-rijndael (License): Likewise.
47268         * modules/crypto/gc-sha1 (License): Likewise.
47269         * modules/crypto/md2 (License): Likewise.
47270         * modules/crypto/md4 (License): Likewise.
47271
47272 2007-07-30  Jim Meyering  <jim@meyering.net>
47273
47274         * lib/fts.c (fts_read): Upon failure to chdir into a subdirectory,
47275         set fts_info to FTS_DNR, not to FTS_ERR, so that the caller knows
47276         it has valid stat data.  This bug would cause du not to count the
47277         sizes of inaccessible directories.
47278         Patch by Bryan Mason <bmason@redhat.com>, via Jose Maria Plans
47279         in <http://bugzilla.redhat.com/250077>.
47280
47281 2007-07-25  Peter O'Gorman  <peter@pogma.com>
47282             Bruno Haible  <bruno@clisp.org>
47283
47284         * m4/include_next.m4 (gl_INCLUDE_NEXT): Test whether #include_next
47285         really works. Needed because AIX 4.3 "xlc -E" doesn't understand
47286         #include_next, gives a diagnostic about it, but reports no error in
47287         the exit code.
47288         Reported by Gary V. Vaughan <gary@thewrittenword.com>.
47289
47290 2007-07-24  Ben Pfaff  <blp@gnu.org>
47291
47292         Improve name: "count-one-bits" is better than "popcount".
47293         * MODULES.html.sh: Update name.
47294         * lib/popcount.h: Renamed lib/count-one-bits.h.
47295         (popcount): Renamed count_one_bits.
47296         (popcountl): Renamed count_one_bits_l.
47297         (popcountll): Renamed count_one_bits_ll.
47298         * m4/popcount.m4: Renamed m4/count-one-bits.m4.
47299         * modules/popcount: Renamed module/count-one-bits.
47300         * modules/popcount-tests: Renamed module/count-one-bits-tests.
47301         * tests/test-popcount.c: Renamed tests/test-count-one-bits.c.
47302
47303 2007-07-23  Ben Pfaff  <blp@gnu.org>
47304
47305         * lib/popcount.h (popcount32): Reduce size of constants, to allow
47306         better code generation, and add U to large constants to avoid
47307         warnings, in non-GCC case.
47308         Suggested by Bruno Haible.
47309
47310 2007-07-23  Ben Pfaff  <blp@gnu.org>
47311
47312         * lib/popcount.h: Use verify_true instead of if...abort.
47313         * modules/popcount: Depend on verify module.
47314         Suggested by Jim Meyering.
47315
47316 2007-07-23  Bruno Haible  <bruno@clisp.org>
47317
47318         * gnulib-tool (func_import): Create a .cvsignore file also when the
47319         directory is not yet in CVS but the toplevel directory is. When
47320         creating a .cvsignore file, add ".deps" and ".dirstamp" to it.
47321         Reported by Karl Berry.
47322
47323 2007-07-22  Ben Pfaff  <blp@gnu.org>
47324
47325         * lib/popcount.h: Use faster, branchless algorithm for non-GCC
47326         case.
47327         Suggested by Eric Blake.
47328
47329 2007-07-22  Ben Pfaff  <blp@gnu.org>
47330
47331         New module: popcount.
47332         * MODULES.html.sh: Add popcount.
47333         * modules/popcount: New file.
47334         * modules/popcount-tests: New file.
47335         * tests/test-popcount.c: New file.
47336         * lib/popcount.h: New file.
47337         * m4/popcount.m4: New file.
47338
47339 2007-07-22  Paul Eggert  <eggert@cs.ucla.edu>
47340
47341         * build-aux/announce-gen: Update to GPLv3.
47342
47343         * build-aux/config.guess: Update from config.
47344
47345 2007-07-21  Bruno Haible  <bruno@clisp.org>
47346
47347         * lib/error.c (_) [ENABLE_NLS]: Define to gettext.
47348         * lib/verror.c (_) [ENABLE_NLS]: Likewise.
47349
47350 2007-07-20  Jim Meyering  <jim@meyering.net>
47351
47352         * check-module: Diagnose a self-dependency.
47353
47354 2007-07-19  Bruno Haible  <bruno@clisp.org>
47355
47356         * gnulib-tool (func_import): Don't abort if pobase or po_domain is
47357         empty.
47358         Reported by Eric Blake.
47359
47360 2007-07-18  Bruno Haible  <bruno@clisp.org>
47361
47362         * gnulib-tool: New options --po-base, --po-domain.
47363         (func_usage): Document them.
47364         (pobase, po_domain): New variables.
47365         (func_emit_lib_Makefile_am): Augment AM_CPPFLAGS, defining
47366         DEFAULT_TEXT_DOMAIN.
47367         (func_emit_po_Makevars, func_emit_po_POTFILES_in): New functions.
47368         (func_import): Consider pobase and po_domain. Create a po/ directory.
47369         (func_create_testdir): Set pobase and po_domain to empty.
47370         * build-aux/po/Makefile.in.in: New file, from GNU gettext 0.16.1.
47371         * build-aux/po/remove-potcdate.sin: New file, from GNU gettext 0.16.1.
47372
47373 2007-07-18  Bruno Haible  <bruno@clisp.org>
47374
47375         * gnulib-tool (func_get_automake_snippet): Synthesize also an
47376         EXTRA_DIST augmentation for files in build-aux/.
47377
47378 2007-07-16  Bruno Haible  <bruno@clisp.org>
47379
47380         * modules/lseek (License): Use the synonymous term "LGPLv2+".
47381         * modules/getdelim (License): Likewise.
47382
47383 2007-07-16  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
47384
47385         * modules/arpa_inet (License): Use the synonymous term LGPLv2+.
47386         * modules/d-type (License): Likewise.
47387         * modules/extensions (License): Likewise.
47388         * modules/fnmatch (License): Likewise.
47389         * modules/fseeko (License): Likewise.
47390         * modules/getaddrinfo (License): Likewise.
47391         * modules/getline (License): Likewise.
47392         * modules/getlogin_r (License): Likewise.
47393         * modules/getpass (License): Likewise.
47394         * modules/gettimeofday (License): Likewise.
47395         * modules/glob (License): Likewise.
47396         * modules/inet_ntop (License): Likewise.
47397         * modules/malloc (License): Likewise.
47398         * modules/malloca (License): Likewise.
47399         * modules/memmem (License): Likewise.
47400         * modules/mempcpy (License): Likewise.
47401         * modules/memset (License): Likewise.
47402         * modules/minmax (License): Likewise.
47403         * modules/mktime (License): Likewise.
47404         * modules/netinet_in (License): Likewise.
47405         * modules/pathmax (License): Likewise.
47406         * modules/poll (License): Likewise.
47407         * modules/regex (License): Likewise.
47408         * modules/snprintf (License): Likewise.
47409         * modules/stdbool (License): Likewise.
47410         * modules/stdint (License): Likewise.
47411         * modules/stdio (License): Likewise.
47412         * modules/strcase (License): Likewise.
47413         * modules/strcasestr (License): Likewise.
47414         * modules/strdup (License): Likewise.
47415         * modules/string (License): Likewise.
47416         * modules/strndup (License): Likewise.
47417         * modules/strnlen (License): Likewise.
47418         * modules/strpbrk (License): Likewise.
47419         * modules/strptime (License): Likewise.
47420         * modules/strsep (License): Likewise.
47421         * modules/sys_select (License): Likewise.
47422         * modules/sys_socket (License): Likewise.
47423         * modules/sys_stat (License): Likewise.
47424         * modules/sys_time (License): Likewise.
47425         * modules/time (License): Likewise.
47426         * modules/time_r (License): Likewise.
47427         * modules/timegm (License): Likewise.
47428         * modules/unistd (License): Likewise.
47429         * modules/vsnprintf (License): Likewise.
47430         * modules/wctype (License): Likewise.
47431
47432 2007-07-16  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
47433
47434         * modules/argz (License): LGPLv2+.
47435
47436 2007-07-15  Karl Berry  <karl@gnu.org>
47437
47438         * doc/gnulib.texi: revise node structure per new fdl.texi.
47439
47440 2007-07-14  Bruno Haible  <bruno@clisp.org>
47441
47442         * lib/uniname/gen-uninames.lisp (main): Emit a "do not edit" line to
47443         the output file.
47444         * lib/uniname/uninames.h: Regenerated.
47445
47446 2007-07-14  Karl Berry  <karl@gnu.org>
47447
47448         * doc/*gpl*.texi, doc/fdl.texi: new versions, consistently
47449         omitting sectioning and index commands.
47450
47451 2007-07-13  Bruno Haible  <bruno@clisp.org>
47452
47453         New gnulib-tool option --more-symlinks.
47454         * gnulib-tool (func_usage): Document --more-symlinks.
47455         (do_copyrights): New variable.
47456         Recognize option --more-symlinks.
47457         (func_import): Don't add a copyright notice transform to
47458         sed_transform_lib_file if do_copyrights is empty.
47459
47460 2007-07-13  Bruno Haible  <bruno@clisp.org>
47461
47462         * lib/vasnprintf.c (decimal_point_char): Define also if
47463         (NEED_PRINTF_LONG_DOUBLE || NEED_PRINTF_INFINITE_DOUBLE)
47464         && !NEED_PRINTF_DIRECTIVE_A.
47465         Reported by Clemens Koller <clemens.koller@anagramm.de> via
47466         Gary V. Vaughan <gary@gnu.org>.
47467
47468 2007-07-13  Paul Eggert  <eggert@cs.ucla.edu>
47469
47470         * lib/inttypes_.h: Undo previous change, since it was fixed
47471         in a different way in the 2007-07-02 fix to m4/inttypes.m4.
47472
47473 2007-07-13  Bruno Haible  <bruno@clisp.org>
47474
47475         * lib/stdint_.h: Fix typo: _GL_JUST_INCLUDE_SYSTEM_INTTYPES_H was
47476         misspelled as _GL_JUST_INCLUDE_ABSOLUTE_INTTYPES_H.
47477
47478 2007-07-13  Jim Meyering  <jim@meyering.net>
47479
47480         df: Don't fail for Tru64's "file-on-file mount".
47481         * m4/fsusage.m4 (gl_FSUSAGE): Reject Tru64's buggy statvfs,
47482         so we fall through and use statfs instead.  Details here:
47483         <http://thread.gmane.org/gmane.comp.gnu.coreutils.bugs/10878>
47484         Reported by Albert Chin.
47485
47486 2007-07-13  Bruno Haible  <bruno@clisp.org>
47487
47488         * modules/alloca-opt (License): Use the synonymous term "LGPLv2+".
47489         * modules/configmake (License): Likewise.
47490         * modules/gettext (License): Likewise.
47491         * modules/gettext-h (License): Likewise.
47492         * modules/include_next (License): Likewise.
47493         * modules/link-warning (License): Likewise.
47494         * modules/localcharset (License): Likewise.
47495         * modules/localename (License): Likewise.
47496         * modules/lock (License): Likewise.
47497         * modules/relocatable-lib-lgpl (License): Likewise.
47498         * modules/size_max (License): Likewise.
47499         * modules/vasnprintf (License): Likewise.
47500         * modules/wchar (License): Likewise.
47501         * modules/xsize (License): Likewise.
47502
47503 2007-07-13  Bruno Haible  <bruno@clisp.org>
47504
47505         * gnulib-tool (func_import): Treat LGPLv2 as synonymous to LGPL.
47506         (func_create_testdir): Handle copying terms "GPLv2+" and "LGPLv2+".
47507
47508 2007-07-12  Bruno Haible  <bruno@clisp.org>
47509
47510         * doc/gnulib-intro.texi (Copyright): Clarify the license abbreviations
47511         in the modules files.
47512
47513 2007-07-11  Karl Berry  <karl@gnu.org>
47514
47515         * MODULES.html.sh (func_module): use
47516          sed -e '\|^'"${includefile}"'$|d'
47517          instead of /.../d, to avoid errors on $includefile's containing /.
47518
47519 2007-07-10  Sergey Poznyakoff  <gray@gnu.org.ua>
47520
47521         * gnulib-tool (func_import): Avoid duplication of --avoid
47522         statements
47523         (func_dest_tmpfilename,func_create_testdir): Translate `-' in file
47524         names to `_' in variable names.
47525
47526 2007-07-10  Eric Blake  <ebb9@byu.net>
47527
47528         * lib/version-etc.c (version_etc_va): Default to GPLv3+.
47529         * NEWS: Document this change.
47530
47531 2007-07-08  Bruno Haible  <bruno@clisp.org>
47532
47533         Update to Unicode 5.0.
47534         * lib/uniwidth/width.c (nonspacing_table_data): Add U+00AD,
47535         U+0350..U+035F, U+05A2, U+05BA, U+05C5, U+05C7, U+0600..U+0603,
47536         U+0610..U+0615, U+0656..U+065E, U+07EB..U+07F3, U+0A01, U+0AE2..U+0AE3,
47537         U+0CBC. Remove U+0CBF, U+0CC6. Add U+0CE2..U+0CE3, U+135F,
47538         U+17B4..U+17B5, U+17DD. Remove U+180E. Add U+1920..U+1922,
47539         U+1927..U+192B, U+1932, U+1939..U+193B, U+1A17..U+1A18, U+1B00..U+1B03,
47540         U+1B34, U+1B36..U+1B3A, U+1B3C, U+1B42, U+1B6B..U+1B73, U+1DC0..U+1DCA,
47541         U+1DFE..U+1DFF, U+20EB..U+20EF, U+A802, U+A806, U+A80B, U+A825..U+A826,
47542         U+10A01..U+10A03, U+10A05..U+10A06, U+10A0C..U+10A0F, U+10A38..U+10A3A,
47543         U+10A3F, U+1D242..U+1D244.
47544         (nonspacing_table_ind): Update.
47545         (uc_width): Assign width 0 to U+E0100..U+E01EF. Assign width 1 to
47546         U+4DC0..U+4DFF. Assign width 2 to U+2329..U+232A, U+FE10..U+FE1F.
47547
47548 2007-07-08  Bruno Haible  <bruno@clisp.org>
47549
47550         Update to Unicode 5.0.
47551         * lib/uniname/gen-uninames.lisp (main): Add the range 0x12xxx to the
47552         code transform. Extend the name index field of unicode_name_to_code and
47553         unicode_code_to_name from 16 to 24 bits.
47554         * lib/uniname/uniname.c (unicode_character_name,
47555         unicode_name_character): Add the range 0x12xxx to the code transform.
47556         * lib/uniname/uninames.h: Regenerated.
47557         * tests/uniname/UnicodeDataNames.txt: Update to Unicode 5.0.
47558
47559 2007-07-07  Bruno Haible  <bruno@clisp.org>
47560
47561         * modules/wcwidth-tests: New file.
47562         * tests/test-wcwidth.c: New file.
47563
47564         Work around MacOS X wcwidth() bug.
47565         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Test against MacOS X 10.3 bug.
47566         * lib/wcwidth.c: Include localcharset.h, streq.h, uniwidth.h.
47567         (rpl_wcwidth): Special-case the UTF-8 locales. Fall back to the
47568         original wcwidth in non-UTF-8 locales.
47569         * modules/wcwidth (Depends-on): Add localcharset, streq,
47570         uniwidth/width.
47571         * doc/functions/wcwidth.texi: Update.
47572
47573 2007-07-07  Bruno Haible  <bruno@clisp.org>
47574
47575         * lib/wchar_.h: Include the GL_LINK_WARNING macro.
47576         (wcwidth): New declaration.
47577         * m4/wchar.m4 (gl_WCHAR_MODULE_INDICATOR, gl_WCHAR_H_DEFAULTS): New
47578         macros.
47579         (gl_WCHAR_H): Require gl_WCHAR_H_DEFAULTS. Don't set WCHAR_H to empty
47580         here. Prepare for creating <wchar.h> unconditionally.
47581         * modules/wchar (Depends-on): Add link-warning.
47582         (Makefile.am): Substitute also GNULIB_WCWIDTH, HAVE_DECL_WCWIDTH,
47583         REPLACE_WCWIDTH, and GL_LINK_WARNING.
47584         * lib/wcwidth.h: Remove file.
47585         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Require gl_WCHAR_H_DEFAULTS. Set
47586         HAVE_DECL_WCWIDTH, REPLACE_WCWIDTH, WCHAR_H.
47587         * modules/wcwidth (Files): Remove lib/wcwidth.h.
47588         (configure.ac): Invoke gl_WCHAR_MODULE_INDICATOR.
47589         (Include): Replace wcwidth.h with <wchar.h>.
47590         * lib/wcwidth.c: Include <wchar.h> instead of wcwidth.h.
47591         * lib/mbchar.h: Don't include wcwidth.h.
47592         * lib/mbswidth.c: Likewise.
47593         * NEWS: Mention the change.
47594
47595 2007-07-07  Bruno Haible  <bruno@clisp.org>
47596
47597         * lib/wcwidth.c: New file, extracted from lib/wcwidth.h.
47598         * lib/wcwidth.h: Don't include wctype.h. Replace inline function
47599         definition with an external declaration.
47600         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Use wcwidth.c when wcwidth is not
47601         defined as a function. Remove AC_C_INLINE requirement.
47602         * modules/wcwidth (Files): Add lib/wcwidth.c.
47603         (Makefile.am): Remove redundant statement.
47604
47605 2007-07-07  Bruno Haible  <bruno@clisp.org>
47606
47607         * MODULES.html.sh (Unicode string functions): Add the new modules.
47608
47609         * tests/uniwidth/test-u32-strwidth.c: New file.
47610         * modules/uniwidth/u32-strwidth-tests: New file.
47611
47612         * lib/uniwidth/u32-strwidth.c: New file.
47613         * modules/uniwidth/u32-strwidth: New file.
47614
47615         * tests/uniwidth/test-u16-strwidth.c: New file.
47616         * modules/uniwidth/u16-strwidth-tests: New file.
47617
47618         * lib/uniwidth/u16-strwidth.c: New file.
47619         * modules/uniwidth/u16-strwidth: New file.
47620
47621         * tests/uniwidth/test-u8-strwidth.c: New file.
47622         * modules/uniwidth/u8-strwidth-tests: New file.
47623
47624         * lib/uniwidth/u8-strwidth.c: New file.
47625         * modules/uniwidth/u8-strwidth: New file.
47626
47627         * tests/uniwidth/test-u32-width.c: New file.
47628         * modules/uniwidth/u32-width-tests: New file.
47629
47630         * lib/uniwidth/u32-width.c: New file.
47631         * modules/uniwidth/u32-width: New file.
47632
47633         * tests/uniwidth/test-u16-width.c: New file.
47634         * modules/uniwidth/u16-width-tests: New file.
47635
47636         * lib/uniwidth/u16-width.c: New file.
47637         * modules/uniwidth/u16-width: New file.
47638
47639         * tests/uniwidth/test-u8-width.c: New file.
47640         * modules/uniwidth/u8-width-tests: New file.
47641
47642         * lib/uniwidth/u8-width.c: New file.
47643         * modules/uniwidth/u8-width: New file.
47644
47645         * tests/uniwidth/test-uc_width.c: New file.
47646         * modules/uniwidth/width-tests: New file.
47647
47648         * lib/uniwidth/width.c: New file, from GNU libiconv.
47649         * lib/uniwidth/cjk.h: New file, from GNU libiconv.
47650         * modules/uniwidth/width: New file.
47651
47652         * lib/uniwidth.h: New file, from GNU libiconv.
47653         * modules/uniwidth/base: New file.
47654
47655 2007-07-07  Bruno Haible  <bruno@clisp.org>
47656
47657         * lib/uniname.h: New file, from GNU gettext.
47658         * lib/uniname/gen-uninames.lisp: New file, from GNU gettext.
47659         * lib/uniname/uninames.h: New file, from GNU gettext.
47660         * lib/uniname/uniname.c: New file, from GNU gettext.
47661         * tests/uniname/test-uninames.sh: New file.
47662         * tests/uniname/test-uninames.c: New file, from GNU gettext.
47663         * tests/uniname/UnicodeDataNames.txt: New file, from GNU gettext.
47664         * modules/uniname/base: New file.
47665         * modules/uniname/uniname: New file.
47666         * modules/uniname/uniname-tests: New file.
47667         * MODULES.html.sh (Unicode string functions): Add the new modules.
47668
47669 2007-07-06  Bruno Haible  <bruno@clisp.org>
47670
47671         * doc/Makefile (TEXI2HTML): Specify a --reference-limit.
47672
47673 2007-07-06  Bruno Haible  <bruno@clisp.org>
47674
47675         * lib/sys_time_.h: Use a recursion-safe inclusion guard rather than
47676         a split double-inclusion guard. Needed for cygwin, where <sys/time.h>
47677         includes <cygwin/sys_time.h> which includes <sys/select.h> which
47678         include <sys/time.h>.
47679         Reported by Eric Blake.
47680
47681 2007-07-06  Eric Blake  <ebb9@byu.net>
47682
47683         Fix testing canonicalize on cygwin.
47684         * modules/canonicalize-lgpl-tests (test_canonicalize_lgpl_LDADD):
47685         Revert patch from 2007-06-19.
47686         * tests/test-canonicalize-lgpl.c (main): Instead, skip test when
47687         canonicalize module is also in use.
47688         * tests/test-canonicalize.c: New file.
47689         * tests/test-canonicalize.sh: Likewise.
47690         * modules/canonicalize-tests: Likewise.
47691
47692 2007-07-06  Jim Meyering  <jim@meyering.net>
47693
47694         * lib/getugroups.c (getugroups): Detect getgrent failure.
47695         Adjust comment to reflect reality: this function may return -1.
47696
47697 2007-07-05  Sergey Poznyakoff  <gray@gnu.org.ua>
47698
47699         * build-aux/bootstrap (TP_URL,get_translations): Update to use
47700         the new TP address.
47701         (usage): Fix typo
47702         (gnulib_mk): New variable.
47703
47704 2007-07-05  Jim Meyering  <jim@meyering.net>
47705
47706         Don't let endgrent clobber errno, no matter how improbable.
47707         * lib/getugroups.c (getugroups): Save and restore errno around
47708         endgrent call.
47709
47710         Close the group DB even when failing with 2^31 or more members.
47711         * lib/getugroups.c (getugroups): Don't return without calling endgrent.
47712
47713 2007-07-04  Jim Meyering  <jim@meyering.net>
47714
47715         * lib/getugroups.h: New file.
47716         * lib/getugroups.c: Include "getugroups.h".
47717         Remove uses of "register" keyword.
47718         Move local variable, "cp", down into scope where used.
47719         Give "username" parameter the "const" attribute.
47720         * modules/getugroups (Files): Add lib/getugroups.h
47721
47722 2007-07-04  Karl Berry  <karl@gnu.org>
47723
47724         * MODULES.html.sh (func_all_modules): Complete rename of
47725         gpl/lgpl to gpl-2.0 and lgpl-2.1, and add gpl-3.0.
47726
47727 2007-07-02  Bruno Haible  <bruno@clisp.org>
47728
47729         * m4/inttypes.m4 (gl_INTTYPES_H): Define __STDC_LIMIT_MACROS in C++
47730         mode, when inttypes.h comes from gnulib.
47731         Reported by Joel E. Denny <jdenny@ces.clemson.edu>.
47732
47733 2007-07-02  Simon Josefsson  <simon@josefsson.org>
47734
47735         * NEWS: Mention lgpl module name change.
47736
47737         * modules/lgpl-2.1: Renamed from lgpl.
47738
47739         * NEWS: Mention gpl module name change.
47740
47741         * modules/gpl-3.0: New file, based on gpl-2.0.
47742
47743         * modules/gpl-2.0: Renamed from gpl.
47744
47745         * modules/gpl: Fix filename, doc/gpl.texi is now found at
47746         doc/gpl-2.0.texi.
47747
47748 2007-07-02  Paul Eggert  <eggert@cs.ucla.edu>
47749
47750         * lib/inttypes_.h [defined __cplusplus&&!defined __STDC_LIMIT_MACROS]:
47751         #define __STDC_LIMIT_MACROS temporarily while including
47752         <stdint.h>, so that __STDC_LIMIT_MACROS is defined.
47753         Problem reported by Joel E. Denny in
47754         <http://lists.gnu.org/archive/html/bug-gnulib/2007-07/msg00008.html>.
47755
47756 2007-07-01  Bruno Haible  <bruno@clisp.org>
47757
47758         * lib/unistdio.h: New file.
47759         * lib/unistdio/u-asnprintf.h: New file.
47760         * lib/unistdio/u-asprintf.h: New file.
47761         * lib/unistdio/u-printf-args.c: New file.
47762         * lib/unistdio/u-printf-args.h: New file.
47763         * lib/unistdio/u-printf-parse.h: New file.
47764         * lib/unistdio/u-snprintf.h: New file.
47765         * lib/unistdio/u-sprintf.h: New file.
47766         * lib/unistdio/u-vasprintf.h: New file.
47767         * lib/unistdio/u-vsnprintf.h: New file.
47768         * lib/unistdio/u-vsprintf.h: New file.
47769         * lib/unistdio/ulc-asnprintf.c: New file.
47770         * lib/unistdio/ulc-asprintf.c: New file.
47771         * lib/unistdio/ulc-fprintf.c: New file, based on lib/fprintf.c.
47772         * lib/unistdio/ulc-printf-parse.c: New file.
47773         * lib/unistdio/ulc-snprintf.c: New file.
47774         * lib/unistdio/ulc-sprintf.c: New file.
47775         * lib/unistdio/ulc-vasnprintf.c: New file.
47776         * lib/unistdio/ulc-vasprintf.c: New file.
47777         * lib/unistdio/ulc-vfprintf.c: New file, based on lib/vfprintf.c.
47778         * lib/unistdio/ulc-vsnprintf.c: New file.
47779         * lib/unistdio/ulc-vsprintf.c: New file.
47780         * lib/unistdio/u8-asnprintf.c: New file.
47781         * lib/unistdio/u8-asprintf.c: New file.
47782         * lib/unistdio/u8-printf-parse.c: New file.
47783         * lib/unistdio/u8-snprintf.c: New file.
47784         * lib/unistdio/u8-sprintf.c: New file.
47785         * lib/unistdio/u8-vasnprintf.c: New file.
47786         * lib/unistdio/u8-vasprintf.c: New file.
47787         * lib/unistdio/u8-vsnprintf.c: New file.
47788         * lib/unistdio/u8-vsprintf.c: New file.
47789         * lib/unistdio/u8-u8-asnprintf.c: New file.
47790         * lib/unistdio/u8-u8-asprintf.c: New file.
47791         * lib/unistdio/u8-u8-snprintf.c: New file.
47792         * lib/unistdio/u8-u8-sprintf.c: New file.
47793         * lib/unistdio/u8-u8-vasnprintf.c: New file.
47794         * lib/unistdio/u8-u8-vasprintf.c: New file.
47795         * lib/unistdio/u8-u8-vsnprintf.c: New file.
47796         * lib/unistdio/u8-u8-vsprintf.c: New file.
47797         * lib/unistdio/u16-asnprintf.c: New file.
47798         * lib/unistdio/u16-asprintf.c: New file.
47799         * lib/unistdio/u16-printf-parse.c: New file.
47800         * lib/unistdio/u16-snprintf.c: New file.
47801         * lib/unistdio/u16-sprintf.c: New file.
47802         * lib/unistdio/u16-vasnprintf.c: New file.
47803         * lib/unistdio/u16-vasprintf.c: New file.
47804         * lib/unistdio/u16-vsnprintf.c: New file.
47805         * lib/unistdio/u16-vsprintf.c: New file.
47806         * lib/unistdio/u16-u16-asnprintf.c: New file.
47807         * lib/unistdio/u16-u16-asprintf.c: New file.
47808         * lib/unistdio/u16-u16-snprintf.c: New file.
47809         * lib/unistdio/u16-u16-sprintf.c: New file.
47810         * lib/unistdio/u16-u16-vasnprintf.c: New file.
47811         * lib/unistdio/u16-u16-vasprintf.c: New file.
47812         * lib/unistdio/u16-u16-vsnprintf.c: New file.
47813         * lib/unistdio/u16-u16-vsprintf.c: New file.
47814         * lib/unistdio/u32-asnprintf.c: New file.
47815         * lib/unistdio/u32-asprintf.c: New file.
47816         * lib/unistdio/u32-printf-parse.c: New file.
47817         * lib/unistdio/u32-snprintf.c: New file.
47818         * lib/unistdio/u32-sprintf.c: New file.
47819         * lib/unistdio/u32-vasnprintf.c: New file.
47820         * lib/unistdio/u32-vasprintf.c: New file.
47821         * lib/unistdio/u32-vsnprintf.c: New file.
47822         * lib/unistdio/u32-vsprintf.c: New file.
47823         * lib/unistdio/u32-u32-asnprintf.c: New file.
47824         * lib/unistdio/u32-u32-asprintf.c: New file.
47825         * lib/unistdio/u32-u32-snprintf.c: New file.
47826         * lib/unistdio/u32-u32-sprintf.c: New file.
47827         * lib/unistdio/u32-u32-vasnprintf.c: New file.
47828         * lib/unistdio/u32-u32-vasprintf.c: New file.
47829         * lib/unistdio/u32-u32-vsnprintf.c: New file.
47830         * lib/unistdio/u32-u32-vsprintf.c: New file.
47831         * tests/unistdio/test-ulc-asnprintf1.c: New file.
47832         * tests/unistdio/test-ulc-asnprintf1.h: New file.
47833         * tests/unistdio/test-ulc-printf1.h: New file.
47834         * tests/unistdio/test-ulc-vasnprintf1.c: New file.
47835         * tests/unistdio/test-ulc-vasnprintf2.c: New file.
47836         * tests/unistdio/test-ulc-vasnprintf2.sh: New file.
47837         * tests/unistdio/test-ulc-vasnprintf3.c: New file.
47838         * tests/unistdio/test-ulc-vasnprintf3.sh: New file.
47839         * tests/unistdio/test-ulc-vasprintf1.c: New file.
47840         * tests/unistdio/test-ulc-vsnprintf1.c: New file.
47841         * tests/unistdio/test-ulc-vsprintf1.c: New file.
47842         * tests/unistdio/test-u8-asnprintf1.c: New file.
47843         * tests/unistdio/test-u8-asnprintf1.h: New file.
47844         * tests/unistdio/test-u8-printf1.h: New file.
47845         * tests/unistdio/test-u8-vasnprintf1.c: New file.
47846         * tests/unistdio/test-u8-vasnprintf2.c: New file.
47847         * tests/unistdio/test-u8-vasnprintf2.sh: New file.
47848         * tests/unistdio/test-u8-vasnprintf3.c: New file.
47849         * tests/unistdio/test-u8-vasnprintf3.sh: New file.
47850         * tests/unistdio/test-u8-vasprintf1.c: New file.
47851         * tests/unistdio/test-u8-vsnprintf1.c: New file.
47852         * tests/unistdio/test-u8-vsprintf1.c: New file.
47853         * tests/unistdio/test-u16-asnprintf1.c: New file.
47854         * tests/unistdio/test-u16-asnprintf1.h: New file.
47855         * tests/unistdio/test-u16-printf1.h: New file.
47856         * tests/unistdio/test-u16-vasnprintf1.c: New file.
47857         * tests/unistdio/test-u16-vasnprintf2.c: New file.
47858         * tests/unistdio/test-u16-vasnprintf2.sh: New file.
47859         * tests/unistdio/test-u16-vasnprintf3.c: New file.
47860         * tests/unistdio/test-u16-vasnprintf3.sh: New file.
47861         * tests/unistdio/test-u16-vasprintf1.c: New file.
47862         * tests/unistdio/test-u16-vsnprintf1.c: New file.
47863         * tests/unistdio/test-u16-vsprintf1.c: New file.
47864         * tests/unistdio/test-u32-asnprintf1.c: New file.
47865         * tests/unistdio/test-u32-asnprintf1.h: New file.
47866         * tests/unistdio/test-u32-printf1.h: New file.
47867         * tests/unistdio/test-u32-vasnprintf1.c: New file.
47868         * tests/unistdio/test-u32-vasnprintf2.c: New file.
47869         * tests/unistdio/test-u32-vasnprintf2.sh: New file.
47870         * tests/unistdio/test-u32-vasnprintf3.c: New file.
47871         * tests/unistdio/test-u32-vasnprintf3.sh: New file.
47872         * tests/unistdio/test-u32-vasprintf1.c: New file.
47873         * tests/unistdio/test-u32-vsnprintf1.c: New file.
47874         * tests/unistdio/test-u32-vsprintf1.c: New file.
47875         * modules/unistdio/base: New file.
47876         * modules/unistdio/u-printf-args: New file.
47877         * modules/unistdio/ulc-asnprintf: New file.
47878         * modules/unistdio/ulc-asprintf: New file.
47879         * modules/unistdio/ulc-fprintf: New file.
47880         * modules/unistdio/ulc-printf-parse: New file.
47881         * modules/unistdio/ulc-snprintf: New file.
47882         * modules/unistdio/ulc-sprintf: New file.
47883         * modules/unistdio/ulc-vasnprintf: New file.
47884         * modules/unistdio/ulc-vasprintf: New file.
47885         * modules/unistdio/ulc-vfprintf: New file.
47886         * modules/unistdio/ulc-vsnprintf: New file.
47887         * modules/unistdio/ulc-vsprintf: New file.
47888         * modules/unistdio/u8-asnprintf: New file.
47889         * modules/unistdio/u8-asprintf: New file.
47890         * modules/unistdio/u8-printf-parse: New file.
47891         * modules/unistdio/u8-snprintf: New file.
47892         * modules/unistdio/u8-sprintf: New file.
47893         * modules/unistdio/u8-vasnprintf: New file.
47894         * modules/unistdio/u8-vasprintf: New file.
47895         * modules/unistdio/u8-vsnprintf: New file.
47896         * modules/unistdio/u8-vsprintf: New file.
47897         * modules/unistdio/u8-u8-asnprintf: New file.
47898         * modules/unistdio/u8-u8-asprintf: New file.
47899         * modules/unistdio/u8-u8-snprintf: New file.
47900         * modules/unistdio/u8-u8-sprintf: New file.
47901         * modules/unistdio/u8-u8-vasnprintf: New file.
47902         * modules/unistdio/u8-u8-vasprintf: New file.
47903         * modules/unistdio/u8-u8-vsnprintf: New file.
47904         * modules/unistdio/u8-u8-vsprintf: New file.
47905         * modules/unistdio/u16-asnprintf: New file.
47906         * modules/unistdio/u16-asprintf: New file.
47907         * modules/unistdio/u16-printf-parse: New file.
47908         * modules/unistdio/u16-snprintf: New file.
47909         * modules/unistdio/u16-sprintf: New file.
47910         * modules/unistdio/u16-vasnprintf: New file.
47911         * modules/unistdio/u16-vasprintf: New file.
47912         * modules/unistdio/u16-vsnprintf: New file.
47913         * modules/unistdio/u16-vsprintf: New file.
47914         * modules/unistdio/u16-u16-asnprintf: New file.
47915         * modules/unistdio/u16-u16-asprintf: New file.
47916         * modules/unistdio/u16-u16-snprintf: New file.
47917         * modules/unistdio/u16-u16-sprintf: New file.
47918         * modules/unistdio/u16-u16-vasnprintf: New file.
47919         * modules/unistdio/u16-u16-vasprintf: New file.
47920         * modules/unistdio/u16-u16-vsnprintf: New file.
47921         * modules/unistdio/u16-u16-vsprintf: New file.
47922         * modules/unistdio/u32-asnprintf: New file.
47923         * modules/unistdio/u32-asprintf: New file.
47924         * modules/unistdio/u32-printf-parse: New file.
47925         * modules/unistdio/u32-snprintf: New file.
47926         * modules/unistdio/u32-sprintf: New file.
47927         * modules/unistdio/u32-vasnprintf: New file.
47928         * modules/unistdio/u32-vasprintf: New file.
47929         * modules/unistdio/u32-vsnprintf: New file.
47930         * modules/unistdio/u32-vsprintf: New file.
47931         * modules/unistdio/u32-u32-asnprintf: New file.
47932         * modules/unistdio/u32-u32-asprintf: New file.
47933         * modules/unistdio/u32-u32-snprintf: New file.
47934         * modules/unistdio/u32-u32-sprintf: New file.
47935         * modules/unistdio/u32-u32-vasnprintf: New file.
47936         * modules/unistdio/u32-u32-vasprintf: New file.
47937         * modules/unistdio/u32-u32-vsnprintf: New file.
47938         * modules/unistdio/u32-u32-vsprintf: New file.
47939         * modules/unistdio/ulc-asnprintf-tests: New file.
47940         * modules/unistdio/ulc-vasnprintf-tests: New file.
47941         * modules/unistdio/ulc-vasprintf-tests: New file.
47942         * modules/unistdio/ulc-vsnprintf-tests: New file.
47943         * modules/unistdio/ulc-vsprintf-tests: New file.
47944         * modules/unistdio/u8-asnprintf-tests: New file.
47945         * modules/unistdio/u8-vasnprintf-tests: New file.
47946         * modules/unistdio/u8-vasprintf-tests: New file.
47947         * modules/unistdio/u8-vsnprintf-tests: New file.
47948         * modules/unistdio/u8-vsprintf-tests: New file.
47949         * modules/unistdio/u16-asnprintf-tests: New file.
47950         * modules/unistdio/u16-vasnprintf-tests: New file.
47951         * modules/unistdio/u16-vasprintf-tests: New file.
47952         * modules/unistdio/u16-vsnprintf-tests: New file.
47953         * modules/unistdio/u16-vsprintf-tests: New file.
47954         * modules/unistdio/u32-asnprintf-tests: New file.
47955         * modules/unistdio/u32-vasnprintf-tests: New file.
47956         * modules/unistdio/u32-vasprintf-tests: New file.
47957         * modules/unistdio/u32-vsnprintf-tests: New file.
47958         * modules/unistdio/u32-vsprintf-tests: New file.
47959         * MODULES.html.sh (Unicode string functions): Add the new modules.
47960
47961 2007-07-01  Bruno Haible  <bruno@clisp.org>
47962
47963         * lib/sprintf.c (sprintf): Limit the available length estimation,
47964         to avoid address wraparound.
47965         * lib/vsprintf.c (vsprintf): Likewise.
47966         * modules/sprintf-posix (Dependencies): Add stdint.
47967         * modules/vsprintf-posix (Dependencies): Likewise.
47968
47969 2007-07-01  Bruno Haible  <bruno@clisp.org>
47970
47971         * gnulib-tool (self_abspathname): Determine PATH_SEPARATOR and handle
47972         Windows PATH as well. Conservative double-quoting. Comments.
47973
47974 2007-07-01  Bruno Haible  <bruno@clisp.org>
47975             Eric Blake  <ebb9@byu.net>
47976             Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
47977
47978         * gnulib-tool (self_abspathname): Fix algorithm to cope with
47979         empty components in $PATH, denoting '.'.
47980
47981 2007-07-01  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
47982
47983         * gnulib-tool: Fix indentation.
47984         (func_create_megatestdir): Likewise.
47985         Report by Bruno Haible.
47986
47987 2007-06-30  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
47988
47989         Sync from Automake.
47990         * build-aux/gnupload: Fix shell portability issues with for loops.
47991         Report by Karl Berry.
47992
47993 2007-06-29  Simon Josefsson  <simon@josefsson.org>
47994
47995         * build-aux/maint.mk (POURL): Use translationproject.org.
47996
47997 2007-06-27  Simon Josefsson  <simon@josefsson.org>
47998             Bruno Haible  <bruno@clisp.org>
47999
48000         * m4/getaddrinfo.m4 (gl_GETADDRINFO): Require gl_HEADER_SYS_SOCKET
48001         before using HAVE_WS2TCPIP_H. Check for gai_strerror through an
48002         explicit link test, rather than AC_REPLACE_FUNCS - for mingw.
48003         (gl_PREREQ_GETADDRINFO): Require gl_HEADER_SYS_SOCKET before using
48004         HAVE_SYS_SOCKET_H and HAVE_WS2TCPIP_H.
48005
48006 2007-06-27  Bruno Haible  <bruno@clisp.org>
48007
48008         * build-aux/config.rpath: Upgrade to libtool-1.5.24.
48009         * build-aux/config.libpath: Upgrade to libtool-1.5.24.
48010
48011 2007-06-26  Karl Berry  <karl@gnu.org>
48012
48013         * MODULES.html.sh: remove xreadlink-with-size.
48014
48015 2007-06-23  Paul Eggert  <eggert@cs.ucla.edu>
48016
48017         * lib/time_.h: Port to Solaris 8 with Sun Studio 11, using a
48018         method that I hope also handles the double-include problem noted
48019         by Bruno Haible in
48020         <http://lists.gnu.org/archive/html/bug-gnulib/2007-05/msg00186.html>.
48021
48022 2007-06-23  Bruno Haible  <bruno@clisp.org>
48023
48024         * gnulib-tool (func_emit_lib_Makefile_am, func_emit_tests_Makefile_am):
48025         Don't let the 'mostlyclean' target fail if the last subdirectory could
48026         not be removed.
48027         Reported by Karl Berry.
48028
48029 2007-06-23  Bruno Haible  <bruno@clisp.org>
48030
48031         * gnulib-tool (echo): Add a speedier workaround for ksh.
48032         * tests/test-echo.sh: Likewise.
48033
48034 2007-06-23  Bruno Haible  <bruno@clisp.org>
48035
48036         * gnulib-tool (echo): Add workarounds also for bash versions < 2.04.
48037         * tests/test-echo.sh: Likewise.
48038
48039 2007-06-23  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
48040
48041         * gnulib-tool (IFS): Initialize early, so we don't set it to
48042         empty later.
48043         (self_abspathname): Rewrite algorithm to set it, reindent.
48044         (func_emit_lib_Makefile_am, func_emit_tests_Makefile_am)
48045         (func_create_megatestdir): Merge some sed scripts.
48046
48047 2007-06-23  Paul Eggert  <eggert@cs.ucla.edu>
48048
48049         * m4/include_next.m4 (gl_CHECK_NEXT_HEADERS): Check some typos
48050         exposed by Sun Studio 11 cc on Solaris 8.
48051
48052 2007-06-22  Bruno Haible  <bruno@clisp.org>
48053
48054         * gnulib-tool (echo): Ensure the echo primitive does not interpret
48055         backslashes.
48056         * tests/test-echo.sh: New file.
48057
48058 2007-06-22  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
48059
48060         * gnulib-tool (func_add_or_update, func_create_testdir): Do not
48061         simplify `sed_replace_build_aux' scripts, they are portable but
48062         echoing them with `echo' is not.
48063         Report and analysis by Fernando Ferreira <fernando.prog@netcabo.pt>.
48064
48065 2007-06-21  Karl Berry  <karl@gnu.org>
48066
48067         * config/srclist.txt: guess we can't handle the licenses via
48068         srclist at the moment.
48069
48070 2007-06-21  Paul Eggert  <eggert@cs.ucla.edu>
48071
48072         * MODULES.html.sh: Add include_next.
48073         * modules/include_next: New file.
48074
48075 2007-06-20  Paul Eggert  <eggert@cs.ucla.edu>
48076
48077         * m4/include_next.m4 (gl_INCLUDE_NEXT): Define and AC_SUBST
48078         INCLUDE_NEXT.
48079         (gl_CHECK_NEXT_HEADERS): New macro.
48080         * m4/fcntl_h.m4 (gl_FCNTL_H): use gl_CHECK_NEXT_HEADERS instead of
48081         the obsolescent gl_ABSOLUTE_HEADER.
48082         * m4/fchdir.m4 (gl_FUNC_FCHDIR): Likewise.
48083         * m4/float_h.m4 (gl_FLOAT_H): Likewise.
48084         * m4/iconv_h.m4 (gl_ICONV_H): Likewise.
48085         * m4/inttypes.m4 (gl_INTTYPES_H): Likewise.
48086         * m4/locale_h.m4 (gl_LOCALE_H): Likewise.
48087         * m4/math_h.m4 (gl_MATH_H): Likewise.
48088         * m4/netinet_in_h.m4 (gl_HEADER_NETINET_IN): Likewise.
48089         * m4/search_h.m4 (gl_SEARCH_H): Likewise.
48090         * m4/signal_h.m4 (gl_SIGNAL_H): Likewise.
48091         * m4/stdint.m4 (gl_STDINT_H): Likewise.
48092         * m4/stdio_h.m4 (gl_STDIO_H): Likewise.
48093         * m4/stdlib_h.m4 (gl_STDLIB_H): Likewise.
48094         * m4/string_h.m4 (gl_HEADER_STRING_H_BODY): Likewise.
48095         * m4/sys_select_h.m4 (gl_HEADER_SYS_SELECT): Likewise.
48096         * m4/sys_socket_h.m4 (gl_HEADER_SYS_SOCKET): Likewise.
48097         * m4/sys_stat_h.m4 (gl_HEADER_SYS_STAT_H): Likewise.
48098         * m4/sys_time_h.m4 (gl_HEADER_SYS_TIME_H_BODY): Likewise.
48099         * m4/sysexits.m4 (gl_SYSEXITS): Likewise.
48100         * m4/time_h.m4 (gl_HEADER_TIME_H_BODY): Likewise.
48101         * m4/unistd_h.m4 (gl_UNISTD_H): Likewise.
48102         * m4/wchar.m4 (gl_WCHAR_H): Likewise.
48103         * m4/wctype.m4 (gl_WCTYPE_H): Likewise.
48104         * m4/inttypes.m4 (gl_INTTYPES_H): Define
48105         _GL_JUST_INCLUDE_SYSTEM_INTTYPES_H to avoid the problem of unclean
48106         builds, since ABSOLUTE_INTTYPES_H is no longer being defined.
48107         * m4/stdint.m4 (gl_STDINT_H): Likewise, for
48108         _GL_JUST_INCLUDE_SYSTEM_STDINT_H.
48109         * lib/fcntl_.h: Use @INCLUDE_NEXT@ @NEXT_foo_H@
48110         rather than @HAVE_INCLUDE_NEXT@ and @ABSOLUTE_foo_H@.
48111         * lib/float_.h: Likewise.
48112         * lib/inttypes_.h: Likewise.
48113         * lib/math_.h: Likewise.
48114         * lib/search_.h: Likewise.
48115         * lib/signal_.h: Likewise.
48116         * lib/stdint_.h: Likewise.
48117         * lib/stdio_.h: Likewise.
48118         * lib/stdlib_.h: Likewise.
48119         * lib/string_.h: Likewise.
48120         * lib/sys_stat_.h: Likewise.
48121         * lib/sys_time_.h: Likewise.
48122         * lib/time_.h: Likewise.
48123         * lib/unistd_.h: Likewise.
48124         * lib/wchar_.h: Likewise.
48125         * lib/wctype_.h: Likewise.
48126         * lib/dirent_.h: Likewise.
48127         * lib/iconv_.h: Likewise.
48128         * lib/locale_.h: Likewise.
48129         * lib/netinet_in_.h: Likewise.
48130         * lib/sys_select_.h: Likewise.
48131         * lib/sys_socket_.h: Likewise.
48132         * lib/sysexits_.h: Likewise.
48133         * modules/fcntl (Depends-on): Depend on include_next, not
48134         absolute_header.
48135         (Makefile): Substitute INCLUDE_NEXT and NEXT_foo_H, not
48136         HAVE_INCLUDE_NEXT and ABSOLUTE_foo_H.
48137         * modules/fchdir: Likewise.
48138         * modules/float: Likewise.
48139         * modules/iconv_open: Likewise.
48140         * modules/inttypes: Likewise.
48141         * modules/locale: Likewise.
48142         * modules/math: Likewise.
48143         * modules/netinet_in: Likewise.
48144         * modules/search: Likewise.
48145         * modules/signal: Likewise.
48146         * modules/stdint: Likewise.
48147         * modules/stdio: Likewise.
48148         * modules/stdlib: Likewise.
48149         * modules/string: Likewise.
48150         * modules/sys_select: Likewise.
48151         * modules/sys_socket: Likewise.
48152         * modules/sys_stat: Likewise.
48153         * modules/sys_time: Likewise.
48154         * modules/sysexits: Likewise.
48155         * modules/time: Likewise.
48156         * modules/unistd: Likewise.
48157         * modules/wchar: Likewise.
48158         * modules/wctype: Likewise.
48159         * modules/sys_stat: Change maintainer to "all".
48160         * modules/unistd: Likewise.
48161
48162 2007-06-20  Karl Berry  <karl@gnu.org>
48163
48164         * config/srclist.txt: track www changes in license files.
48165
48166 2007-06-20  Sergey Poznyakoff  <gray@gnu.org.ua>
48167
48168         * build-aux/bootstrap: Remove stray dot.
48169         Make sure build_aux settings are honored when linking
48170         gnulib_extra_files.
48171
48172 2007-06-19  Eric Blake  <ebb9@byu.net>
48173
48174         * modules/canonicalize-lgpl-tests (test_canonicalize_lgpl_LDADD):
48175         Allow compilation on cygwin.
48176
48177 2007-06-19  Jim Meyering  <jim@meyering.net>
48178
48179         xreadlink-with-size: Remove module.  No longer used.
48180         Ex-callers now use xreadlink or mreadlink-with-size.
48181         * modules/xreadlink-with-size: Remove module.
48182         * lib/xreadlink-with-size.c: Remove file.
48183         * lib/xreadlink.h (xreadlink_with_size): Remove prototype.
48184         (xreadlink): Remove inaccurate comment.  The one in xreadlink.c,
48185         just before the function definition *is* accurate.
48186
48187         Eliminate one way canonicalize_filename_mode could exit.
48188         * lib/canonicalize.c (canonicalize_filename_mode):
48189         Use mreadlink_with_size, not xreadlink_with_size.
48190
48191 2007-06-18  Paul Eggert  <eggert@cs.ucla.edu>
48192
48193         Detect porting problems to FreeBSD/arm, which has time_t wider than
48194         long int.  Original problem reported for GNU diff by Xin Li in
48195         <http://lists.gnu.org/archive/html/bug-gnu-utils/2007-06/msg00091.html>.
48196         * modules/getdate (Depends-on): Add intprops, verify.
48197         * lib/getdate.y: Include intprops.h, verify.h.  Verify that time_t
48198         is an integer type no wider than long int.
48199
48200 2007-06-18  Jim Meyering  <jim@meyering.net>
48201
48202         New module: mreadlink-with-size.
48203         * MODULES.html.sh: Add mreadlink-with-size.
48204         * modules/mreadlink-with-size: New module
48205         * modules/canonicalize (Depends-on): Depend on mreadlink-with-size,
48206         not xreadlink-with-size.
48207         * lib/mreadlink-with-size.c, lib/mreadlink.h: New files.
48208
48209 2007-06-16  Bruno Haible  <bruno@clisp.org>
48210
48211         * m4/frexpl.m4 (gl_FUNC_FREXPL_WORKS): Catch the MacOS X 10.4 bug.
48212         * doc/functions/frexpl.texi: Document the MacOS X 10.4 bug.
48213         Reported by Gary V. Vaughan <gary@gnu.org>.
48214
48215 2007-06-15  Paul Eggert  <eggert@cs.ucla.edu>
48216
48217         Revamp lchown so that it lives in unistd.h where it belongs.
48218         * lib/lchown.h: Remove.
48219         * lib/dirchownmod.c: Don't include lib/lchown.h.
48220         * lib/fchownat.c: Likewise.
48221         * lib/openat.c: Likewise.
48222         * lib/lchown.c (REPLACE_CHOWN): Define to 0 if the system chown
48223         does not follow symlinks.
48224         (EOPNOTSUPP): Define if not defined.
48225         * lib/unistd_.h (chown): Do not replace if REPLADE_CHOWN
48226         is defined to 0.
48227         (lchown): New decl.
48228         * m4/lchown.m4 (gl_FUNC_LCHOWN): Require gl_UNISTD_H_DEFAULTS.
48229         Do not check for lchown decl.
48230         Set REPLACE_LCHOWN.
48231         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Set GNULIB_LCHOWN,
48232         REPLACE_LCHOWN.
48233         * modules/chown: Make it clear it follows symlinks.
48234         * modules/lchown: Make it clear it doesn't follow symlinks.
48235         (Files): Remove lib/lchown.h
48236         (Depends-on): Add unistd.
48237         (configure.ac): Add gl_UNISTD_MODULE_INDICATOR([lchown]).
48238         (Include): Include <unistd.h>, not "lchown.h".
48239         * modules/unistd (unistd.h): Substitude GNULIB_LCHOWN and
48240         REPLACE_LCHOWN.
48241
48242 2007-06-15  Jim Meyering  <jim@meyering.net>
48243
48244         Change license (GPL to LGPL) of fsusage and dependents.
48245         * modules/fsusage (License): Change to LGPL.
48246         * modules/full-read (License): Likewise.
48247         * modules/full-write (License): Likewise.
48248         * modules/safe-read (License): Likewise.
48249         * modules/safe-write (License): Likewise.
48250
48251 2007-06-14  Ben Pfaff  <blp@gnu.org>
48252
48253         Missing part of allocsa -> malloca transition.
48254         * modules/relocatable-prog-wrapper: gl_ALLOCSA should be
48255         gl_MALLOCA.
48256
48257 2007-06-12  Bruno Haible  <bruno@clisp.org>
48258
48259         * m4/isnanl.m4 (gl_FUNC_ISNANL_WORKS): Guess no when cross-compiling
48260         to ia64, x86_64, i386.
48261         Reported by Eric Blake.
48262
48263 2007-06-12  Bruno Haible  <bruno@clisp.org>
48264
48265         * m4/printf.m4 (gl_PRINTF_INFINITE_LONG_DOUBLE): Guess no also when
48266         cross-compiling to x86_64.
48267
48268 2007-06-12  Paul Eggert  <eggert@cs.ucla.edu>
48269
48270         * m4/absolute-header.m4 (gl_ABSOLUTE_HEADER): Fix POSIX sed portability
48271         glitch reported by Ralf Wildenhues in
48272         <http://lists.gnu.org/archive/html/bug-gnulib/2007-06/msg00114.html>.
48273
48274         * m4/regex.m4 (gl_REGEX): Catch a bug with [[:alnum:]_-] reported by
48275         Vin Shelton.
48276
48277 2007-06-11  Bruno Haible  <bruno@clisp.org>
48278
48279         * lib/printf-args.c (PRINTF_FETCHARGS) [ENABLE_UNISTDIO]: Fix NULL
48280         replacement string.
48281         Reported by Eric Blake.
48282
48283 2007-06-10  Bruno Haible  <bruno@clisp.org>
48284
48285         Prepare vasnprintf code for use with Unicode strings.
48286         * lib/printf-args.h (PRINTF_FETCHARGS): New macro.
48287         (arg_type) [ENABLE_UNISTDIO]: Define TYPE_U8_STRING, TYPE_U16_STRING,
48288         TYPE_U32_STRING.
48289         (argument) [ENABLE_UNISTDIO]: Add a_u8_string, a_u16_string,
48290         a_u32_string variants.
48291         (PRINTF_FETCHARGS): Renamed from printf_fetchargs.
48292         * lib/printf-args.c: Don't include config.h and the specification
48293         header if PRINTF_FETCHARGS is already defined.
48294         (PRINTF_FETCHARGS): Renamed from printf_fetchargs.
48295         (PRINTF_FETCHARGS) [ENABLE_UNISTDIO]: Add code for TYPE_U8_STRING,
48296         TYPE_U16_STRING, TYPE_U32_STRING.
48297         * lib/printf-parse.h [ENABLE_UNISTDIO] (u8_directive, u8_directives,
48298         u16_directive, u16_directives, u32_directive, u32_directives): New
48299         types.
48300         (ulc_printf_parse, u8_printf_parse, u16_printf_parse, u32_printf_parse):
48301         New declarations.
48302         * lib/printf-parse.c: Don't include config.h and the specification
48303         header if PRINTF_PARSE is already defined. Eliminate the set of
48304         parameters for WIDE_CHAR_VERSION; the user of this file must provide
48305         them now. Include c-ctype.h.
48306         (PRINTF_PARSE) [ENABLE_UNISTDIO]: Add code implementing the 'U'
48307         directive and CHAR_T_ONLY_ASCII.
48308         * lib/vasnprintf.c: Don't include config.h and the specification header
48309         if VASNPRINTF is already defined.
48310         (DCHAR_IS_TCHAR, DCHAR_CPY): New macros.
48311         (VASNPRINTF): Use PRINTF_FETCHARGS instead of printf_fetchargs. Use
48312         DCHAR_CPY. Handle the case that DCHAR_T and FCHAR_T are not the same
48313         type. Handle the case that TCHAR_T and FCHAR_T are not of the same
48314         size. Handle the case that DCHAR_T and TCHAR_T are not the same type,
48315         add a conversion from TCHAR_T[] to DCHAR_T[], and rework the padding
48316         code accordingly.
48317         (VASNPRINTF) [ENABLE_UNISTDIO]: Implement the 'U' directive. Enable
48318         pad_ourselves also in this case, with the 'c' and 's' directives, and
48319         with a different notion of "width".
48320         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF_WITH_EXTRAS): New macros.
48321
48322 2007-06-10  Bruno Haible  <bruno@clisp.org>
48323
48324         * modules/unistr/u32-mbsnlen: New file.
48325         * lib/unistr/u32-mbsnlen.c: New file.
48326
48327         * modules/unistr/u16-mbsnlen: New file.
48328         * lib/unistr/u16-mbsnlen.c: New file.
48329
48330         * modules/unistr/u8-mbsnlen: New file.
48331         * lib/unistr/u8-mbsnlen.c: New file.
48332
48333         * lib/unistr.h (u8_mbsnlen, u16_mbsnlen, u32_mbsnlen): New
48334         declarations.
48335
48336 2007-06-10  Bruno Haible  <bruno@clisp.org>
48337
48338         * lib/string_.h (mbsnlen): New declaration.
48339         * lib/mbsnlen.c: New file.
48340         * m4/mbsnlen.m4: New file.
48341         * modules/mbsnlen: New file.
48342         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Set GNULIB_MBSNLEN.
48343         * modules/string (string.h): Substitute GNULIB_MBSNLEN.
48344         * MODULES.html.sh (Internationalization functions): Add mbsnlen.
48345
48346 2007-06-10  Bruno Haible  <bruno@clisp.org>
48347
48348         * lib/mbslen.c: Include <stdlib.h>, needed for MB_CUR_MAX.
48349
48350 2007-06-10  Bruno Haible  <bruno@clisp.org>
48351
48352         * lib/mbiter.h: Include <stddef.h>, needed for ptrdiff_t.
48353         * lib/mbuiter.h: Likewise.
48354
48355 2007-06-10  Bruno Haible  <bruno@clisp.org>
48356
48357         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF): Check for _snprintf
48358         declaration.
48359
48360 2007-06-10  Karl Berry  <karl@gnu.org>
48361
48362         * config/srclist.txt: remove gettext entries, Bruno prefers
48363         to update individually.
48364
48365 2007-06-10  Bruno Haible  <bruno@clisp.org>
48366
48367         * lib/vasnprintf.c (VASNPRINTF) [!USE_SNPRINTF]: Remove variable
48368         'maxlen'. Ensure only length + width bytes are allocated, not
48369         length + 1 + width.
48370
48371 2007-06-09  Bruno Haible  <bruno@clisp.org>
48372
48373         * lib/vasnprintf.c (FCHAR_T, DCHAR_T, TCHAR_T): New macros.
48374         (CHAR_T): Remove macro.
48375         (VASNPRINTF): Update.
48376
48377 2007-06-09  Bruno Haible  <bruno@clisp.org>
48378
48379         * MODULES.html.sh (Unicode string functions): Add the new modules.
48380
48381         * modules/uniconv/u32-conv-to-enc: New file.
48382         * lib/uniconv/u32-conv-to-enc.c: New file.
48383         * modules/uniconv/u32-conv-to-enc-tests: New file.
48384         * tests/uniconv/test-u32-conv-to-enc.c: New file.
48385
48386         * modules/uniconv/u16-conv-to-enc: New file.
48387         * lib/uniconv/u16-conv-to-enc.c: New file.
48388         * lib/uniconv/u-conv-to-enc.h: New file.
48389         * modules/uniconv/u16-conv-to-enc-tests: New file.
48390         * tests/uniconv/test-u16-conv-to-enc.c: New file.
48391
48392         * modules/uniconv/u8-conv-to-enc: New file.
48393         * lib/uniconv/u8-conv-to-enc.c: New file.
48394         * modules/uniconv/u8-conv-to-enc-tests: New file.
48395         * tests/uniconv/test-u8-conv-to-enc.c: New file.
48396
48397         * lib/uniconv.h (u8_conv_to_encoding, u16_conv_to_encoding,
48398         u32_conv_to_encoding): New declarations.
48399
48400 2007-06-09  Bruno Haible  <bruno@clisp.org>
48401
48402         * tests/uniconv/test-u32-strconv-to-enc.c (main): Remove unused code.
48403
48404 2007-06-09  Bruno Haible  <bruno@clisp.org>
48405
48406         Rename 'allocsa' -> 'malloca', 'freesa' -> 'freea'.
48407         * modules/malloca: Renamed from modules/allocsa, updated.
48408         * lib/malloca.h: Renamed from lib/allocsa.h, updated.
48409         * lib/malloca.c: Renamed from lib/allocsa.c, updated.
48410         * lib/malloca.valgrind: Renamed from lib/allocsa.valgrind, updated.
48411         * m4/malloca.m4: Renamed from m4/allocsa.m4, updated.
48412         * modules/malloca-tests: Renamed from modules/allocsa-tests, updated.
48413         * tests/test-malloca.c: Renamed from tests/test-allocsa.c, updated.
48414         * modules/xmalloca: Renamed from modules/xallocsa, updated.
48415         * lib/xmalloca.h: Renamed from lib/xallocsa.h, updated.
48416         * lib/xmalloca.c: Renamed from lib/xallocsa.c, updated.
48417         * modules/c-strcasestr (Depends-on): Update.
48418         * lib/c-strcasestr.c: Update.
48419         * modules/c-strstr (Depends-on): Update.
48420         * lib/c-strstr.c: Update.
48421         * modules/canonicalize-lgpl (Depends-on): Update.
48422         * lib/canonicalize-lgpl.c: Update.
48423         * modules/clean-temp (Depends-on): Update.
48424         * lib/clean-temp.c: Update.
48425         * modules/csharpcomp (Depends-on): Update.
48426         * lib/csharpcomp.c: Update.
48427         * modules/csharpexec (Depends-on): Update.
48428         * lib/csharpexec.c: Update.
48429         * modules/javacomp (Depends-on): Update.
48430         * lib/javacomp.c: Update.
48431         * modules/javaexec (Depends-on): Update.
48432         * lib/javaexec.c: Update.
48433         * modules/mbscasestr (Depends-on): Update.
48434         * lib/mbscasestr.c: Update.
48435         * modules/mbsstr (Depends-on): Update.
48436         * lib/mbsstr.c: Update.
48437         * modules/setenv (Depends-on): Update.
48438         * lib/setenv.c: Update.
48439         * modules/strcasestr (Depends-on): Update.
48440         * lib/strcasestr.c: Update.
48441         * modules/striconveha (Depends-on): Update.
48442         * lib/striconveha.c: Update.
48443         * modules/relocatable-prog-wrapper (Files): Update.
48444         * lib/relocwrapper.c: Update.
48445         * build-aux/install-reloc: Update.
48446         * MODULES.html.sh (Memory management functions <stdlib.h>): Update.
48447
48448 2007-06-08  Bruno Haible  <bruno@clisp.org>
48449
48450         Port to uClibc.
48451         * lib/fbufmode.c (fbufmode): Add special code for uClibc.
48452         * lib/fpurge.c (fpurge): Likewise.
48453         * lib/freading.c (freading): Likewise.
48454         * lib/fseeko.c (rpl_fseeko): Likewise.
48455         * lib/fseterr.c (fseterr): Likewise.
48456         * lib/fwriting.c (fwriting): Likewise.
48457         * tests/test-fflush.c (main): Avoid a failure on uClibc.
48458
48459 2007-06-08  Bruno Haible  <bruno@clisp.org>
48460
48461         * m4/intlmacosx.m4: New file, extracted from gettext.m4.
48462         * m4/gettext.m4 (gt_INTL_MACOSX): Remove macro, moved to intlmacosx.m4.
48463         * modules/gettext (Files): Add m4/intlmacosx.m4.
48464
48465 2007-06-07  Bruno Haible  <bruno@clisp.org>
48466
48467         * modules/localename-tests: New file.
48468         * tests/test-localename.c: New file.
48469
48470         New module 'localename'.
48471         * lib/localename.h: New file.
48472         * lib/localename.c: New file, from GNU gettext.
48473         * m4/localename.m4: New file.
48474         * modules/localename: New file.
48475
48476 2007-06-07  Bruno Haible  <bruno@clisp.org>
48477
48478         Work around the lack of <wchar.h> on some builds of uClibc.
48479         * doc/headers/wchar.texi: Update.
48480         * lib/wchar_.h: Include <wchar.h> only if it exists.
48481         * m4/wchar.m4 (gl_WCHAR_H): Check for <wchar.h>. Set HAVE_WCHAR_H.
48482         * m4/stdint.m4 (gl_STDINT_H): Check for <wchar.h>.
48483         (gl_STDINT_TYPE_PROPERTIES): Don't try to include <wchar.h> if it
48484         doesn't exist.
48485         * modules/wchar (wchar.h): Substitute HAVE_WCHAR_H.
48486         * modules/mbfile (Depends-on): Add wchar.
48487         * modules/mbiter (Depends-on): Likewise.
48488         * modules/mbuiter (Depends-on): Likewise.
48489         Reported by Simon Josefsson.
48490
48491 2007-06-06  Paul Eggert  <eggert@cs.ucla.edu>
48492
48493         Work around problem reported by Steven M. Schweda in
48494         <http://lists.gnu.org/archive/html/bug-tar/2007-06/msg00002.html>:
48495         Tru64 5.1B with the Compaq compiler environment installed declares
48496         an 'isblank' function but does not define it in the C library.
48497         * lib/fnmatch.c (isblank): Check for HAVE_ISBLANK, too.
48498         * lib/regex_internal.h (isblank): Likewise.
48499         * m4/fnmatch.m4 (_AC_LIBOBJ_FNMATCH): Check for isblank existence.
48500         * m4/regex.m4 (gl_PREREQ_REGEX): Likewise.
48501
48502 2007-06-05  Bruno Haible  <bruno@clisp.org>
48503
48504         Fix *printf so that it recognizes non-IEEE numbers on i386, x86_64,
48505         ia64.
48506         * modules/printf-safe: New file.
48507         * modules/fprintf-posix (Depends-on): Add printf-safe.
48508         * modules/printf-posix (Depends-on): Likewise.
48509         * modules/snprintf-posix (Depends-on): Likewise.
48510         * modules/sprintf-posix (Depends-on): Likewise.
48511         * modules/vasnprintf-posix (Depends-on): Likewise.
48512         * modules/vasprintf-posix (Depends-on): Likewise.
48513         * modules/vfprintf-posix (Depends-on): Likewise.
48514         * modules/vprintf-posix (Depends-on): Likewise.
48515         * modules/vsnprintf-posix (Depends-on): Likewise.
48516         * modules/vsprintf-posix (Depends-on): Likewise.
48517         * m4/printf.m4 (gl_PRINTF_INFINITE_LONG_DOUBLE): Require
48518         AC_C_BIGENDIAN. Define CHECK_PRINTF_SAFE if printf-safe is used. Test
48519         non-IEEE numbers on i386, x86_64, ia64. When cross-compiling, guess
48520         "no" on i386, x86_64, ia64.
48521         * tests/test-snprintf-posix.h (LDBL80_WORDS): New macro.
48522         (test_function): Check result of %La, %Lf, %Le, %Lg on non-IEEE numbers
48523         on i386, x86_64, ia64.
48524         * tests/test-sprintf-posix.h (LDBL80_WORDS): New macro.
48525         (test_function): Check result of %La, %Lf, %Le, %Lg on non-IEEE numbers
48526         on i386, x86_64, ia64.
48527         * tests/test-vasnprintf-posix.c: Include float.h.
48528         (LDBL80_WORDS): New macro.
48529         (test_function): Check result of %La, %Lf, %Le, %Lg on non-IEEE numbers
48530         on i386, x86_64, ia64.
48531         * tests/test-vasprintf-posix.c: Include float.h.
48532         (LDBL80_WORDS): New macro.
48533         (test_function): Check result of %La, %Lf, %Le, %Lg on non-IEEE numbers
48534         on i386, x86_64, ia64.
48535         * tests/test-snprintf-posix.c: Include float.h.
48536         * tests/test-sprintf-posix.c: Likewise.
48537         * tests/test-vsnprintf-posix.c: Likewise.
48538         * tests/test-vsprintf-posix.c: Likewise.
48539
48540 2007-06-05  Bruno Haible  <bruno@clisp.org>
48541
48542         Fix isnanl so that it recognizes non-IEEE numbers on i386, x86_64, ia64.
48543         * m4/isnanl.m4 (gl_FUNC_ISNANL_WORKS): Require AC_C_BIGENDIAN. Test
48544         non-IEEE numbers on i386, x86_64, ia64.
48545         (gl_LONG_DOUBLE_EXPONENT_LOCATION): Require AC_C_BIGENDIAN.
48546         * lib/isnan.c (FUNC): Add special code for i386, x86_64, ia64.
48547         * tests/test-isnanl.h: Include float.h.
48548         (main): Check also non-IEEE numbers on i386, x86_64, ia64.
48549
48550 2007-06-05  Bruno Haible  <bruno@clisp.org>
48551
48552         * lib/vasnprintf.c (VASNPRINTF): Do the extra handling of NaN and Inf
48553         also the %a / %A. Handle the %a / %A code before this extra handling.
48554
48555 2007-06-05  Bruno Haible  <bruno@clisp.org>
48556
48557         * lib/vasnprintf.c [NEED_PRINTF_LONG_DOUBLE ||
48558         NEED_PRINTF_INFINITE_LONG_DOUBLE]: Include fpucw.h.
48559
48560 2007-06-05  Bruno Haible  <bruno@clisp.org>
48561
48562         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF_INFINITE_LONG_DOUBLE): Fix
48563         typo in variable name.
48564
48565 2007-06-05  Eric Blake  <ebb9@byu.net>
48566
48567         * m4/lseek.m4 (gl_FUNC_LSEEK): Work when cross-compiling.
48568         Reported by Simon Josefsson.
48569
48570 2007-06-04  Bruno Haible  <bruno@clisp.org>
48571
48572         Avoid test failures on some PowerPC platforms.
48573         * tests/test-printf-frexpl.c (MIN_NORMAL_EXP, MIN_SUBNORMAL_EXP):
48574         Define differently for PowerPC.
48575         * tests/test-frexpl.c (MIN_NORMAL_EXP): Likewise.
48576         Reported by Gary V. Vaughan <gary@gnu.org>.
48577
48578 2007-06-02  Bruno Haible  <bruno@clisp.org>
48579
48580         Fix test-stdint failure on FreeBSD/ia64.
48581         * m4/stdint.m4 (gl_STDINT_H): Check the values of PTRDIFF_MIN,
48582         PTRDIFF_MAX, SIG_ATOMIC_MIN, SIG_ATOMIC_MAX, SIZE_MAX, WCHAR_MIN,
48583         WCHAR_MAX, WINT_MIN, WINT_MAX entirely, not only for plausibility.
48584         * doc/headers/stdint.texi: Update.
48585
48586 2007-06-01  Bruno Haible  <bruno@clisp.org>
48587
48588         * tests/test-binary-io.c (main): Pass a third argument to open().
48589         Reported by Gary V. Vaughan <gary@gnu.org>.
48590
48591 2007-06-01  Bruno Haible  <bruno@clisp.org>
48592
48593         * doc/functions/frexpl.texi: Update for mingw.
48594
48595 2007-06-01  Bruno Haible  <bruno@clisp.org>
48596
48597         * tests/test-lseek.c (main): Disable test of errno for invalid third
48598         argument.
48599         * doc/functions/lseek.texi: Update.
48600         Reported by Gary V. Vaughan <gary@gnu.org>.
48601
48602 2007-05-28  Bruno Haible  <bruno@clisp.org>
48603
48604         * m4/intl.m4 (AM_INTL_SUBDIR): Substitute variables WOE32, WINDRES.
48605
48606 2007-05-31  Eric Blake  <ebb9@byu.net>
48607
48608         * m4/frexpl.m4 (gl_FUNC_FREXPL_WORKS): Guess no on mingw when
48609         cross compiling.
48610
48611 2007-05-30  Eric Blake  <ebb9@byu.net>
48612         and Bruno Haible  <bruno@clisp.org>
48613
48614         Work around mingw test failures exposed by m4-1.4.9b.
48615         * m4/stdint.m4 (gl_STDINT_H): Detect mingw bug.
48616         * tests/test-unistd.c: Disable uid_t and git_t tests for the
48617         moment.
48618
48619 2007-05-30  Bruno Haible  <bruno@clisp.org>
48620
48621         * tests/test-lseek.c: Explicitly close file descriptors 0 and 1 before
48622         assuming that they are closed. Needed on HP-UX 11.
48623
48624 2007-05-29  Bruno Haible  <bruno@clisp.org>
48625
48626         Fix a problem with #include_next.
48627         * lib/dirent_.h: Split the double-inclusion guard.
48628         * lib/fcntl_.h: Likewise.
48629         * lib/float_.h: Likewise.
48630         * lib/iconv_.h: Likewise.
48631         * lib/inttypes_.h: Likewise.
48632         * lib/locale_.h: Likewise.
48633         * lib/math_.h: Likewise.
48634         * lib/netinet_in_.h: Likewise.
48635         * lib/search_.h: Likewise.
48636         * lib/signal_.h: Likewise.
48637         * lib/stdint_.h: Likewise.
48638         * lib/stdio_.h: Likewise.
48639         * lib/stdlib_.h: Likewise.
48640         * lib/string_.h: Likewise.
48641         * lib/sys_select_.h: Likewise.
48642         * lib/sys_socket_.h: Likewise.
48643         * lib/sys_stat_.h: Likewise.
48644         * lib/sys_time_.h: Likewise.
48645         * lib/sysexits_.h: Likewise.
48646         * lib/time_.h: Likewise.
48647         * lib/unistd_.h: Likewise.
48648         * lib/wchar_.h: Likewise.
48649         * lib/wctype_.h: Likewise.
48650
48651 2007-05-29  Bruno Haible  <bruno@clisp.org>
48652
48653         * tests/test-unistd.c: Disable the tests for useconds_t and intptr_t
48654         for the moment.
48655
48656 2007-05-29  Bruno Haible  <bruno@clisp.org>
48657
48658         * m4/isnan.m4 (gl_DOUBLE_EXPONENT_LOCATION): Silence the AC_C_BIGENDIAN
48659         invocation.
48660         Reported by Eric Blake.
48661
48662 2007-05-29  Bruno Haible  <bruno@clisp.org>
48663
48664         * m4/isnanf.m4 (gl_FLOAT_EXPONENT_LOCATION): Fix typo in cross-
48665         compiling case.
48666
48667 2007-05-29  Eric Blake  <ebb9@byu.net>
48668             Bruno Haible  <bruno@clisp.org>
48669
48670         * m4/isnanf.m4 (gl_FUNC_ISNANF_NO_LIBM): Avoid syntax error on
48671         cross compiles.
48672
48673 2007-05-28  Eric Blake  <ebb9@byu.net>
48674
48675         * modules/closein-tests (test_closein_LDADD): Support test on
48676         cygwin with libtool.
48677
48678 2007-05-28  Bruno Haible  <bruno@clisp.org>
48679
48680         * tests/uniconv/test-u16-conv-from-enc.c: Remove #ifdef HAVE_CONFIG_H.
48681         * tests/uniconv/test-u16-strconv-from-enc.c: Likewise.
48682         * tests/uniconv/test-u16-strconv-to-enc.c: Likewise.
48683         * tests/uniconv/test-u32-conv-from-enc.c: Likewise.
48684         * tests/uniconv/test-u32-strconv-from-enc.c: Likewise.
48685         * tests/uniconv/test-u32-strconv-to-enc.c: Likewise.
48686         * tests/uniconv/test-u8-conv-from-enc.c: Likewise.
48687         * tests/uniconv/test-u8-strconv-from-enc.c: Likewise.
48688         * tests/uniconv/test-u8-strconv-to-enc.c: Likewise.
48689
48690 2007-05-28  Eric Blake  <ebb9@byu.net>
48691
48692         Unconditionally include <config.h> in unit tests.
48693         * tests/test-alloca-opt.c: Remove #ifdef HAVE_CONFIG_H.
48694         * tests/test-allocsa.c, tests/test-arcfour.c,
48695         tests/test-arctwo.c, tests/test-argmatch.c, tests/test-argp.c,
48696         tests/test-array_list.c, tests/test-array_oset.c,
48697         tests/test-atexit.c, test-avltree_list.c, test-avltree_oset.c,
48698         test-avltreehash_list.c, test-base64.c, test-binary-io.c,
48699         test-c-ctype.c, test-c-strcasecmp.c, test-c-strcasestr.c,
48700         test-c-strncasecmp.c, test-c-strstr.c, test-canonicalize-lgpl.c,
48701         test-carray_list.c, test-crc.c, test-des.c, test-dirname.c,
48702         test-fflush.c, test-fprintf-posix.c, test-gc-arcfour.c,
48703         test-gc-arctwo.c, test-gc-des.c, test-gc-hmac-md5.c,
48704         test-gc-hmac-sha1.c, test-gc-md2.c, test-gc-md4.c, test-gc-md5.c,
48705         test-gc-pbkdf2-sha1.c, test-gc-rijndael.c, test-gc-sha1.c,
48706         test-gc.c, test-getpass.c, test-hmac-md5.c, test-hmac-sha1.c,
48707         test-iconv.c, test-linked_list.c, test-linkedhash_list.c,
48708         test-lock.c, test-mbscasecmp.c, test-mbscasestr1.c,
48709         test-mbscasestr2.c, test-mbscasestr3.c, test-mbscasestr4.c,
48710         test-mbschr.c, test-mbscspn.c, test-mbsncasecmp.c, test-mbspbrk.c,
48711         test-mbspcasecmp.c, test-mbsrchr.c, test-mbsspn.c, test-mbsstr1.c,
48712         test-mbsstr2.c, test-mbsstr3.c, test-md2.c, test-md4.c,
48713         test-md5.c, test-memmem.c, test-printf-posix.c,
48714         test-rbtree_list.c, test-rbtree_oset.c, test-rbtreehash_list.c,
48715         test-read-file.c, test-rijndael.c, test-snprintf-posix.c,
48716         test-snprintf.c, test-sprintf-posix.c, test-stdint.c,
48717         test-strcasestr.c, test-striconv.c, test-striconveh.c,
48718         test-striconveha.c, test-tls.c, test-vasnprintf-posix.c,
48719         test-vasnprintf-posix2.c, test-vasnprintf.c,
48720         test-vasprintf-posix.c, test-vasprintf.c, test-verify.c,
48721         test-vfprintf-posix.c, test-vprintf-posix.c,
48722         test-vsnprintf-posix.c, test-vsnprintf.c, test-vsprintf-posix.c,
48723         test-xvasprintf.c: Likewise.
48724
48725 2007-05-28  Bruno Haible  <bruno@clisp.org>
48726
48727         * gnulib-tool (func_import): Remember the --with-tests command-line
48728         option through the macro gl_WITH_TESTS in the gnulib-cache.m4.
48729         Reported by Eric Blake.
48730
48731 2007-05-28  Bruno Haible  <bruno@clisp.org>
48732
48733         * modules/ftell-tests: New file.
48734         * tests/test-ftell.c: New file, based on tests/test-ftello.c.
48735         * tests/test-ftell.sh: New file, based on tests/test-ftello.sh.
48736
48737         * lib/ftell.c: New file.
48738         * modules/ftell: New file.
48739         * m4/ftell.m4: New file.
48740         * doc/functions/ftell.texi: Update.
48741         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Set also GNULIB_FTELL,
48742         REPLACE_FTELL.
48743         * lib/stdio_.h (rpl_ftell): New declaration.
48744         * modules/stdio (Makefile.am): Substitute also GNULIB_FTELL,
48745         REPLACE_FTELL.
48746
48747 2007-05-28  Eric Blake  <ebb9@byu.net>
48748
48749         * lib/allocsa.h (safe_alloca): Avoid compiler warning.
48750
48751 2007-05-28  Bruno Haible  <bruno@clisp.org>
48752
48753         * modules/fseek-tests: New file.
48754         * tests/test-fseek.c: New file, based on tests/test-fseeko.c.
48755         * tests/test-fseek.sh: New file, based on tests/test-fseeko.sh.
48756
48757         * lib/fseek.c: New file.
48758         * modules/fseek: New file.
48759         * m4/fseek.m4: New file.
48760         * doc/functions/fseek.texi: Update.
48761         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Set also GNULIB_FSEEK,
48762         REPLACE_FSEEK.
48763         * lib/stdio_.h (rpl_fseek): New declaration.
48764         * modules/stdio (Makefile.am): Substitute also GNULIB_FSEEK,
48765         REPLACE_FSEEK.
48766
48767 2007-05-28  Bruno Haible  <bruno@clisp.org>
48768
48769         * lib/stdio_.h (fflush): More comments.
48770
48771 2007-05-28  Bruno Haible  <bruno@clisp.org>
48772
48773         * m4/lseek.m4 (gl_FUNC_LSEEK): When not cross-compiling, perform a real
48774         runtime test.
48775
48776 2007-05-28  Eric Blake  <ebb9@byu.net>
48777
48778         Improve lseek module.
48779         * lib/lseek.c (rpl_lseek): Detect EBADF on mingw.
48780         * lib/unistd_.h (lseek): Scale back link warning message.
48781         * tests/test-lseek.c: Beef up test.
48782         * tests/test-lseek.sh: Exercise more facets of lseek.
48783         Reported by Bruno Haible.
48784
48785 2007-05-28  Bruno Haible  <bruno@clisp.org>
48786
48787         * tests/test-unistd.c: Test all the types that <unistd.h> is expected
48788         to define.
48789
48790 2007-05-27  Bruno Haible  <bruno@clisp.org>
48791
48792         * m4/iconv.m4 (AM_ICONV_LINK): Fix 2007-03-31 patch.
48793
48794 2007-05-27  Bruno Haible  <bruno@clisp.org>
48795
48796         * modules/openmp: New file.
48797         * m4/openmp.m4: New file, taken from autoconf's CVS with changes by
48798         Noah Misch.
48799
48800 2007-05-26  Bruno Haible  <bruno@clisp.org>
48801
48802         * modules/chdir-long (Depends-on): Add fchdir.
48803         * modules/chdir-safer (Depends-on): Likewise.
48804         * modules/fts (Depends-on): Likewise.
48805         * modules/fts-lgpl (Depends-on): Likewise.
48806         * modules/openat (Depends-on): Likewise.
48807         * modules/savewd (Depends-on): Likewise.
48808
48809 2007-05-24  Eric Blake  <ebb9@byu.net>
48810
48811         Fix lseek on mingw.
48812         * modules/lseek: New module.
48813         * m4/lseek.m4: New file.
48814         * lib/lseek.c: New file.
48815         * modules/lseek-tests: New file.
48816         * tests/test-lseek.c: New file.
48817         * tests/test-lseek.sh: New file.
48818         * MODULES.html.sh: Document lseek module.
48819         * modules/fflush (Depends-on): Add lseek, fseeko.
48820         * modules/fseeko (Depends-on): Likewise.
48821         * modules/ftello (Depends-on): Likewise.
48822         * m4/fseeko.m4 (gl_FUNC_FSEEKO): Replace fseek[o] if lseek is
48823         broken.
48824         * m4/ftello.m4 (gl_FUNC_FTELLO): Replace ftell[o] if lseek is
48825         broken.
48826         * m4/fflush.m4 (gl_REPLACE_FFLUSH): Trigger fseeko module.
48827         * lib/fseeko.c (rpl_fseeko): Quit early on non-seekable files.
48828         * lib/ftello.c (rpl_ftello): Likewise.
48829         * tests/test-fseeko.c (main): Test this.
48830         * tests/test-fseeko.sh: Likewise.
48831         * tests/test-ftello.c (main): Likewise.
48832         * tests/test-ftello.sh: Likewise.
48833         * lib/stdio_.h (fseek, ftell): Simplify, since missing fseeko now
48834         implies replacing fseek.
48835         * modules/stdio (Makefile.am): No longer need HAVE_FSEEKO,
48836         HAVE_FTELLO.
48837         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Add lseek info.
48838         * modules/unistd (Makefile.am): Likewise.
48839         * lib/unistd_.h (lseek): Declare a replacement.
48840         * doc/functions/lseek.texi (lseek): Document this fix.
48841         * doc/functions/fseek.texi (fseek): Likewise.
48842         * doc/functions/ftell.texi (ftell): Likewise.
48843
48844 2007-05-24  Bruno Haible  <bruno@clisp.org>
48845
48846         * tests/test-vasnprintf-posix.c (test_function): Allow up to 50 bytes
48847         in the printed representation of a NaN.
48848         * tests/test-vasprintf-posix.c (test_function): Likewise.
48849         * tests/test-snprintf-posix.h (test_function): Likewise.
48850         * tests/test-sprintf-posix.h (test_function): Likewise.
48851         Reported by Eric Blake.
48852
48853 2007-05-23  Eric Blake  <ebb9@byu.net>
48854
48855         Fix fseeko/ftello on cygwin 1.5.24.
48856         * doc/functions/fseeko.texi (fseeko): Document the fix.
48857         * doc/functions/ftello.texi (ftello): Document the fix.
48858         * doc/functions/stdin.texi (stdin): Document the cygwin bug.
48859         * doc/functions/stdout.text (stdout): New file.
48860         * doc/functions/stderr.text (stderr): New file.
48861         * doc/gnulib.texi (Function Substitutes): Use new files.
48862         * tests/test-fseeko.c (main): Check for broken fseeko on cygwin
48863         prior to 1.7.0.
48864         * tests/test-ftello.c (main): Likewise for ftello.
48865         * tests/test-fseeko.sh: New file.
48866         * tests/test-ftello.sh: New file.
48867         * modules/fseeko-tests (Makefile.am): Ensure test-fseeko is run
48868         with seekable stdin.
48869         * modules/ftello-tests (Makefile.am): Likewise for test-ftello.
48870         * m4/fseeko.m4 (gl_FUNC_FSEEKO): Detect the cygwin bug.
48871         (gl_REPLACE_FSEEKO): New macro.
48872         * m4/ftello.m4 (gl_FUNC_FTELLO, gl_REPLACE_FTELLO): Likewise.
48873         * modules/fseeko (Files): Distribute fseeko.c.
48874         * modules/ftello (Files): Distribute ftello.c.
48875         * lib/fseeko.c (rpl_fseeko) [__CYGWIN__]: Convert stdin to 64-bit
48876         mode.
48877         * lib/ftello.c (rpl_ftello): New file.
48878         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Allow replacement of
48879         fseeko, ftello.
48880         (gl_STDIN_LARGE_OFFSET): New macro.
48881         * modules/stdio (Makefile.am): Perform the replacement.
48882         * lib/stdio_.h (rpl_fseeko, rpl_ftello): Define when needed.
48883
48884 2007-05-23  Bruno Haible  <bruno@clisp.org>
48885
48886         * lib/stdio_.h (fseeko, ftello): Provide a link warning only if
48887         GNULIB_POSIXCHECK is defined.
48888
48889 2007-05-21  Bruno Haible  <bruno@clisp.org>
48890
48891         * m4/printf.m4 (gl_PRINTF_INFINITE, gl_PRINTF_INFINITE_LONG_DOUBLE):
48892         Check also the output for NaN arguments. When cross-compiling, guess
48893         no on IRIX.
48894         * lib/vasnprintf.c: Update comments.
48895         * tests/test-vasnprintf-posix.c (strisnan): New function.
48896         (test_function): Use it.
48897         * tests/test-vasprintf-posix.c (strisnan): New function.
48898         (test_function): Use it.
48899         * tests/test-snprintf-posix.h (strisnan): New function.
48900         (test_function): Use it.
48901         * tests/test-sprintf-posix.h (strisnan): New function.
48902         (test_function): Use it.
48903         Reported by Eric Blake.
48904
48905 2007-05-20  Bruno Haible  <bruno@clisp.org>
48906
48907         * m4/frexpl.m4 (gl_FUNC_FREXPL_WORKS): Add test for large finite
48908         numbers that fails on BeOS.
48909         * doc/functions/frexpl.texi: Update.
48910
48911 2007-05-20  Jim Meyering  <jim@meyering.net>
48912
48913         * NEWS: Mention the incompatible change (s/futimens/gl_futimens/)
48914         forced upon us by glibc-2.6.
48915
48916 2007-05-20  Bruno Haible  <bruno@clisp.org>
48917
48918         Fix *printf result for NaN, Inf on AIX, Solaris, OSF/1.
48919         * m4/printf.m4 (gl_PRINTF_INFINITE): Update cross-compiling guesses.
48920         (gl_PRINTF_INFINITE_LONG_DOUBLE): New macro.
48921         * lib/vasnprintf.c: Use NEED_PRINTF_INFINITE_DOUBLE instead of
48922         NEED_PRINTF_INFINITE.
48923         (is_infinitel): New function.
48924         (VASNPRINTF): Handle NEED_PRINTF_INFINITE_LONG_DOUBLE case.
48925         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF_INFINITE_DOUBLE): Renamed from
48926         gl_PREREQ_VASNPRINTF_INFINITE.
48927         (gl_PREREQ_VASNPRINTF_INFINITE_LONG_DOUBLE): New macro.
48928         * m4/fprintf-posix.m4 (gl_FUNC_FPRINTF_POSIX): Invoke
48929         gl_PRINTF_INFINITE_LONG_DOUBLE and test its result. Invoke
48930         gl_PREREQ_VASNPRINTF_INFINITE_DOUBLE and
48931         gl_PREREQ_VASNPRINTF_INFINITE_LONG_DOUBLE instead of
48932         gl_PREREQ_VASNPRINTF_INFINITE.
48933         * m4/snprintf-posix.m4 (gl_FUNC_SNPRINTF_POSIX): Likewise.
48934         * m4/sprintf-posix.m4 (gl_FUNC_SPRINTF_POSIX): Likewise.
48935         * m4/vasnprintf-posix.m4 (gl_FUNC_VASNPRINTF_POSIX): Likewise.
48936         * m4/vasprintf-posix.m4 (gl_FUNC_VASPRINTF_POSIX): Likewise.
48937         * m4/vfprintf-posix.m4 (gl_FUNC_VFPRINTF_POSIX): Likewise.
48938         * m4/vsnprintf-posix.m4 (gl_FUNC_VSNPRINTF_POSIX): Likewise.
48939         * m4/vsprintf-posix.m4 (gl_FUNC_VSPRINTF_POSIX): Likewise.
48940         * doc/functions/fprintf.texi: Update.
48941         * doc/functions/printf.texi: Update.
48942         * doc/functions/snprintf.texi: Update.
48943         * doc/functions/sprintf.texi: Update.
48944         * doc/functions/vfprintf.texi: Update.
48945         * doc/functions/vprintf.texi: Update.
48946         * doc/functions/vsnprintf.texi: Update.
48947         * doc/functions/vsprintf.texi: Update.
48948
48949 2007-05-20  Bruno Haible  <bruno@clisp.org>
48950
48951         * m4/frexpl.m4 (gl_FUNC_FREXPL_NO_LIBM): Set REPLACE_FREXPL if frexpl
48952         was not found in libc.
48953         * m4/printf-frexpl.m4 (gl_FUNC_PRINTF_FREXPL): Likewise.
48954
48955 2007-05-20  Bruno Haible  <bruno@clisp.org>
48956
48957         * tests/test-vasnprintf-posix.c (test_function): Allow NaN to be
48958         printed as "-nan" instead of "nan".
48959         * tests/test-vasprintf-posix.c (test_function): Likewise.
48960         * tests/test-snprintf-posix.h (test_function): Likewise.
48961         * tests/test-sprintf-posix.h (test_function): Likewise.
48962         Needed for HP-UX 11.
48963
48964 2007-05-20  Jim Meyering  <jim@meyering.net>
48965
48966         Fix buggy test for the fchownat-deref bug.
48967         * m4/openat.m4 (gl_FUNC_FCHOWNAT_DEREF_BUG): Create the dangling
48968         symlink required for the run-test.  Without it, this test would
48969         always declare that fchownat doesn't work, and client code would
48970         unnecessarily use the replacement function with fixed libc.
48971         (gl_FUNC_FCHOWNAT): Eliminate a variable that wasn't initialized.
48972         Reported by Greg Schafer.
48973
48974 2007-05-19  Bruno Haible  <bruno@clisp.org>
48975
48976         * m4/isnanf.m4 (gl_ISNANF_WORKS): New macro.
48977         (gl_FUNC_ISNANF_NO_LIBM): Invoke it.
48978         * lib/isnan.c (FUNC): Use run-time expressions for SGI compiler.
48979         Needed for IRIX 6.5 and Solaris 2.5.1.
48980
48981 2007-05-19  Bruno Haible  <bruno@clisp.org>
48982
48983         * tests/test-vasnprintf-posix.c (have_minus_zero): New function.
48984         (test_function): Skip tests involving -0.0 on platforms where
48985         -0.0 = 0.0.
48986         * tests/test-vasprintf-posix.c (have_minus_zero): New function.
48987         (test_function): Skip tests involving -0.0 on platforms where
48988         -0.0 = 0.0.
48989         * tests/test-snprintf-posix.h (have_minus_zero): New function.
48990         (test_function): Skip tests involving -0.0 on platforms where
48991         -0.0 = 0.0.
48992         * tests/test-sprintf-posix.h (have_minus_zero): New function.
48993         (test_function): Skip tests involving -0.0 on platforms where
48994         -0.0 = 0.0.
48995         * tests/test-fprintf-posix.h (test_function): Remove all -0.0 related
48996         tests.
48997         * tests/test-printf-posix.h (test_function): Likewise.
48998         * tests/test-printf-posix.output: Remove all -0.0 related results.
48999         Needed for IRIX 6.5.
49000
49001 2007-05-19  Bruno Haible  <bruno@clisp.org>
49002
49003         * tests/test-vasnprintf-posix.c (test_function): Allow NaN to be
49004         printed as "nan0x7fffffff" instead of "nan".
49005         * tests/test-vasprintf-posix.c (test_function): Likewise.
49006         * tests/test-snprintf-posix.h (test_function): Likewise.
49007         * tests/test-sprintf-posix.h (test_function): Likewise.
49008         * tests/test-fprintf-posix.h (NaN): Remove macro.
49009         (test_function): Remove all NaN related tests.
49010         * tests/test-printf-posix.h (NaN): Remove macro.
49011         (test_function): Remove all NaN related tests.
49012         * tests/test-printf-posix.output: Remove all NaN related results.
49013         Needed for IRIX 6.5.
49014
49015 2007-05-19  Bruno Haible  <bruno@clisp.org>
49016
49017         * m4/frexp.m4 (gl_FUNC_FREXP_WORKS): Fix C89 syntax error in test code.
49018         * m4/frexpl.m4 (gl_FUNC_FREXPL_WORKS): Likewise.
49019
49020 2007-05-19  Bruno Haible  <bruno@clisp.org>
49021
49022         * lib/float_.h: New file.
49023         * m4/float_h.m4: New file.
49024         * modules/float: New file.
49025         * modules/isnanl (Dependencies): Add float.
49026         * modules/isnanl-nolibm (Dependencies): Likewise.
49027         * modules/mathl (Dependencies): Likewise.
49028         * modules/printf-frexpl (Dependencies): Likewise.
49029         * modules/signbit (Dependencies): Likewise.
49030         * modules/vasnprintf (Dependencies): Likewise.
49031         * doc/headers/float.texi: Update.
49032
49033 2007-05-19  Jim Meyering  <jim@meyering.net>
49034
49035         * lib/utimens.c (gl_futimens): Rename from futimens,
49036         now that glibc-2.6 declares futimens.
49037         * lib/utimens.h: Likewise.
49038
49039 2007-05-19  Bruno Haible  <bruno@clisp.org>
49040
49041         Avoid test failures on mingw.
49042         * tests/test-fprintf-posix.sh: Convert CR/LF to LF in output.
49043         * tests/test-printf-posix.sh: Likewise.
49044         * tests/test-vfprintf-posix.sh: Likewise.
49045         * tests/test-vprintf-posix.sh: Likewise.
49046
49047 2007-05-19  Bruno Haible  <bruno@clisp.org>
49048
49049         Fix *printf result for NaN, Inf, -0.0 on mingw.
49050         * m4/printf.m4 (gl_PRINTF_INFINITE): New macro.
49051         * lib/vasnprintf.c: Include math.h and isnan.h.
49052         (is_infinite_or_zero): New function.
49053         (VASNPRINTF): Fix also the handling of infinite or zero 'double'
49054         values in the %f, %F, %e, %E, %g, %G directives.
49055         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF_INFINITE): New macro.
49056         * m4/fprintf-posix.m4 (gl_FUNC_FPRINTF_POSIX): Invoke
49057         gl_PRINTF_INFINITE and test its result. Invoke
49058         gl_PREREQ_VASNPRINTF_INFINITE.
49059         * m4/snprintf-posix.m4 (gl_FUNC_SNPRINTF_POSIX): Likewise.
49060         * m4/sprintf-posix.m4 (gl_FUNC_SPRINTF_POSIX): Likewise.
49061         * m4/vasnprintf-posix.m4 (gl_FUNC_VASNPRINTF_POSIX): Likewise.
49062         * m4/vasprintf-posix.m4 (gl_FUNC_VASPRINTF_POSIX): Likewise.
49063         * m4/vfprintf-posix.m4 (gl_FUNC_VFPRINTF_POSIX): Likewise.
49064         * m4/vsnprintf-posix.m4 (gl_FUNC_VSNPRINTF_POSIX): Likewise.
49065         * m4/vsprintf-posix.m4 (gl_FUNC_VSPRINTF_POSIX): Likewise.
49066         * doc/functions/fprintf.texi: Update.
49067         * doc/functions/printf.texi: Update.
49068         * doc/functions/snprintf.texi: Update.
49069         * doc/functions/sprintf.texi: Update.
49070         * doc/functions/vfprintf.texi: Update.
49071         * doc/functions/vprintf.texi: Update.
49072         * doc/functions/vsnprintf.texi: Update.
49073         * doc/functions/vsprintf.texi: Update.
49074
49075 2007-05-19  Bruno Haible  <bruno@clisp.org>
49076
49077         * lib/vasnprintf.c (convert_to_decimal): Add an extra_zeroes argument.
49078         (scale10_round_decimal_long_double): Inline scale10_round_long_double.
49079         Instead of multiplying with 10^k, set extra_zeroes to k.
49080         (scale10_round_long_double): Remove function.
49081
49082 2007-05-18  Bruno Haible  <bruno@clisp.org>
49083
49084         * lib/vasnprintf.c (VASNPRINTF) [NEED_PRINTF_FLAG_ZERO]: Fix logic bug
49085         introduced on 2007-05-06.
49086
49087 2007-05-18  Bruno Haible  <bruno@clisp.org>
49088
49089         * tests/test-vasnprintf-posix.c (test_function): Also test the %e and
49090         %g directives.
49091         * tests/test-vasprintf-posix.c (test_function): Likewise.
49092         * tests/test-snprintf-posix.h (test_function): Likewise.
49093         * tests/test-sprintf-posix.h (test_function): Likewise.
49094
49095 2007-05-18  Bruno Haible  <bruno@clisp.org>
49096
49097         * tests/test-vasnprintf-posix.c (SIZEOF): New macro.
49098         (strmatch): New function.
49099         (test_function): Test the %f directive on numbers of various exponents.
49100         * tests/test-vasprintf-posix.c (SIZEOF): New macro.
49101         (strmatch): New function.
49102         (test_function): Test the %f directive on numbers of various exponents.
49103         * tests/test-snprintf-posix.h (strmatch): New function.
49104         (test_function): Test the %f directive on numbers of various exponents.
49105         * tests/test-sprintf-posix.h (strmatch): New function.
49106         (test_function): Test the %f directive on numbers of various exponents.
49107         * tests/test-snprintf-posix.c (SIZEOF): New macro.
49108         * tests/test-sprintf-posix.c (SIZEOF): New macro.
49109         * tests/test-vsnprintf-posix.c (SIZEOF): New macro.
49110         * tests/test-vsprintf-posix.c (SIZEOF): New macro.
49111
49112 2007-05-18  Bruno Haible  <bruno@clisp.org>
49113
49114         Add support for 'long double' number output.
49115         * m4/printf.m4 (gl_PRINTF_LONG_DOUBLE): New macro.
49116         * lib/vasnprintf.c: Include math.h and float+.h.
49117         (mp_limb_t): New type.
49118         (GMP_LIMB_BITS): New macro.
49119         (mp_twolimb_t): New type.
49120         (GMP_TWOLIMB_BITS): New macro.
49121         (mpn_t): New type.
49122         (multiply, divide, convert_to_decimal, decode_long_double,
49123         scale10_round_long_double, scale10_round_decimal_long_double,
49124         floorlog10l): New functions.
49125         (VASNPRINTF) [NEED_PRINTF_LONG_DOUBLE]: Implement 'long double' support
49126         for the %f, %F, %e, %E, %g, %G directives.
49127         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF_LONG_DOUBLE): New macro.
49128         * m4/fprintf-posix.m4 (gl_FUNC_FPRINTF_POSIX): Invoke
49129         gl_PRINTF_LONG_DOUBLE and test its result. Invoke
49130         gl_PREREQ_VASNPRINTF_LONG_DOUBLE.
49131         * m4/snprintf-posix.m4 (gl_FUNC_SNPRINTF_POSIX): Likewise.
49132         * m4/sprintf-posix.m4 (gl_FUNC_SPRINTF_POSIX): Likewise.
49133         * m4/vasnprintf-posix.m4 (gl_FUNC_VASNPRINTF_POSIX): Likewise.
49134         * m4/vasprintf-posix.m4 (gl_FUNC_VASPRINTF_POSIX): Likewise.
49135         * m4/vfprintf-posix.m4 (gl_FUNC_VFPRINTF_POSIX): Likewise.
49136         * m4/vsnprintf-posix.m4 (gl_FUNC_VSNPRINTF_POSIX): Likewise.
49137         * m4/vsprintf-posix.m4 (gl_FUNC_VSPRINTF_POSIX): Likewise.
49138         * modules/fprintf-posix (Depends-on): Add frexpl-nolibm.
49139         * modules/snprintf-posix (Depends-on): Likewise.
49140         * modules/sprintf-posix (Depends-on): Likewise.
49141         * modules/vasnprintf-posix (Depends-on): Likewise.
49142         * modules/vasprintf-posix (Depends-on): Likewise.
49143         * modules/vfprintf-posix (Depends-on): Likewise.
49144         * modules/vsnprintf-posix (Depends-on): Likewise.
49145         * modules/vsprintf-posix (Depends-on): Likewise.
49146         * modules/vasnprintf (Files): Add lib/float+.h.
49147         * doc/functions/fprintf.texi: Update.
49148         * doc/functions/printf.texi: Update.
49149         * doc/functions/snprintf.texi: Update.
49150         * doc/functions/sprintf.texi: Update.
49151         * doc/functions/vfprintf.texi: Update.
49152         * doc/functions/vprintf.texi: Update.
49153         * doc/functions/vsnprintf.texi: Update.
49154         * doc/functions/vsprintf.texi: Update.
49155
49156 2007-05-18  Bruno Haible  <bruno@clisp.org>
49157
49158         * lib/vasnprintf.c (USE_SNPRINTF): Define to 0 on BeOS.
49159
49160 2007-05-18  Bruno Haible  <bruno@clisp.org>
49161
49162         * lib/vasnprintf.c (VASNPRINTF) [WIN32]: Use %I64d instead of %lld
49163         for printing 64-bit integers. Needed for mingw.
49164
49165 2007-05-18  Bruno Haible  <bruno@clisp.org>
49166
49167         * m4/printf-frexpl.m4 (gl_FUNC_PRINTF_FREXPL): Invoke
49168         gl_FUNC_FREXPL_WORKS.
49169         * modules/printf-frexpl (Files): Add m4/frexpl.m4.
49170
49171 2007-05-18  Bruno Haible  <bruno@clisp.org>
49172
49173         * modules/frexpl-nolibm-tests: New file.
49174
49175         * modules/frexpl-nolibm: New file.
49176         * m4/frexpl.m4 (gl_FUNC_FREXPL_NO_LIBM): New macro.
49177
49178 2007-05-17  Paul Eggert  <eggert@cs.ucla.edu>
49179
49180         * lib/dirent_.h: Prefer #include_next <foo.h> to #include
49181         @ABSOLUTE_FOO_H@ if @HAVE_INCLUDE_NEXT@.  This works better with
49182         GCC 4.2, which otherwise issues a lot of warnings.
49183         * lib/iconv_.h, lib/locale_.h, lib/netinet_in_.h, lib/sys_select_.h:
49184         * lib/sys_socket_.h, lib/sys_stat_.h, lib/sysexits_.h, lib/unistd_.h:
49185         Likewise.
49186         * modules/fchdir (dirent.h): Substitute @HAVE_INCLUDE_NEXT@.
49187         * modules/iconv_open (iconv.h): Likewise.
49188         * modules/locale (locale.h): Likewise.
49189         * modules/netinet_in (netinet/in.h): Likewise.
49190         * modules/sys_select (sys_select.h): Likewise.
49191         * modules/sys_socket (sys/socket.h): Likewise.
49192         * modules/sys_stat (sys/stat.h): Likewise.
49193         * modules/sysexits (sysexits.h): Likewise.
49194         * modules/unistd (unistd.h): Likewise.
49195
49196 2007-05-17  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
49197
49198         * modules/closein-tests (Makefile.am): Distribute
49199         `test-closein.sh'.
49200
49201 2007-05-17  Bruno Haible  <bruno@clisp.org>
49202
49203         * tests/test-printf-posix.output: Renamed from
49204         tests/test-fprintf-posix.out.
49205         * modules/fprintf-posix-tests: Update.
49206         * modules/printf-posix-tests: Update.
49207         * modules/vfprintf-posix-tests: Update.
49208         * modules/vprintf-posix-tests: Update.
49209         * tests/test-fprintf-posix.sh: Update.
49210         * tests/test-printf-posix.sh: Update.
49211         * tests/test-vfprintf-posix.sh: Update.
49212         * tests/test-vprintf-posix.sh: Update.
49213         Reported by Ralf Wildenhues.
49214
49215 2007-05-16  Paul Eggert  <eggert@cs.ucla.edu>
49216
49217         * lib/fcntl_.h: Prefer #include_next <foo.h> to #include
49218         @ABSOLUTE_FOO_H@ if @HAVE_INCLUDE_NEXT@.  This works better with
49219         GCC 4.2, which otherwise issues a lot of warnings.
49220         * lib/inttypes_.h, lib/math_.h, lib/search_.h, lib/signal_.h:
49221         * lib/stdint_.h, lib/stdio_.h, lib/stdlib_.h, lib/string_.h:
49222         * lib/sys_time_.h, lib/time_.h, lib/wchar_.h, lib/wctype_.h: Likewise.
49223         * lib/stdlib_.h: Don't bother with #pragma GCC system_header, as
49224         it should no longer be needed.
49225         * lib/string_.h: Likewise.
49226         * modules/absolute-header (HAVE_INCLUDE_NEXT): New 'make' define.
49227         * modules/fcntl (fcntl.h): Substitute @HAVE_INCLUDE_NEXT@.
49228         * modules/inttypes (inttypes.h): Likewise.
49229         * modules/math (math.h): Likewise.
49230         * modules/search (search.h): Likewise.
49231         * modules/signal (signal.h): Likewise.
49232         * modules/stdint (stdint.h): Likewise.
49233         * modules/stdio (stdio.h): Likewise.
49234         * modules/stdlib (stdlib.h): Likewise.
49235         * modules/string (string.h): Likewise.
49236         * modules/sys_time (sys/time.h): Likewise.
49237         * modules/time (time.h): Likewise.
49238         * modules/wchar (wchar.h): Likewise.
49239         * modules/wctype (wtype.h): Likewise.
49240
49241 2007-05-16  Thien-Thi Nguyen  <ttn@gnuvola.org>  (tiny change)
49242
49243         * doc/gnulib-tool.texi (CVS Issues): Fix typo.
49244
49245 2007-05-13  Bruno Haible  <bruno@clisp.org>
49246
49247         * stpcpy.m4 (gl_FUNC_STPCPY): Require AC_C_RESTRICT.
49248         * stpncpy.m4 (gl_FUNC_STPNCPY): Likewise.
49249         * strsep.m4 (gl_FUNC_STRSEP): Likewise.
49250         * strtok_r.m4 (gl_FUNC_STRTOK_R): Likewise.
49251         (gl_PREREQ_STRTOK_R): Don't require it here.
49252
49253 2007-05-13  Bruno Haible  <bruno@clisp.org>
49254
49255         * lib/stdlib_.h (mkdtemp, mkstemp): Comment out argument name. Needed
49256         when used in C++ mode.
49257
49258 2007-05-12  Bruno Haible  <bruno@clisp.org>
49259
49260         * lib/linebuffer.h: Tweak doc.
49261         * lib/linebuffer.c: Likewise.
49262
49263 2007-05-12  James Youngman  <jay@gnu.org>
49264
49265         * lib/linebuffer.c (readlinebuffer_delim): New function,
49266         like readlinebuffer, but use a caller-specified delimiter.
49267         (readlinebuffer): Just call readlinebuffer_delim with '\n'
49268         as the delimiter.
49269         * lib/linebuffer.h (readlinebuffer_delim): Declare it.
49270
49271 2007-05-12  Sergey Poznyakoff  <gray@gnu.org.ua>
49272
49273         * m4/openat.m4 (gl_FUNC_OPENAT): Do not require openat-die.
49274         * modules/openat (Files): Remove openat-die.c.
49275         (Depends-on): Add openat-die.
49276         * modules/openat-die: New module.
49277
49278 2007-05-06  Bruno Haible  <bruno@clisp.org>
49279
49280         * m4/printf.m4 (gl_PRINTF_FLAG_GROUPING, gl_VSNPRINTF_ZEROSIZE_C99):
49281         Update with info about Cygwin.
49282         * doc/functions/fprintf.texi: Update.
49283         * doc/functions/printf.texi: Update.
49284         * doc/functions/snprintf.texi: Update.
49285         * doc/functions/sprintf.texi: Update.
49286         * doc/functions/vfprintf.texi: Update.
49287         * doc/functions/vprintf.texi: Update.
49288         * doc/functions/vsnprintf.texi: Update.
49289         * doc/functions/vsprintf.texi: Update.
49290         Reported by Eric Blake.
49291
49292 2007-05-06  Bruno Haible  <bruno@clisp.org>
49293
49294         * lib/vasnprintf.c (VASNPRINTF) [NEED_PRINTF_FLAG_ZERO]: Perform the
49295         padding ourselves for the floating-point directives.
49296         * m4/printf.m4 (gl_PRINTF_FLAG_ZERO): New macro.
49297         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF_FLAG_ZERO): New macro.
49298         * m4/snprintf-posix.m4 (gl_FUNC_SNPRINTF_POSIX): Invoke
49299         gl_PRINTF_FLAG_ZERO and test its result. Invoke
49300         gl_PREREQ_VASNPRINTF_FLAG_ZERO.
49301         * m4/sprintf-posix.m4 (gl_FUNC_SPRINTF_POSIX): Likewise.
49302         * m4/fprintf-posix.m4 (gl_FUNC_FPRINTF_POSIX): Likewise.
49303         * m4/vasnprintf-posix.m4 (gl_FUNC_VASNPRINTF_POSIX): Likewise.
49304         * m4/vasprintf-posix.m4 (gl_FUNC_VASPRINTF_POSIX): Likewise.
49305         * m4/vfprintf-posix.m4 (gl_FUNC_VFPRINTF_POSIX): Likewise.
49306         * m4/vsnprintf-posix.m4 (gl_FUNC_VSNPRINTF_POSIX): Likewise.
49307         * m4/vsprintf-posix.m4 (gl_FUNC_VSPRINTF_POSIX): Likewise.
49308         * tests/test-snprintf-posix.h (test_function): Also check the width
49309         and some flags in the %f directive.
49310         * tests/test-sprintf-posix.h (test_function): Likewise.
49311         * tests/test-vasnprintf-posix.c (test_function): Likewise.
49312         * tests/test-vasprintf-posix.c (test_function): Likewise.
49313         * doc/functions/fprintf.texi: Update.
49314         * doc/functions/printf.texi: Update.
49315         * doc/functions/snprintf.texi: Update.
49316         * doc/functions/sprintf.texi: Update.
49317         * doc/functions/vfprintf.texi: Update.
49318         * doc/functions/vprintf.texi: Update.
49319         * doc/functions/vsnprintf.texi: Update.
49320         * doc/functions/vsprintf.texi: Update.
49321
49322 2007-05-06  Bruno Haible  <bruno@clisp.org>
49323
49324         * lib/vasnprintf.c (VASNPRINTF) [NEED_PRINTF_FLAG_GROUPING]: Don't
49325         pass the ' flag character to sprintf or snprintf.
49326         * m4/printf.m4 (gl_PRINTF_FLAG_GROUPING): New macro.
49327         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF_FLAG_GROUPING): New macro.
49328         * m4/snprintf-posix.m4 (gl_FUNC_SNPRINTF_POSIX): Invoke
49329         gl_PRINTF_FLAG_GROUPING and test its result. Invoke
49330         gl_PREREQ_VASNPRINTF_FLAG_GROUPING.
49331         * m4/sprintf-posix.m4 (gl_FUNC_SPRINTF_POSIX): Likewise.
49332         * m4/fprintf-posix.m4 (gl_FUNC_FPRINTF_POSIX): Likewise.
49333         * m4/vasnprintf-posix.m4 (gl_FUNC_VASNPRINTF_POSIX): Likewise.
49334         * m4/vasprintf-posix.m4 (gl_FUNC_VASPRINTF_POSIX): Likewise.
49335         * m4/vfprintf-posix.m4 (gl_FUNC_VFPRINTF_POSIX): Likewise.
49336         * m4/vsnprintf-posix.m4 (gl_FUNC_VSNPRINTF_POSIX): Likewise.
49337         * m4/vsprintf-posix.m4 (gl_FUNC_VSPRINTF_POSIX): Likewise.
49338         * tests/test-snprintf-posix.h (test_function): Also check the grouping
49339         flag.
49340         * tests/test-sprintf-posix.h (test_function): Likewise.
49341         * tests/test-vasnprintf-posix.c (test_function): Likewise.
49342         * tests/test-vasprintf-posix.c (test_function): Likewise.
49343         * doc/functions/fprintf.texi: Update.
49344         * doc/functions/printf.texi: Update.
49345         * doc/functions/snprintf.texi: Update.
49346         * doc/functions/sprintf.texi: Update.
49347         * doc/functions/vfprintf.texi: Update.
49348         * doc/functions/vprintf.texi: Update.
49349         * doc/functions/vsnprintf.texi: Update.
49350         * doc/functions/vsprintf.texi: Update.
49351
49352 2007-05-01  Bruno Haible  <bruno@clisp.org>
49353
49354         * tests/test-argp-2.sh (func_compare): Drop .exe suffix.
49355
49356 2007-05-03  Paul Eggert  <eggert@cs.ucla.edu>
49357
49358         * m4/d-ino.m4 (gl_CHECK_TYPE_STRUCT_DIRENT_D_INO): Use better
49359         comment for D_INO_IN_DIRENT.  Problem reported by James Youngman.
49360
49361 2007-05-02  Paul Eggert  <eggert@cs.ucla.edu>
49362
49363         * m4/d-ino.m4 (gl_CHECK_TYPE_STRUCT_DIRENT_D_INO): Test whether
49364         readdir returns garbage in d_ino.  Problem reported by Kaz Sasayama in
49365         <http://lists.gnu.org/archive/html/bug-gnulib/2007-05/msg00021.html>.
49366
49367 2007-05-02  Sergey Poznyakoff  <gray@gnu.org.ua>
49368
49369         * lib/argp-help.c (struct hol_entry): New member `ord'.
49370         (HOL_ENTRY_PTRCMP): Use ord for comparison
49371         (hol_sort): Initialize ord.
49372
49373 2007-05-01  Bruno Haible  <bruno@clisp.org>
49374
49375         * doc/functions/_Exit_C99.texi: Renamed from doc/functions/_Exit.texi.
49376         Reported by Eric Blake.
49377         * doc/gnulib.texi (Function Substitutes): Update.
49378
49379 2007-05-01  Bruno Haible  <bruno@clisp.org>
49380
49381         * doc/functions.texi: Remove file, now redundant through
49382         doc/functions/*.texi.
49383
49384 2007-05-01  Bruno Haible  <bruno@clisp.org>
49385
49386         * modules/argp (Depends-on): Add sleep.
49387
49388 2007-05-01  Bruno Haible  <bruno@clisp.org>
49389
49390         * modules/sleep-tests: New file.
49391         * tests/test-sleep.c: New file.
49392
49393         * modules/sleep: New file.
49394         * lib/sleep.c: New file.
49395         * m4/sleep.m4: New file.
49396         * lib/unistd_.h (sleep): New declaration.
49397         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize GNULIB_SLEEP,
49398         HAVE_SLEEP.
49399         * modules/unistd (Makefile.am): Substitute GNULIB_SLEEP, HAVE_SLEEP.
49400         * doc/functions/sleep.texi: Document the sleep module.
49401
49402 2007-05-01  Bruno Haible  <bruno@clisp.org>
49403
49404         * lib/sigprocmask.h: Remove file.
49405         * lib/signal_.h: Incorporate the previous contents of sigprocmask.h.
49406         * lib/sigprocmask.c: Include <signal.h> instead of sigprocmask.h.
49407         * m4/signal_h.m4 (gl_SIGNAL_H_DEFAULTS): Substitute GNULIB_SIGPROCMASK,
49408         HAVE_POSIX_SIGNALBLOCKING, HAVE_SIGSET_T.
49409         * m4/signalblocking.m4 (gl_SIGNALBLOCKING): Require
49410         gl_SIGNAL_H_DEFAULTS. Set HAVE_POSIX_SIGNALBLOCKING as a shell variable.
49411         (gl_PREREQ_SIGPROCMASK): Require gl_SIGNAL_H_DEFAULTS. Set
49412         HAVE_SIGSET_T as a shell variable.
49413         * modules/signal (Makefile.am): Substitute GNULIB_SIGPROCMASK,
49414         HAVE_POSIX_SIGNALBLOCKING, HAVE_SIGSET_T into signal.h.
49415         * modules/sigprocmask (Files): Remove lib/sigprocmask.h.
49416         (Depends-on): Add signal. Remove verify.
49417         (configure.ac): Invoke gl_SIGNAL_MODULE_INDICATOR.
49418         (Include): Mention <signal.h> instead of sigprocmask.h.
49419         * NEWS: Mention the change.
49420         * lib/fatal-signal.c: Don't include sigprocmask.h.
49421
49422 2007-05-01  Bruno Haible  <bruno@clisp.org>
49423
49424         * modules/signal: New file.
49425         * lib/signal_.h: New file.
49426         * m4/signal_h.m4: New file.
49427
49428 2007-05-01  Bruno Haible  <bruno@clisp.org>
49429
49430         * lib/wctype_.h: Test HAVE_ISWCNTRL at configure time.
49431         * m4/wctype.m4 (gl_WCTYPE_H): Substitute HAVE_ISWCNTRL.
49432         * modules/wctype (Makefile.am): Substitute HAVE_ISWCNTRL instead of
49433         HAVE_WCTYPE_CTMP_BUG into wctype.h.
49434
49435 2007-05-01  Bruno Haible  <bruno@clisp.org>
49436
49437         * lib/sys_stat_.h: Test HAVE_LSTAT, HAVE_DECL_MKDIR, HAVE_IO_H at
49438         configure time.
49439         * m4/sys_stat_h.m4 (gl_HEADER_SYS_STAT_H): Substitute HAVE_LSTAT,
49440         HAVE_DECL_MKDIR, HAVE_IO_H via AC_SUBST.
49441         * modules/sys_stat (Makefile.am): Substitute their values into
49442         sys/stat.h.
49443
49444 2007-05-01  Bruno Haible  <bruno@clisp.org>
49445
49446         * lib/glob_.h: Test HAVE_SYS_CDEFS_H at configure time.
49447         * m4/glob.m4 (gl_PREREQ_GLOB): Substitute HAVE_SYS_CDEFS_H via AC_SUBST.
49448         * modules/glob (Makefile.am): Put HAVE_SYS_CDEFS_H value into glob.h.
49449
49450 2007-05-01  Bruno Haible  <bruno@clisp.org>
49451
49452         * doc/header/assert.texi: Undo last change: don't mention the gnulib
49453         'assert' module here.
49454
49455 2007-05-01  Bruno Haible  <bruno@clisp.org>
49456
49457         * doc/functions/*.texi: New files.
49458         * doc/functions/google-ranking.txt: New file.
49459         * doc/gnulib.texi (Function Substitutes): New chapter.
49460         (ctime, inet_ntoa): Remove sections.
49461         * doc/ctime.texi: Remove file.
49462         * doc/inet_ntoa.texi: Remove file.
49463         * doc/Makefile (gnulib.info, gnulib.html, gnulib.dvi): Update
49464         dependencies.
49465         (%.info): New rule, specifying a --reference-limit.
49466
49467 2007-05-01  Bruno Haible  <bruno@clisp.org>
49468
49469         * MODULES.html.sh (posix_functions): Remove 'exec', 'toc'.
49470
49471 2007-05-01  Bruno Haible  <bruno@clisp.org>
49472
49473         * modules/mkdir (Depends-on): Add sys_stat, because sys_stat provides
49474         the portability of 'mkdir' to mingw systems.
49475
49476 2007-05-01  Bruno Haible  <bruno@clisp.org>
49477
49478         * doc/headers/google-ranking.txt: New file.
49479
49480 2007-04-30  Eric Blake  <ebb9@byu.net>
49481
49482         Prefer fseeko to fseek.
49483         * modules/getpass (Depends-on): Add fseeko.
49484         * lib/getpass.c (getpass): Use fseeko, not fseek.
49485
49486 2007-04-30  Sergey Poznyakoff  <gray@gnu.org.ua>
49487
49488         * lib/argp-help.c (hol_entry_cmp): Option sorting algorithm
49489         assumes the sorting is stable, while most qsort implementations
49490         are not.  Use argument addresses to ensure they never compare as
49491         equal.
49492
49493         * tests/test-argp-2.sh (usage-indent test): Fix output
49494         (func_compare): Restore diff options
49495         * tests/test-argp.c: Restore #include "progname.h"
49496
49497 2007-04-29  Bruno Haible  <bruno@clisp.org>
49498
49499         * m4/printf.m4 (gl_VSNPRINTF_ZEROSIZE_C99): New macro.
49500         * m4/snprintf-posix.m4 (gl_FUNC_SNPRINTF_POSIX): Invoke
49501         gl_VSNPRINTF_ZEROSIZE_C99. Test gl_cv_func_vsnprintf_zerosize_c99.
49502         * m4/vsnprintf-posix.m4 (gl_FUNC_VSNPRINTF_POSIX): Likewise.
49503         * modules/snprintf-posix-tests (Files): Add tests/test-snprintf.c.
49504         (configure.ac): Define CHECK_SNPRINTF_POSIX.
49505         (TESTS, check_PROGRAMS): Add test-snprintf.
49506         * modules/vsnprintf-posix-tests (Files): Add tests/test-vsnprintf.c.
49507         (configure.ac): Define CHECK_VSNPRINTF_POSIX.
49508         (TESTS, check_PROGRAMS): Add test-vsnprintf.
49509         * tests/test-snprintf.c (main) [!CHECK_SNPRINTF_POSIX]: Disable
49510         assertions that fail on HP-UX, OSF/1, or IRIX.
49511         * tests/test-vsnprintf.c (main) [!CHECK_VSNPRINTF_POSIX]: Likewise.
49512
49513 2007-04-29  Bruno Haible  <bruno@clisp.org>
49514
49515         * MODULES.html.sh (posix_functions): Remove 'contents'.
49516
49517 2007-04-29  Karl Berry  <karl@gnu.org>
49518
49519         * config/srclist.txt (gendocs_template_min): new entry.
49520
49521 2007-04-29  Bruno Haible  <bruno@clisp.org>
49522
49523         Work around fpurge bug on BSD systems.
49524         * modules/fpurge (Makefile.am): Compile fpurge.c unconditionally.
49525         * m4/fpurge.m4 (gl_FUNC_FPURGE): Don't invoke AC_LIBOBJ.
49526         * lib/fpurge.h (fpurge): Don't handle __fpurge wrapper here. Define
49527         fpurge to rpl_fpurge if the system already has this function.
49528         * lib/fpurge.c (fpurge): Handle also the __fpurge wrapper case and
49529         the case where the system already has this function. Correct invariants
49530         on BSD systems.
49531         * lib/fseeko.c (rpl_fseeko): Update recognition of preceding fflush on
49532         BSD systems.
49533
49534 2007-04-29  Sergey Poznyakoff  <gray@gnu.org.ua>
49535
49536         * lib/argp-help.c (hol_cluster_cmp): Reverse comparison.  Change
49537         proposed by Sven Verdoolaege.
49538
49539         * tests/test-argp.c: Fix option ordering.  Test deeply clustered
49540         options.
49541         * tests/test-argp-2.sh (func_compare): Use diff instead of cmp.
49542         (usage and help tests): Update
49543
49544 2007-04-29  Bruno Haible  <bruno@clisp.org>
49545
49546         * tests/test-fflush.c (main): Use a file of size 17, not 10.
49547         Print more information in case of failure. Disable a test on BeOS.
49548
49549 2007-04-29  Bruno Haible  <bruno@clisp.org>
49550
49551         * tests/**/test-*.[hc] (ASSERT): Use fprintf to show the line number.
49552         This helps debugging on systems on which no gdb is available.
49553
49554 2007-04-29  Bruno Haible  <bruno@clisp.org>
49555
49556         * lib/freading.h: Improve comments.
49557         * lib/fwriting.h: Likewise.
49558         * tests/test-freading.c (main): Don't check freading immediately after
49559         repositioning. Needed for glibc.
49560
49561 2007-04-29  Bruno Haible  <bruno@clisp.org>
49562
49563         * lib/freading.c (freading): Trivial simplification.
49564
49565 2007-04-28  Bruno Haible  <bruno@clisp.org>
49566
49567         * tests/test-fwriting.c (main): Also test the interaction between
49568         fflush and fwriting.
49569         * modules/fwriting-tests (Depends-on): Add fflush.
49570
49571         * tests/test-freading.c (main): Also test the interaction between
49572         fflush and freading.
49573         * modules/freading-tests (Depends-on): Add fflush.
49574
49575 2007-04-28  Bruno Haible  <bruno@clisp.org>
49576
49577         * lib/stdio_.h (fseek, ftell): Provide link warnings suggesting to use
49578         fseeko and ftello.
49579         Suggested by Eric Blake.
49580
49581 2007-04-28  Jim Meyering  <jim@meyering.net>
49582
49583         Avoid false-negative in gl_STDINT_H's C99 conformance test.
49584         * m4/stdint.m4 (gl_STDINT_H): When checking whether stdint.h conforms
49585         to C99, include all of gl_STDINT_INCLUDES, not just <stddef.h>.
49586
49587 2007-04-27  Eric Blake  <ebb9@byu.net>
49588
49589         * doc/headers/assert.texi (assert.h): Document assert module use.
49590
49591 2007-04-27  Bruno Haible  <bruno@clisp.org>
49592
49593         * doc/headers/*.texi: New files.
49594         * doc/gnulib.texi (Header File Substitutes): New chapter.
49595         * doc/Makefile (gnulib.info, gnulib.html, gnulib.dvi): Specify
49596         dependencies.
49597         (standards.info ,standards.html, standards.dvi): Update dependencies.
49598         (mostlyclean, clean): New targets.
49599
49600 2007-04-27  Bruno Haible  <bruno@clisp.org>
49601
49602         * lib/sysexits_.h: Renamed from lib/sysexit_.h.
49603         * modules/sysexits (Files, Makefile.am): Update.
49604
49605         * lib/sys_socket_.h: Renamed from lib/socket_.h.
49606         * modules/sys_socket (Files, Makefile.am): Update.
49607
49608         * lib/sys_stat_.h: Renamed from lib/stat_.h.
49609         * modules/sys_stat (Files, Makefile.am): Update.
49610
49611 2007-04-27  Eric Blake  <ebb9@byu.net>
49612
49613         * lib/freading.h: Improve comments.
49614         * lib/fwriting.h: Likewise.
49615         * lib/fflush.c: Likewise.
49616
49617         Fix closein for mingw.
49618         * modules/closein-tests: Add tests for closein.
49619         * tests/test-closein.c: New file.
49620         * tests/test-closein.sh: Likewise.
49621         * lib/unistd_.h [!SEEK_CUR]: Mingw also needs stdlib.h for _exit.
49622         * lib/closein.c (close_stdin): Don't fflush non-seekable streams.
49623
49624 2007-04-27  Bruno Haible  <bruno@clisp.org>
49625
49626         * lib/inttypes_.h [_DECC]: Don't use #include_next if the compiler
49627         version is < 6.
49628         * lib/math_.h [__DECC]: Likewise.
49629         * lib/stdio_.h [__DECC]: Likewise.
49630         * lib/stdlib_.h [__DECC]: Likewise.
49631         * lib/string_.h [__DECC]: Likewise.
49632         * lib/time_.h [__DECC]: Likewise.
49633         * lib/wchar_.h [__DECC]: Likewise.
49634         * lib/wctype_.h [__DECC]: Likewise.
49635
49636 2007-04-27  Bruno Haible  <bruno@clisp.org>
49637
49638         * tests/test-fbufmode.c (main): Relax test, to avoid failure on mingw.
49639
49640 2007-04-27  Bruno Haible  <bruno@clisp.org>
49641
49642         * lib/fflush.c: Add comments.
49643         * modules/fpurge-tests (Depends-on): Add fflush.
49644         * modules/freadable-tests (Depends-on): Likewise.
49645         * modules/fwritable-tests (Depends-on): Likewise.
49646
49647 2007-04-27  Charles Wilson  <libtool@cwilson.fastmail.fm>
49648
49649         * m4/argz.m4 (gl_FUNC_ARGZ): Use !HAVE_WORKING_ARGZ instead of
49650         SYSTEM_ARGZ_IS_BROKEN.  Also, minor stylistic improvements.
49651         Report by Bruno Haible <bruno@clisp.org>.
49652
49653 2007-04-26  Eric Blake  <ebb9@byu.net>
49654
49655         Fix fflush on mingw.
49656         * modules/fflush (Depends-on): Add freading.
49657         * lib/fflush.c (rpl_fflush): Use freading to avoid losing buffered
49658         but unread data.
49659
49660 2007-04-26  Eric Blake  <ebb9@byu.net>
49661         and Bruno Haible  <bruno@clisp.org>
49662
49663         Implement freading and fwriting.
49664         * lib/freading.c: New file.
49665         * lib/freading.h: Likewise.
49666         * m4/freading.m4: Likewise.
49667         * modules/freading: Likewise.
49668         * modules/freading-tests: Likewise.
49669         * tests/test-freading.c: Likewise.
49670         * lib/fwriting.c: New file.
49671         * lib/fwriting.h: Likewise.
49672         * m4/fwriting.m4: Likewise.
49673         * modules/fwriting: Likewise.
49674         * modules/fwriting-tests: Likewise.
49675         * tests/test-fwriting.c: Likewise.
49676         * MODULES.html.sh (File stream based Input/Output): Mention them.
49677
49678 2007-04-26  Bruno Haible  <bruno@clisp.org>
49679
49680         * lib/stdio_.h (fseeko, ftello): Check that off_t has the same size as
49681         'long' when we assume it.
49682         Suggested by Eric Blake.
49683
49684 2007-04-26  Bruno Haible  <bruno@clisp.org>
49685
49686         Ensure fseeko, ftello are declared on glibc systems.
49687         * modules/fflush (configure.ac-early): Require AC_FUNC_FSEEKO.
49688         * modules/fseeko (configure.ac-early): Likewise.
49689         * modules/ftello (configure.ac-early): Likewise.
49690         * m4/fflush.m4 (gl_REPLACE_FFLUSH): Don't define HAVE_FSEEKO, rely on
49691         AC_FUNC_FSEEKO for this.
49692         * m4/fseeko.m4 (gl_FUNC_FSEEKO): Inline gl_CHECK_FSEEKO.
49693         (gl_CHECK_FSEEKO): Remove macro.
49694
49695 2007-04-26  Bruno Haible  <bruno@clisp.org>
49696
49697         * tests/test-fflush.c (main): Also check the ftell result after
49698         fflush and fseek/fseeko.
49699         * lib/fflush.c (rpl_fflush): For BSD implementations, update the
49700         file descriptor position cache in the stream.
49701         * lib/fseeko.c (rpl_fseeko): Likewise.
49702
49703 2007-04-26  Bruno Haible  <bruno@clisp.org>
49704
49705         * modules/fflush-tests (Depends-on): Add fseeko.
49706
49707 2007-04-25  Charles Wilson  <libtool@cwilson.fastmail.fm>
49708             Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
49709
49710         * lib/argz_.h: ensure error_t definition is obtained in same
49711         mechanism system argz.h would have.
49712         * m4/argz.m4 (gl_FUNC_ARGZ): add new test to check if $host's
49713         argz facilities are known bad.  Err on the side of caution if
49714         cross-compiling.
49715
49716 2007-04-25  Eric Blake  <ebb9@byu.net>
49717
49718         * lib/fpurge.c (includes): Use stdlib.h for free.
49719         * tests/test-fflush.c (main): Also test fflush-fseeko.
49720
49721 2007-04-25  Bruno Haible  <bruno@clisp.org>
49722
49723         Make fflush+fseek POSIX-compliant on FreeBSD and MacOS X.
49724         * lib/fseeko.c: New file.
49725         * lib/stdio_.h: Include <sys/types.h> when off_t is needed.
49726         (fseeko, fseek): Define to replacements if REPLACE_FFLUSH.
49727         * m4/fseeko.m4 (gl_CHECK_FSEEKO): New macro, extracted from
49728         gl_FUNC_FSEEKO.
49729         (gl_FUNC_FSEEKO): Invoke it.
49730         * m4/fflush.m4 (gl_REPLACE_FFLUSH): Arrange to compile fseeko.c. Invoke
49731         gl_CHECK_FSEEKO. Define HAVE_FSEEKO.
49732         * modules/fflush (Files): Add lib/fseeko.c, m4/fseeko.m4.
49733
49734 2007-04-25  Bruno Haible  <bruno@clisp.org>
49735
49736         * modules/fflush (Depends-on): Add ftello.
49737
49738 2007-04-25  Bruno Haible  <bruno@clisp.org>
49739
49740         * modules/ftello-tests: New file.
49741         * tests/test-ftello.c: New file.
49742
49743         * modules/ftello: New file.
49744         * m4/ftello.m4: New file.
49745         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Set also GNULIB_FTELLO,
49746         HAVE_FTELLO.
49747         * lib/stdio_.h (ftello): New declaration.
49748         * modules/stdio (Makefile.am): Substitute also GNULIB_FTELLO,
49749         HAVE_FTELLO.
49750
49751 2007-04-25  Bruno Haible  <bruno@clisp.org>
49752
49753         * modules/fseeko-tests: New file.
49754         * tests/test-fseeko.c: New file.
49755
49756         * modules/fseeko: New file.
49757         * m4/fseeko.m4: New file.
49758         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Set also GNULIB_FSEEKO,
49759         HAVE_FSEEKO.
49760         * lib/stdio_.h (fseeko): New declaration.
49761         * modules/stdio (Makefile.am): Substitute also GNULIB_FSEEKO,
49762         HAVE_FSEEKO.
49763
49764 2007-04-25  Bruno Haible  <bruno@clisp.org>
49765
49766         * lib/stdio_.h (fflush): Add support for GNULIB_POSIXCHECK.
49767
49768 2007-04-25  Bruno Haible  <bruno@clisp.org>
49769
49770         * lib/unistd_.h: Include <stdio.h> if needed to get the SEEK_* macros.
49771         * tests/test-stdio.c: Check that the various SEEK_* macros are defined.
49772         * tests/test-unistd.c: Likewise.
49773         * tests/test-fcntl.c: Likewise.
49774
49775 2007-04-23  Eric Blake  <ebb9@byu.net>
49776
49777         * lib/fflush.c: Fix missing include.
49778         Reported by Bruno Haible.
49779
49780 2007-04-23  Bruno Haible  <bruno@clisp.org>
49781
49782         * lib/fpurge.c (fpurge) [glibc, BSD]: Free a malloc()ed ungetc buffer.
49783         Reported by Eric Blake.
49784
49785 2007-04-23  Bruno Haible  <bruno@clisp.org>
49786
49787         * lib/fbufmode.c (fbufmode): Port to Solaris/SPARC64.
49788
49789 2007-04-23  Bruno Haible  <bruno@clisp.org>
49790
49791         * lib/fseterr.c (fseterr): Don't hardcode the value of _IOERR.
49792
49793 2007-04-23  Bruno Haible  <bruno@clisp.org>
49794
49795         * tests/test-fbufmode.c (main): Be prepared to a failure of setvbuf.
49796         Needed on HP-UX 11.
49797
49798 2007-04-16  Eric Blake  <ebb9@byu.net>
49799
49800         Make fflush rely on fpurge.
49801         * lib/fflush.c (rpl_fflush): Rely on fpurge module, rather than
49802         open coding all variants.
49803         * modules/fflush (Depends-on): Add fpurge and unistd.
49804         * modules/fflush-tests (Depends-on): Unistd is no longer extra.
49805         * m4/fflush.m4 (gl_REPLACE_FFLUSH): Simplify.
49806
49807         Fix --with-tests compilation on cygwin.
49808         * modules/argmatch-tests (Makefile.am): List gnulib library first
49809         in LDADD.
49810         * modules/argp-tests (Makefile.am): Likewise.
49811         * modules/array-list-tests (Makefile.am): Likewise.
49812         * modules/array-oset-tests (Makefile.am): Likewise.
49813         * modules/avltree-list-tests (Makefile.am): Likewise.
49814         * modules/avltree-oset-tests (Makefile.am): Likewise.
49815         * modules/avltreehash-list-tests (Makefile.am): Likewise.
49816         * modules/carray-list-tests (Makefile.am): Likewise.
49817         * modules/dirname-tests (Makefile.am): Likewise.
49818         * modules/frexp-tests (Makefile.am): Likewise.
49819         * modules/isnanl-tests (Makefile.am): Likewise.
49820         * modules/linked-list-tests (Makefile.am): Likewise.
49821         * modules/linkedhash-list-tests (Makefile.am): Likewise.
49822         * modules/lock-tests (Makefile.am): Likewise.
49823         * modules/rbtree-list-tests (Makefile.am): Likewise.
49824         * modules/rbtree-oset-tests (Makefile.am): Likewise.
49825         * modules/rbtreehash-list-tests (Makefile.am): Likewise.
49826         * modules/tls-tests (Makefile.am): Likewise.
49827         * modules/tsearch-tests (Makefile.am): Likewise.
49828         * modules/xvasprintf-tests (Makefile.am): Likewise.
49829
49830         Fix fpurge for cygwin.
49831         * lib/fpurge.c (fpurge): Fix order of operation flub, and return a
49832         value.
49833         * modules/fpurge-tests (Depends-on): Clean up trash.
49834
49835 2007-04-16  Simon Josefsson  <simon@josefsson.org>
49836
49837         * lib/gc-libgcrypt.c (gc_hash_open): Shut up compiler warnings.
49838
49839         * m4/autobuild.m4: Re-indent.
49840
49841 2007-04-13  Bruno Haible  <bruno@clisp.org>
49842
49843         * modules/fpurge-tests: New file.
49844         * tests/test-fpurge.c: New file.
49845
49846         * modules/fpurge: New file.
49847         * lib/fpurge.h: New file.
49848         * lib/fpurge.c: New file.
49849         * m4/fpurge.m4: New file.
49850
49851 2007-04-13  Bruno Haible  <bruno@clisp.org>
49852
49853         * modules/fbufmode-tests: New file.
49854         * tests/test-fbufmode.c: New file.
49855
49856         * modules/fbufmode: New file.
49857         * lib/fbufmode.h: New file.
49858         * lib/fbufmode.c: New file.
49859         * m4/fbufmode.m4: New file.
49860
49861 2007-04-13  Bruno Haible  <bruno@clisp.org>
49862
49863         * modules/fwritable-tests: New file.
49864         * tests/test-fwritable.c: New file.
49865
49866         * modules/fwritable: New file.
49867         * lib/fwritable.h: New file.
49868         * lib/fwritable.c: New file.
49869         * m4/fwritable.m4: New file.
49870
49871 2007-04-13  Bruno Haible  <bruno@clisp.org>
49872
49873         * modules/freadable-tests: New file.
49874         * tests/test-freadable.c: New file.
49875
49876         * modules/freadable: New file.
49877         * lib/freadable.h: New file.
49878         * lib/freadable.c: New file.
49879         * m4/freadable.m4: New file.
49880
49881 2007-04-13  Bruno Haible  <bruno@clisp.org>
49882
49883         * modules/fflush-tests (Makefile.am): Remove EXTRA_DIST. Augment
49884         MOSTLYCLEANFILES.
49885
49886 2007-04-13  Paul Eggert  <eggert@cs.ucla.edu>
49887
49888         * build-aux/bootstrap (gnulib_tool_option_extras): New var, used by
49889         gzip bootstrap.conf to avoid dragging in i18n machinery.
49890         (gnulib_tool_option): Use it.
49891
49892 2007-04-13  Bruno Haible  <bruno@clisp.org>
49893
49894         * tests/test-vasnprintf-posix.c (test_function): Add tests for %f and
49895         %F directives.
49896         * tests/test-vasprintf-posix.c (test_function): Likewise.
49897         * tests/test-snprintf-posix.h (test_function): Likewise.
49898         * tests/test-sprintf-posix.h (test_function): Likewise.
49899         * tests/test-fprintf-posix.h (test_function): Likewise.
49900         * tests/test-printf-posix.h (test_function): Likewise.
49901         * tests/test-fprintf-posix.out: Likewise.
49902
49903 2007-04-13  Bruno Haible  <bruno@clisp.org>
49904
49905         * modules/lock-tests (configure.ac): For LIBSCHED, try also -lposix4.
49906         * modules/tls-tests (configure.ac): Likewise.
49907         Reported by Arto C. Nirkko <anirkko@insel.ch>.
49908
49909 2007-04-13  Bruno Haible  <bruno@clisp.org>
49910
49911         * lib/tls.c (glthread_tls_get): Fix return type.
49912         Patch by Arto C. Nirkko <anirkko@insel.ch>.
49913
49914 2007-04-12  Eric Blake  <ebb9@byu.net>
49915
49916         * modules/gettime (Depends-on): Remove gettime.
49917         Reported by Dmitry V. Levin.
49918
49919 2007-04-12  Bruno Haible  <bruno@clisp.org>
49920
49921         * modules/fflush (Include): Mention <stdio.h>.
49922         * modules/strtoimax (Include): Mention <inttypes.h>.
49923         * modules/strtoumax (Include): Likewise.
49924
49925 2007-04-12  Eric Blake  <ebb9@byu.net>
49926
49927         * .cvsignore: New file.
49928         * .gitignore: Likewise.
49929
49930 2007-04-12  Bruno Haible  <bruno@clisp.org>
49931
49932         * modules/iconv-tests (test_iconv_LDADD): Mention -liconv after LDADD,
49933         not before, since $(LDADD) often contains libgnu.a.
49934         * modules/striconv-tests (test_striconv_LDADD): Likewise.
49935         * modules/striconveh-tests (test_striconveh_LDADD): Likewise.
49936         * modules/striconveha-tests (test_striconveha_LDADD): Likewise.
49937         Needed on Cygwin.
49938
49939 2007-04-12  Eric Blake  <ebb9@byu.net>
49940
49941         Work around glibc's failure to flush stdin on fclose.
49942         * lib/closein.c (close_stdin): Flush stdin before closing.
49943
49944         Work around glibc's failure to reset seekable stdin on exit.
49945         * modules/closein: New module.
49946         * lib/closein.c: New file.
49947         * lib/closein.h: Likewise.
49948         * m4/closein.m4: Likewise.
49949         * MODULES.html.sh (File stream based Input/Output): Document it.
49950
49951 2007-04-12  Simon Josefsson  <simon@josefsson.org>
49952
49953         * gnulib-tool: Rename generated 'autobuild' script to
49954         'do-autobuild' in --create-megatestdir output.
49955
49956         * doc/gnulib.texi (Build robot for gnulib): Fix.
49957
49958 2007-04-12  Simon Josefsson  <simon@josefsson.org>
49959
49960         * modules/sysexits (Depends-on): Add absolute-header.
49961
49962 2007-04-12  Eric Blake  <ebb9@byu.net>
49963
49964         No need to preserve errno on success.
49965         * lib/fflush.c (rpl_fflush): Simplify errno tracking.
49966         Reported by Bruno Haible.
49967
49968 2007-04-12  Simon Josefsson  <simon@josefsson.org>
49969
49970         * MODULES.html.sh (Support for maintaining and releasing
49971         projects): Add autobuild.  Suggested by Eric Blake <ebb9@byu.net>.
49972
49973 2007-04-12  Simon Josefsson  <simon@josefsson.org>
49974
49975         * gnulib-tool (func_modules_add_dummy): Respect --avoid=dummy.
49976
49977 2007-04-12  Simon Josefsson  <simon@josefsson.org>
49978
49979         * modules/autobuild: New module.
49980
49981         * m4/autobuild.m4: New file.
49982
49983 2007-04-11  Bruno Haible  <bruno@clisp.org>
49984
49985         * lib/vasnprintf.c (VASNPRINTF): Implement the %F directive using the
49986         %f directive, if NEED_PRINTF_DIRECTIVE_F is defined.
49987         * m4/printf.m4 (gl_PRINTF_DIRECTIVE_F): New macro.
49988         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF_DIRECTIVE_F): New macro.
49989         * m4/fprintf-posix.m4 (gl_FUNC_FPRINTF_POSIX): Invoke
49990         gl_PRINTF_DIRECTIVE_F. Test gl_cv_func_printf_directive_f. Invoke
49991         gl_PREREQ_VASNPRINTF_DIRECTIVE_F for the replacement.
49992         * m4/snprintf-posix.m4 (gl_FUNC_SNPRINTF_POSIX): Invoke
49993         gl_PRINTF_DIRECTIVE_F. Test gl_cv_func_printf_directive_f. Invoke
49994         gl_PREREQ_VASNPRINTF_DIRECTIVE_F for the replacement.
49995         * m4/sprintf-posix.m4 (gl_FUNC_SPRINTF_POSIX): Invoke
49996         gl_PRINTF_DIRECTIVE_F. Test gl_cv_func_printf_directive_f. Invoke
49997         gl_PREREQ_VASNPRINTF_DIRECTIVE_F for the replacement.
49998         * m4/vasnprintf-posix.m4 (gl_FUNC_VASNPRINTF_POSIX): Invoke
49999         gl_PRINTF_DIRECTIVE_F. Test gl_cv_func_printf_directive_f. Invoke
50000         gl_PREREQ_VASNPRINTF_DIRECTIVE_F for the replacement.
50001         * m4/vasprintf-posix.m4 (gl_FUNC_VASPRINTF_POSIX): Invoke
50002         gl_PRINTF_DIRECTIVE_F. Test gl_cv_func_printf_directive_f. Invoke
50003         gl_PREREQ_VASNPRINTF_DIRECTIVE_F for the replacement.
50004         * m4/vfprintf-posix.m4 (gl_FUNC_VFPRINTF_POSIX): Invoke
50005         gl_PRINTF_DIRECTIVE_F. Test gl_cv_func_printf_directive_f. Invoke
50006         gl_PREREQ_VASNPRINTF_DIRECTIVE_F for the replacement.
50007         * m4/vsnprintf-posix.m4 (gl_FUNC_VSNPRINTF_POSIX): Invoke
50008         gl_PRINTF_DIRECTIVE_F. Test gl_cv_func_printf_directive_f. Invoke
50009         gl_PREREQ_VASNPRINTF_DIRECTIVE_F for the replacement.
50010         * m4/vsprintf-posix.m4 (gl_FUNC_VSPRINTF_POSIX): Invoke
50011         gl_PRINTF_DIRECTIVE_F. Test gl_cv_func_printf_directive_f. Invoke
50012         gl_PREREQ_VASNPRINTF_DIRECTIVE_F for the replacement.
50013         Reported by Eric Blake.
50014
50015 2007-04-11  Bruno Haible  <bruno@clisp.org>
50016
50017         * m4/printf.m4 (gl_PRINTF_DIRECTIVE_A): Fix test. It always failed.
50018
50019 2007-04-10  Bruno Haible  <bruno@clisp.org>
50020
50021         * m4/printf.m4 (gl_PRINTF_DIRECTIVE_A): Add a test for correct result
50022         for NaN and Infinity. Needed on FreeBSD 6.1.
50023         * tests/test-vasnprintf-posix.c (test_function): Undo last change
50024         regarding results for "%010a" of Infinity and NaN.
50025         * tests/test-vasprintf-posix.c (test_function): Likewise.
50026         * tests/test-snprintf-posix.h (test_function): Likewise.
50027         * tests/test-sprintf-posix.h (test_function): Likewise.
50028         * tests/test-fprintf-posix.h (test_function): Likewise.
50029         * tests/test-printf-posix.h (test_function): Likewise.
50030         * tests/test-fprintf-posix.out: Likewise.
50031
50032 2007-04-10  Bruno Haible  <bruno@clisp.org>
50033
50034         * modules/locale-tests: New file.
50035         * tests/test-locale.c: New file.
50036
50037         * modules/locale: New file.
50038         * lib/locale_.h: New file.
50039         * m4/locale_h.m4: New file.
50040
50041 2007-04-10  Paul Eggert  <eggert@cs.ucla.edu>
50042             Bruno Haible  <bruno@clisp.org>
50043
50044         * m4/signbit.m4 (gl_SIGNBIT): When the sign bit position could not
50045         be determined, test for availability of the copysignf, copysign,
50046         copysignl functions.
50047         * lib/signbitf.c (gl_signbitf): Use copysignf if available in libc.
50048         * lib/signbitd.c (gl_signbitd): Use copysign if available in libc.
50049         * lib/signbitl.c (gl_signbitl): Use copysignl if available in libc.
50050
50051 2007-04-09  Eric Blake  <ebb9@byu.net>
50052
50053         * lib/stdio_.h [REPLACE_FFLUSH]: Declare rpl_fflush.
50054         * modules/stdio (Makefile.am): Support fflush.
50055         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Likewise.
50056         * modules/fflush: New file.
50057         * lib/fflush.c: Likewise.
50058         * m4/fflush.m4: Likewise.
50059         * modules/fflush-tests: New test.
50060         * tests/test-fflush.c: Likewise.
50061         * MODULES.html.sh (Input/output <stdio.h>): Document new module.
50062
50063 2007-04-06  Bruno Haible  <bruno@clisp.org>
50064
50065         * lib/vasnprintf.c: Include <math.h>. Don't include float+.h.
50066         (VASNPRINTF): Use signbit for faster determination whether to print a
50067         minus sign.
50068         * modules/vasnprintf (Files): Remove lib/float+.h.
50069         * modules/fprintf-posix (Depends-on): Add signbit.
50070         * modules/snprintf-posix (Depends-on): Likewise.
50071         * modules/sprintf-posix (Depends-on): Likewise.
50072         * modules/vasnprintf-posix (Depends-on): Likewise.
50073         * modules/vasprintf-posix (Depends-on): Likewise.
50074         * modules/vfprintf-posix (Depends-on): Likewise.
50075         * modules/vsnprintf-posix (Depends-on): Likewise.
50076         * modules/vsprintf-posix (Depends-on): Likewise.
50077
50078 2007-04-06  Bruno Haible  <bruno@clisp.org>
50079
50080         * tests/test-frexp.c (main): Test also the sign bit of zero results.
50081         * tests/test-frexpl.c (main): Likewise.
50082         * tests/test-ldexpl.c (main): Likewise.
50083         * modules/frexp-tests (Depends-on): Add signbit.
50084         * modules/frexpl-tests (Depdends-on): Likewise.
50085         * modules/ldexpl-tests (Depdends-on): Likewise.
50086
50087 2007-04-06  Bruno Haible  <bruno@clisp.org>
50088
50089         * modules/signbit-tests: New file.
50090         * tests/test-signbit.c: New file.
50091
50092         * modules/signbit: New file.
50093         * lib/signbitf.c: New file.
50094         * lib/signbitd.c: New file.
50095         * lib/signbitl.c: New file.
50096         * m4/signbit.m4: New file.
50097         * lib/math_.h (gl_signbitf, gl_signbitd, gl_signbitl): New declarations.
50098         (signbit): New macro.
50099         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize GNULIB_SIGNBIT and
50100         REPLACE_SIGNBIT.
50101         * modules/math (Makefile.am) Substibute also GNULIB_SIGNBIT and
50102         REPLACE_FREXPL into math.h.
50103
50104 2007-04-06  Bruno Haible  <bruno@clisp.org>
50105
50106         * modules/isnanf-nolibm-tests: New file.
50107         * tests/test-isnanf.c: New file.
50108
50109         * modules/isnanf-nolibm: New file.
50110         * lib/isnanf.h: New file.
50111         * lib/isnanf.c: New file.
50112         * lib/isnan.c: Consider the USE_FLOAT macro.
50113         * m4/isnanf.m4: New file.
50114
50115 2007-04-06  Bruno Haible  <bruno@clisp.org>
50116
50117         * modules/gettext-h (configure.ac): AC_SUBST LIBINTL and LTLIBINTL.
50118         (Link): New section.
50119
50120         * modules/canonicalize-lgpl-tests (Makefile.am): Undo last change.
50121
50122 2007-04-06  Bruno Haible  <bruno@clisp.org>
50123
50124         Assume the 'long double' type.
50125         * m4/longdouble.m4: Remove file.
50126         * config/srclist.txt: Don't mention longdouble.m4.
50127         * lib/allocsa.h: Assume HAVE_LONG_DOUBLE to be true.
50128         * lib/float+.h: Likewise.
50129         * lib/frexp.c: Likewise.
50130         * lib/printf-args.h: Likewise.
50131         * lib/printf-args.c: Likewise.
50132         * lib/printf-frexp.c: Likewise.
50133         * lib/printf-parse.c: Likewise.
50134         * lib/vasnprintf.c: Likewise.
50135         * m4/allocsa.m4: Remove gt_TYPE_LONGDOUBLE invocation.
50136         * m4/intl.m4: Likewise.
50137         * m4/isnanl.m4: Likewise.
50138         * m4/printf.m4: Likewise.
50139         * m4/printf-frexpl.m4: Likewise.
50140         * m4/vasnprintf.m4: Likewise.
50141         * modules/allocsa (Files): Remove m4/longdouble.m4.
50142         * modules/gettext (Files): Likewise.
50143         * modules/relocatable-prog-wrapper (Files): Likewise.
50144         * modules/vasnprintf (Files): Likewise.
50145         * modules/isnanl (Files): Likewise.
50146         (Include): Simplify.
50147         * modules/isnanl-nolibm (Files): Remove m4/longdouble.m4.
50148         (Include): Simplify.
50149         * modules/printf-frexpl (Files): Remove m4/longdouble.m4.
50150         (Include): Simplify.
50151         * modules/snprintf-posix-tests (Files): Remove m4/longdouble.m4.
50152         (configure.ac): Remove gt_TYPE_LONGDOUBLE invocation.
50153         * modules/sprintf-posix-tests (Files): Remove m4/longdouble.m4.
50154         (configure.ac): Remove gt_TYPE_LONGDOUBLE invocation.
50155         * modules/vasnprintf-posix-tests (Files): Remove m4/longdouble.m4.
50156         (configure.ac): Remove gt_TYPE_LONGDOUBLE invocation.
50157         * modules/vasprintf-posix-tests (Files): Remove m4/longdouble.m4.
50158         (configure.ac): Remove gt_TYPE_LONGDOUBLE invocation.
50159         * modules/vsnprintf-posix-tests (Files): Remove m4/longdouble.m4.
50160         (configure.ac): Remove gt_TYPE_LONGDOUBLE invocation.
50161         * modules/vsprintf-posix-tests (Files): Remove m4/longdouble.m4.
50162         (configure.ac): Remove gt_TYPE_LONGDOUBLE invocation.
50163         * tests/test-isnanl-nolibm.c: Assume HAVE_LONG_DOUBLE to be true.
50164         * tests/test-isnanl.c: Likewise.
50165         * tests/test-snprintf-posix.h: Likewise.
50166         * tests/test-sprintf-posix.h: Likewise.
50167         * tests/test-vasnprintf-posix.c: Likewise.
50168         * tests/test-vasnprintf-posix2.c: Likewise.
50169         * tests/test-vasprintf-posix.c: Likewise.
50170
50171 2007-04-06  Bruno Haible  <bruno@clisp.org>
50172
50173         Fix problem with Compaq (ex-DEC) Desktop C compiler on Tru64.
50174         * lib/math_.h [__DECC]: Include the overridden include file through
50175         #include_next, outside the double-inclusion guard.
50176         * lib/stdio_.h [__DECC]: Likewise.
50177         * lib/stdlib_.h [__DECC]: Likewise.
50178         * lib/string_.h [__DECC]: Likewise.
50179         * lib/time_.h [__DECC]: Likewise.
50180         * lib/wchar_.h [__DECC]: Likewise.
50181         * lib/wctype_.h [__DECC]: Likewise.
50182         * lib/inttypes_.h [__DECC]: Likewise.
50183         Reported by Albert Chin <china@thewrittenword.com> in
50184         <http://lists.gnu.org/archive/html/bug-gnulib/2007-04/msg00088.html>.
50185
50186 2007-04-04  Eric Blake  <ebb9@byu.net>
50187
50188         * m4/stdint.m4 (gl_STDINT_H): Detect WINT_MAX bug in cygwin
50189         1.5.x.
50190
50191 2007-04-04  Bruno Haible  <bruno@clisp.org>
50192
50193         * m4/printf.m4 (gl_PRINTF_DIRECTIVE_A): Add a test for correct
50194         rounding. Don't assume that FreeBSD 6 and NetBSD 4 pass this test.
50195
50196 2007-04-04  Bruno Haible  <bruno@clisp.org>
50197
50198         * tests/test-vasnprintf-posix.c (test_function): Allow two possible
50199         results for "%010a" of Infinity and NaN.
50200         * tests/test-vasprintf-posix.c (test_function): Likewise.
50201         * tests/test-snprintf-posix.h (test_function): Likewise.
50202         * tests/test-sprintf-posix.h (test_function): Likewise.
50203         * tests/test-fprintf-posix.h (test_function): Remove these tests.
50204         * tests/test-printf-posix.h (test_function): Likewise.
50205         * tests/test-fprintf-posix.out: Update.
50206         Needed for FreeBSD 6.1.
50207
50208 2007-04-04  Bruno Haible  <bruno@clisp.org>
50209
50210         * DEPENDENCIES: Remove mentions of tar and gzip, since they are not
50211         directly used by the gnulib modules nor by gnulib-tool.
50212
50213 2007-04-04  Paul Eggert  <eggert@cs.ucla.edu>
50214
50215         * DEPENDENCIES: Give overall description of version dependency
50216         desirability.  Use more-typical names for apps.
50217         Add shell, coreutils, diffutils, grep, tar, gzip.
50218
50219 2007-04-04  Simon Josefsson  <simon@josefsson.org>
50220
50221         * MODULES.html.sh: Rename crypto modules.  Remove iconvme.
50222
50223 2007-04-04  Karl Berry  <karl@gnu.org>
50224
50225         * MODULES.html.sh (func_module): missing '.
50226
50227 2007-04-03  Bruno Haible  <bruno@clisp.org>
50228
50229         * modules/argmatch-tests (Makefile.am): New variable
50230         test_argmatch_LDADD.
50231         * modules/argp-tests (Makefile.am): New variable test_argp_LDADD.
50232         * modules/array-list-tests (Makefile.am): New variable
50233         test_array_list_LDADD.
50234         * modules/array-oset-tests (Makefile.am): New variable
50235         test_array_oset_LDADD.
50236         * modules/avltree-list-tests (Makefile.am): New variable
50237         test_avltree_list_LDADD.
50238         * modules/avltree-oset-tests (Makefile.am): New variable
50239         test_avltree_oset_LDADD.
50240         * modules/avltreehash-list-tests (Makefile.am): New variable
50241         test_avltreehash_list_LDADD.
50242         * modules/canonicalize-lgpl-tests (Makefile.am): New variable
50243         test_canonicalize_lgpl_LDADD.
50244         * modules/carray-list-tests (Makefile.am): New variable
50245         test_carray_list_LDADD.
50246         * modules/dirname-tests (Makefile.am): New variable
50247         test_dirname_LDADD.
50248         * modules/linked-list-tests (Makefile.am): New variable
50249         test_linked_list_LDADD.
50250         * modules/linkedhash-list-tests (Makefile.am): New variable
50251         test_linkedhash_list_LDADD.
50252         * modules/rbtree-list-tests (Makefile.am): New variable
50253         test_rbtree_list_LDADD.
50254         * modules/rbtree-oset-tests (Makefile.am): New variable
50255         test_rbtree_oset_LDADD.
50256         * modules/rbtreehash-list-tests (Makefile.am): New variable
50257         test_rbtreehash_list_LDADD.
50258         * modules/xvasprintf-tests (Makefile.am): New variable
50259         test_xvasprintf_LDADD.
50260         Reported by Eric Blake.
50261
50262 2007-04-03  Eric Blake  <ebb9@byu.net>
50263
50264         * DEPENDENCIES: Weaken m4 requirements.
50265
50266 2007-04-03  Bruno Haible  <bruno@clisp.org>
50267
50268         * modules/frexp-tests (configure.ac): Remove AC_SUBST.
50269         * modules/isnanl-tests (configure.ac): Likewise.
50270
50271 2007-04-03  Ben Pfaff  <blp@gnu.org>
50272
50273         * modules/iconv_open: Add $(srcdir)/ to source directory
50274         references in Makefile fragments that call gperf, to fix VPATH
50275         builds.
50276
50277 2007-04-03  Bruno Haible  <bruno@clisp.org>
50278
50279         * modules/ldexpl (Depends-on): Add isnanl, remove isnanl-nolibm.
50280         * lib/ldexpl.c: Undo last change.
50281
50282 2007-04-03  Bruno Haible  <bruno@clisp.org>
50283
50284         * modules/printf-frexpl (Depends-on): Undo last change.
50285         (Files): Add m4/ldexpl.m4.
50286
50287 2007-04-03  Bruno Haible  <bruno@clisp.org>
50288
50289         * m4/isnanl.m4 (gl_FUNC_ISNANL): Substitute ISNANL_LIBM.
50290         * modules/isnanl (Link): New section.
50291
50292         * m4/frexp.m4 (gl_FUNC_FREXP): Substitute FREXP_LIBM.
50293         * modules/frexp (Link): New section.
50294
50295         * m4/frexpl.m4 (gl_FUNC_FREXPL): Substitute FREXPL_LIBM.
50296         * modules/frexpl (Link): New section.
50297
50298         * m4/ldexpl.m4 (gl_FUNC_LDEXPL): Substitute LDEXPL_LIBM.
50299         * modules/ldexpl (Link): New section.
50300
50301 2007-04-03  Bruno Haible  <bruno@clisp.org>
50302
50303         * modules/TEMPLATE-EXTENDED: New file.
50304         * gnulib-tool (func_all_modules, func_verify_module): Exclude it.
50305
50306 2007-04-03  Bruno Haible  <bruno@clisp.org>
50307
50308         * DEPENDENCIES: New file.
50309         Suggested by Simon Josefsson.
50310
50311 2007-04-03  Bruno Haible  <bruno@clisp.org>
50312
50313         * doc/gnulib.texi: Escape @.
50314
50315 2007-04-03  James Youngman  <jay@gnu.org>
50316         and Paul Eggert  <eggert@cs.ucla.edu>
50317
50318         * lib/stat-time.h (get_stat_birthtime): Check for zero-valued
50319         birthtime on all systems that have birthtime, not just those which
50320         use st_birthtimensec rather than st_birthtim.  Putting zero in
50321         st_birthtim.tv_sec is how (for example) FreeBSD/x86 6.1 indicates
50322         that the birth time is not available for files on an NFS mount.
50323
50324 2007-04-03  Simon Josefsson  <simon@josefsson.org>
50325
50326         * modules/memxor: Move back from crypto/, suggested by Bruno.
50327         * modules/crypto/hmac-sha1: Fix memxor dependency.
50328
50329         * modules/crypto/gc: Moved from ../.
50330
50331 2007-04-02  Eric Blake  <ebb9@byu.net>
50332
50333         * lib/ldexpl.c (includes): Avoid libm.
50334
50335         * modules/printf-frexpl (Depends-on): Depend on ldexpl.
50336
50337 2007-04-02  Bruno Haible  <bruno@clisp.org>
50338
50339         * lib/sysexit_.h (EX_OK): Disable the EX_OK definition from <unistd.h>
50340         on IRIX.
50341
50342 2007-04-02  Bruno Haible  <bruno@clisp.org>
50343
50344         * m4/intdiv0.m4 (gt_INTDIV0): Avoid performing the test for real on
50345         x86 or x86_64 platforms running MacOS X.
50346         Reported by Ryan Schmidt <@ryandesign.com>.
50347
50348 2007-04-02  Bruno Haible  <bruno@clisp.org>
50349
50350         * m4/intdiv0.m4 (gt_INTDIV0): When cross-compiling, treat x86_64 like
50351         i386.
50352
50353 2007-04-01  Simon Josefsson  <simon@josefsson.org>
50354
50355         * modules/crypto/arcfour: Moved from ../.
50356         * modules/crypto/arcfour-tests: Moved from ../.
50357         * modules/crypto/arctwo: Moved from ../.
50358         * modules/crypto/arctwo-tests: Moved from ../.
50359         * modules/crypto/des: Moved from ../.
50360         * modules/crypto/des-tests: Moved from ../.
50361         * modules/crypto/gc-arcfour: Moved from ../.
50362         * modules/crypto/gc-arcfour-tests: Moved from ../.
50363         * modules/crypto/gc-arctwo: Moved from ../.
50364         * modules/crypto/gc-arctwo-tests: Moved from ../.
50365         * modules/crypto/gc-des: Moved from ../.
50366         * modules/crypto/gc-des-tests: Moved from ../.
50367         * modules/crypto/gc-hmac-md5: Moved from ../.
50368         * modules/crypto/gc-hmac-md5-tests: Moved from ../.
50369         * modules/crypto/gc-hmac-sha1: Moved from ../.
50370         * modules/crypto/gc-hmac-sha1-tests: Moved from ../.
50371         * modules/crypto/gc-md2: Moved from ../.
50372         * modules/crypto/gc-md2-tests: Moved from ../.
50373         * modules/crypto/gc-md4: Moved from ../.
50374         * modules/crypto/gc-md4-tests: Moved from ../.
50375         * modules/crypto/gc-md5: Moved from ../.
50376         * modules/crypto/gc-md5-tests: Moved from ../.
50377         * modules/crypto/gc-pbkdf2-sha1: Moved from ../.
50378         * modules/crypto/gc-pbkdf2-sha1-tests: Moved from ../.
50379         * modules/crypto/gc-random: Moved from ../.
50380         * modules/crypto/gc-rijndael: Moved from ../.
50381         * modules/crypto/gc-rijndael-tests: Moved from ../.
50382         * modules/crypto/gc-sha1: Moved from ../.
50383         * modules/crypto/gc-sha1-tests: Moved from ../.
50384         * modules/crypto/gc-tests: Moved from ../.
50385         * modules/crypto/hmac-md5: Moved from ../.
50386         * modules/crypto/hmac-md5-tests: Moved from ../.
50387         * modules/crypto/hmac-sha1: Moved from ../.
50388         * modules/crypto/hmac-sha1-tests: Moved from ../.
50389         * modules/crypto/md2: Moved from ../.
50390         * modules/crypto/md2-tests: Moved from ../.
50391         * modules/crypto/md4: Moved from ../.
50392         * modules/crypto/md4-tests: Moved from ../.
50393         * modules/crypto/md5: Moved from ../.
50394         * modules/crypto/md5-tests: Moved from ../.
50395         * modules/crypto/memxor: Moved from ../.
50396         * modules/crypto/rijndael: Moved from ../.
50397         * modules/crypto/rijndael-tests: Moved from ../.
50398         * modules/crypto/sha1: Moved from ../.
50399
50400 2007-03-30  James Youngman  <jay@gnu.org>
50401
50402         * tests/test-stat-time.c (prepare_test): use chmod() rather than
50403         rename() to change the ctime of a file (because ctime is unaffected
50404         by rename on jfs2 on AIX 5.1).
50405         (main): Start by doing cleanup, in case a previous run failed leaving
50406         test files behind.
50407
50408 2007-03-31  Bruno Haible  <bruno@clisp.org>
50409
50410         Support old proprietary implementations of iconv.
50411         * modules/iconv_open: New file.
50412         * lib/iconv_.h: New file.
50413         * m4/iconv_h.m4: New file.
50414         * lib/iconv_open.c: New file.
50415         * lib/iconv_open-aix.gperf: New file.
50416         * lib/iconv_open-hpux.gperf: New file.
50417         * lib/iconv_open-irix.gperf: New file.
50418         * lib/iconv_open-osf.gperf: New file.
50419         * m4/iconv_open.m4: New file.
50420         * modules/linebreak (Depends-on): Add iconv_open.
50421         * modules/striconv (Depends-on): Likewise.
50422         * modules/striconveh (Depends-on): Likewise.
50423         * modules/unicodeio (Depends-on): Likewise.
50424         * lib/striconveh.h (mem_cd_iconveh, str_cd_iconveh): Allow cd to be
50425         (iconv_t)(-1).
50426         * lib/striconveh.c (mem_cd_iconveh_internal): Use an indirect
50427         conversion if cd is (iconv_t)(-1).
50428         (mem_iconveh, str_iconveh): Don't fail just because a direct conversion
50429         is not possible.
50430
50431 2007-03-31  Bruno Haible  <bruno@clisp.org>
50432
50433         * tests/test-striconveha.c (main): Don't expect "autodetect_jp" to
50434         work on Solaris either. Protect also second use of "autodetect_jp".
50435
50436 2007-03-31  Bruno Haible  <bruno@clisp.org>
50437
50438         * m4/frexpl.m4 (gl_FUNC_FREXPL): Set HAVE_DECL_FREXPL to 0 when
50439         the function is not present.
50440
50441 2007-03-31  Bruno Haible  <bruno@clisp.org>
50442
50443         * m4/ldexpl.m4 (gl_FUNC_LDEXPL): Set HAVE_DECL_LDEXPL to 0 when
50444         the function is not present.
50445
50446 2007-03-31  Bruno Haible  <bruno@clisp.org>
50447
50448         * m4/iconv.m4 (AM_ICONV_LINK): Fix 2007-03-29 patch. Test also against
50449         a bug in HP-UX iconv_open().
50450
50451 2007-03-31  Bruno Haible  <bruno@clisp.org>
50452
50453         * MODULES.html.sh (func_module): Don't show gnulib-common.m4.
50454         (Mathematics <math.h>): New section, add fpieee.
50455         (Input/output <stdio.h>): Add fseterr.
50456         (Mathematics <math.h>): New section, add printf-frexp.
50457         (Container data structures): Add sublist.
50458         (Core language properties): Add fpucw, inline.
50459         (Functions for greatest-width integer types <inttypes.h>): Add
50460         imaxabs, imaxdiv, inttypes.
50461         (Mathematics <math.h>): Add frexp, frexpl, isnan-nolibm, isnanl,
50462         isnanl-nolibm, ldexp.
50463         (Mathematics <math.h>): New section, add printf-frexpl.
50464         (Support for systems lacking POSIX:2001): Add fprintf-posix,
50465         printf-posix, snprintf-posix, sprintf-posix, string, search, socklen,
50466         sys_select, sys_socket, vasnprintf-posix, vasprintf-posix,
50467         vfprintf-posix, vprintf-posix, vsnprintf-posix, vsprintf-posix.
50468         (Unicode string functions): Add unistr/u*-mbtoucr.
50469         (Java): Add javacomp-script, javaexec-script.
50470         (C#): Add csharpcomp-script, csharpexec-script.
50471         (Support for building libraries and executables): Add havelib,
50472         relocatable-*.
50473         (Support for maintaining and releasing projects): Renamed from
50474         'Support for maintaining and release projects'. Add announce-gen.
50475
50476 2007-03-31  Bruno Haible  <bruno@clisp.org>
50477
50478         * README: Talk primarily about git.
50479         (git and CVS): Renamed from CVS.
50480         * doc/gnulib.texi (Introduction, Build robot for gnulib): Mention that
50481         gnulib is available through git.
50482         * doc/gnulib-tool.texi (CVS Issues): Mention git and svn as well.
50483
50484 2007-03-30  Bruno Haible  <bruno@clisp.org>
50485
50486         * lib/alloca_.h: Change prefix of double-inclusion guard macro to _GL_.
50487         * lib/poll_.h: Likewise.
50488         * lib/stat_.h: Likewise.
50489         * lib/sys_time_.h: Likewise.
50490         * lib/sysexit_.h: Likewise.
50491         * lib/glob_.h: Prefix double-inclusion guard macro with _GL_.
50492         * lib/stdbool_.h: Likewise.
50493         * lib/byteswap_.h: Add double-inclusion guard.
50494
50495 2007-03-30  Sergey Poznyakoff  <gray@mirddin.farlep.net>
50496
50497         * lib/sysexit_.h: Prefix double-inclusion guard macro with _GNULIB.
50498
50499 2007-03-30  Karl Berry  <karl@gnu.org>
50500
50501         * config/srclist-update: double space after USA in the license
50502         substitution, since that's how it's usually (?) written.
50503
50504 2007-03-30  Paul Eggert  <eggert@cs.ucla.edu>
50505
50506         * lib/write-any-file.c (can_write_any_file): Fix else-else bug
50507         reported by Bruno Haible.
50508
50509 2007-03-29  Bruno Haible  <bruno@clisp.org>
50510
50511         * m4/iconv.m4 (AM_ICONV_LINK): Require AC_CANONICAL_HOST. Test against
50512         a bug in AIX iconv().
50513
50514 2007-03-29  Bruno Haible  <bruno@clisp.org>
50515
50516         * modules/ldexpl-tests: New file.
50517         * tests/test-ldexpl.c: New file.
50518
50519 2007-03-29  Bruno Haible  <bruno@clisp.org>
50520
50521         * lib/ldexpl.c: Include fpucw.h.
50522         (ldexpl): Use BEGIN/END_LONG_DOUBLE_ROUNDING. Skip the last unneeded
50523         multiplication.
50524         * modules/ldexpl (Depends-on): Add fpucw.
50525
50526 2007-03-29  Bruno Haible  <bruno@clisp.org>
50527
50528         * modules/ldexpl: New file.
50529         * m4/ldexpl.m4: New file.
50530         * lib/math_.h (ldexpl): Define to a replacement if REPLACE_LDEXPL is
50531         set.
50532         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize also GNULIB_LDEXPL,
50533         REPLACE_LDEXPL.
50534         * modules/math (Makefile.am): Substitute also GNULIB_LDEXPL,
50535         REPLACE_LDEXPL.
50536         * m4/printf-frexpl.m4 (gl_FUNC_PRINTF_FREXPL): Invoke
50537         gl_FUNC_LDEXPL_WORKS.
50538         * m4/mathl.m4 (gl_FUNC_LONG_DOUBLE_MATH): Remove test for ldexpl.
50539         * modules/mathl (Files): Remove lib/ldexpl.c.
50540         (Depends-on): Add ldexpl.
50541
50542 2007-03-29  Bruno Haible  <bruno@clisp.org>
50543
50544         * m4/frexpl.m4 (gl_FUNC_FREXPL_WORKS): Declare frexpl.
50545
50546 2007-03-29  Bruno Haible  <bruno@clisp.org>
50547
50548         * tests/test-striconveh.c (main): Don't assume that a direct conversion
50549         between ISO-8859-1 and ISO-8859-2 is possible. Needed for OSF/1, IRIX
50550         and possibly also HP-UX.
50551         * tests/test-striconveha.c (main): Don't expect "autodetect_jp" to
50552         work on AIX, IRIX, HP-UX, OSF/1.
50553         * tests/uniconv/test-u16-conv-from-enc.c (main): Likewise.
50554         * tests/uniconv/test-u16-strconv-from-enc.c (main): Likewise.
50555         * tests/uniconv/test-u32-conv-from-enc.c (main): Likewise.
50556         * tests/uniconv/test-u32-strconv-from-enc.c (main): Likewise.
50557         * tests/uniconv/test-u8-conv-from-enc.c (main): Likewise.
50558         * tests/uniconv/test-u8-strconv-from-enc.c (main): Likewise.
50559
50560 2007-03-29  Bruno Haible  <bruno@clisp.org>
50561
50562         * tests/test-stat-time.c: Include <fcntl.h>, not <sys/fcntl.h>.
50563
50564 2007-03-29  Paul Eggert  <eggert@cs.ucla.edu>
50565
50566         * lib/acl-internal.h (acl_get_fd, acl_set_fd): undef before defining,
50567         to work around a problem on OSF/1 5.1 reported by Bruno Haible.
50568
50569 2007-03-29  Eric Blake  <ebb9@byu.net>
50570
50571         * lib/acl-internal.h: Remove redundant include.
50572         (ACL_NOT_WELL_SUPPORTED): Also filter on EBUSY, returned by
50573         Cygwin when a file is locked.
50574
50575 2007-03-29  Bruno Haible  <bruno@clisp.org>
50576
50577         * lib/vasprintf.c [IN_LIBASPRINTF]: Include different specification
50578         file.
50579         * lib/asprintf.c [IN_LIBASPRINTF]: Likewise.
50580
50581 2007-03-29  Paul Eggert  <eggert@cs.ucla.edu>
50582
50583         * m4/getcwd-path-max.m4 (gl_FUNC_GETCWD_PATH_MAX): Don't bother to
50584         try to remove a parent directory if the child couldn't be removed
50585         (except for the first rmdir, which could fail because the child
50586         doesn't exist).  Problem reported by Jeff Blaine in
50587         <http://lists.gnu.org/archive/html/bug-tar/2007-03/msg00014.html>.
50588
50589 2007-03-28  Bruno Haible  <bruno@clisp.org>
50590
50591         * lib/striconveh.c (utf8conv_carefully): New function.
50592         (mem_cd_iconveh_internal): Invoke it.
50593
50594 2007-03-28  Bruno Haible  <bruno@clisp.org>
50595
50596         * lib/striconveh.c (mem_cd_iconveh_internal): Use u8_mbtoucr instead
50597         of u8_mbtouc in order to distinguish invalid and incomplete UTF-8
50598         input.
50599         * modules/striconveh (Depends-on): Add unistr/u8-mbtoucr. Replace
50600         utf8-ucs4 with unistr/u8-mbtouc. Replace ucs4-utf8 with
50601         unistr/u8-uctomb.
50602
50603 2007-03-28  Bruno Haible  <bruno@clisp.org>
50604
50605         * modules/unistr/u8-mbtoucr: New file.
50606         * lib/unistr/u8-mbtoucr.c: New file.
50607         * modules/unistr/u16-mbtoucr: New file.
50608         * lib/unistr/u16-mbtoucr.c: New file.
50609         * modules/unistr/u16-mbtoucr: New file.
50610         * lib/unistr/u16-mbtoucr.c: New file.
50611         * lib/unistr.h (u8_mbtoucr, u16_mbtoucr, u32_mbtoucr): New declarations.
50612
50613 2007-03-27  Simon Josefsson  <simon@josefsson.org>
50614             Bruno Haible  <bruno@clisp.org>
50615
50616         * m4/vasprintf.m4: Convert AC_SUBST into shell variable for
50617         REPLACE_VASPRINTF.  Set HAVE_VASPRINTF.  Add
50618         AC_REQUIRE([gl_STDIO_H_DEFAULTS]).
50619
50620         * m4/stdio_h.m4: Add stubs for vasprintf too.
50621
50622         * modules/stdio: Support vasprintf in sed command.
50623
50624         * modules/vasprintf: Depend on stdio for prototypes.  Remove
50625         vasprintf.h.  Add stdio module indicator.
50626
50627         * lib/stdio_.h: Declare asprintf and vasprintf, based on
50628         vasprintf.h.
50629
50630         * lib/vasprintf.h: File removed.
50631
50632         * lib/asprintf.c: Use stdio.h instead of vasprintf.h.
50633         * lib/vasprintf.c: Ditto.
50634         * lib/xvasprintf.c: Ditto.
50635         * tests/test-vasprintf-posix.c: Ditto.
50636         * tests/test-vasprintf.c: Ditto.
50637
50638 2007-03-27  Bruno Haible  <bruno@clisp.org>
50639
50640         Make vasnprintf multithread-safe.
50641         * lib/vasnprintf.c (decimal_point_char): New function.
50642         (VASNPRINTF): Use it.
50643         Suggested by Simon Josefsson.
50644
50645 2007-03-27  Eric Blake  <ebb9@byu.net>
50646
50647         Support sub-second birthtime on cygwin.
50648         * m4/stat-time.m4 (gl_STAT_BIRTHTIME): Also check for st_birthtim.
50649         * lib/stat-time.h (STAT_TIMESPEC): Adjust comments.
50650         (get_stat_birthtime): Also work with st_birthtim.
50651
50652 2007-03-27  Paul Eggert  <eggert@cs.ucla.edu>
50653
50654         * lib/stat-time.h (USE_BIRTHTIME): Remove.
50655         (get_stat_atime_ns, get_stat_ctime_ns, get_stat_mtime_ns):
50656         (get_stat_birthtime_ns): Do not try to use "spare" fields.
50657         (get_stat_birthtime_ns): Simplify compile-time tests.
50658         (get_stat_birthtime): Change the API to look like
50659         get_stat_mtime etc., except return a negative tv_nsec on error.
50660         * m4/stat-time.m4 (gl_STAT_TIME, gl_STAT_BIRTHTIME):
50661         Don't check for "spare" fields.
50662         (gl_STAT_BIRTHTIME): Don't check for struct stat.st_birthtimespec.tv_sec
50663         or for struct stat.st_birthtime, as these tests aren't used.
50664         * tests/test-stat-time.c (test_birthtime): Adjust to new API.
50665
50666 2007-03-27  Bruno Haible  <bruno@clisp.org>
50667
50668         * lib/stat-time.h: Include <sys/stat.h>.
50669
50670 2007-03-27  James Youngman  <jay@gnu.org>
50671
50672         * lib/stat-time.h (get_stat_birthtime): New function for
50673           retrieving st_birthtime as provided by UFS2 (hence *BSD).
50674         * m4/stat-time.m4 (gl_STAT_BIRTHTIME): Probe for st_birthtime
50675           and its variants.
50676         * modules/stat-time (configure.ac): call gl_STAT_BIRTHTIME.
50677         * modules/stat-time-test: New file.
50678         * tests/test-stat-time.c: New test, devised by Bruno Haible.
50679
50680 2007-03-26  Bruno Haible  <bruno@clisp.org>
50681
50682         Better support of signalling NaNs.
50683         * lib/atanl.c: Include isnanl.h.
50684         (atanl): Perform test for NaN at the beginning of the function and
50685         through a call to isnanl.
50686         * lib/cosl.c: Include isnanl.h.
50687         (cosl): Perform test for NaN at the beginning of the function and
50688         through a call to isnanl.
50689         * lib/ldexpl.c: Include isnanl.h.
50690         (ldexpl): Perform test for NaN through a call to isnanl.
50691         * lib/logl.c: Include isnanl.h.
50692         (logl): Perform test for NaN at the beginning of the function and
50693         through a call to isnanl.
50694         * lib/sinl.c: Include isnanl.h.
50695         (sinl): Perform test for NaN at the beginning of the function and
50696         through a call to isnanl.
50697         * lib/sqrtl.c: Include isnanl.h.
50698         (sqrtl): Perform test for NaN at the beginning of the function and
50699         through a call to isnanl.
50700         * lib/tanl.c: Include isnanl.h.
50701         (tanl): Perform test for NaN at the beginning of the function and
50702         through a call to isnanl.
50703         * lib/trigl.c (ieee754_rem_pio2l): Remove test for NaN.
50704         * modules/mathl (Depends-on): Add isnanl.
50705
50706 2007-03-26  Eric Blake  <ebb9@byu.net>
50707
50708         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF_DIRECTIVE_A): Fix
50709         regression in logic sense of previous patch.
50710
50711 2007-03-26  Bruno Haible  <bruno@clisp.org>
50712
50713         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF_DIRECTIVE_A): Don't use
50714         unportable shell command "if ! ...".
50715         Reported by Ralf Wildenhues.
50716
50717 2007-03-25  Bruno Haible  <bruno@clisp.org>
50718
50719         * lib/sysexit_,h: If HAVE_SYSEXITS_H is defined, include the original
50720         <sysexits.h> file, and only add EX_CONFIG.
50721         * m4/sysexits.m4 (gl_SYSEXITS): If <sysexits.h> exists, check its
50722         absolute file name and whether it is sufficient. Substitute also
50723         HAVE_SYSEXITS_H and ABSOLUTE_SYSEXITS_H.
50724         * modules/sysexits (Makefile.am): Substitute HAVE_SYSEXITS_H and
50725         ABSOLUTE_SYSEXITS_H into sysexits.h.
50726
50727 2007-03-25  Bruno Haible  <bruno@clisp.org>
50728
50729         * lib/getaddrinfo.c (getaddrinfo): Don't access hints->ai_flags when
50730         hints is NULL.
50731
50732 2007-03-25  Bruno Haible  <bruno@clisp.org>
50733
50734         * lib/uniconv/u8-conv-from-enc.c (u8_conv_from_encoding): Add a cast.
50735         * lib/uniconv/u8-strconv-to-enc.c (u8_strconv_to_encoding): Likewise.
50736
50737 2007-03-25  Bruno Haible  <bruno@clisp.org>
50738
50739         * lib/vasnprintf.c: Include langinfo.h.
50740         (VASNPRINTF): Prefer nl_langinfo over localeconv, since it's more
50741         multithread-safe.
50742         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF_DIRECTIVE_A): New macro.
50743         * m4/fprintf-posix.m4 (gl_FUNC_FPRINTF_POSIX): Invoke it.
50744         * m4/snprintf-posix.m4 (gl_FUNC_SNPRINTF_POSIX): Likewise.
50745         * m4/sprintf-posix.m4 (gl_FUNC_SPRINTF_POSIX): Likewise.
50746         * m4/vasnprintf-posix.m4 (gl_FUNC_VASNPRINTF_POSIX): Likewise.
50747         * m4/vasprintf-posix.m4 (gl_FUNC_VASPRINTF_POSIX): Likewise.
50748         * m4/vfprintf-posix.m4 (gl_FUNC_VFPRINTF_POSIX): Likewise.
50749         * m4/vsnprintf-posix.m4 (gl_FUNC_VSNPRINTF_POSIX: Likewise.
50750         * m4/vsprintf-posix.m4 (gl_FUNC_VSPRINTF_POSIX): Likewise.
50751         Reported by Simon Josefsson.
50752
50753 2007-03-25  Bruno Haible  <bruno@clisp.org>
50754
50755         * lib/printf-parse.c [!IN_LIBINTL]: Include <stdint.h>, for intmax_t.
50756         (PRINTF_PARSE): Make the support for size specifier 'j' unconditional.
50757         * modules/vasnprintf (Depends-on): Add stdint.
50758
50759 2007-03-25  Bruno Haible  <bruno@clisp.org>
50760
50761         * modules/fpieee: New file.
50762         * m4/fpieee.m4: New file.
50763         * modules/isnan-nolibm (Depends-on): Add fpieee.
50764         * modules/isnanl-nolibm (Depends-on): Add fpieee.
50765         * modules/isnanl (Depends-on): Add fpieee.
50766
50767 2007-03-25  Bruno Haible  <bruno@clisp.org>
50768
50769         * m4/frexpl.m4 (gl_FUNC_FREXPL_WORKS): Test also finite numbers.
50770
50771 2007-03-25  Bruno Haible  <bruno@clisp.org>
50772
50773         Avoid test failures on IRIX 6.5.
50774         * tests/test-frexpl.c (MIN_NORMAL_EXP): New macro.
50775         (main): Use it.
50776         * tests/test-printf-frexpl.c (MIN_NORMAL_EXP, MIN_SUBNORMAL_EXP): New
50777         macros.
50778         (main): Use them.
50779
50780 2007-03-25  Bruno Haible  <bruno@clisp.org>
50781
50782         * m4/frexpl.m4 (gl_FUNC_FREXPL_WORKS): New macro.
50783         (gl_FUNC_FREXPL): Invoke it. Set REPLACE_FREXPL to 1 if it frexpl
50784         exists but doesn't work.
50785         * lib/math_.h (frexpl): Define as a replacement macro if REPLACE_FREXPL
50786         is set. Don't provide a prototype if REPLACE_FREXPL is not set.
50787         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize REPLACE_FREXPL.
50788         * modules/math (Makefile.am) Substibute also REPLACE_FREXPL into math.h.
50789
50790 2007-03-25  Bruno Haible  <bruno@clisp.org>
50791
50792         * m4/frexp.m4 (gl_FUNC_FREXP_WORKS): Add check whether frexp(inf)
50793         returns inf. Needed on IRIX 6.5.
50794
50795 2007-03-25  Bruno Haible  <bruno@clisp.org>
50796
50797         * tests/test-frexpl.c: Include isnanl-nolibm.h.
50798         (main): Use isnanl instead of x != x idiom.
50799         * modules/frexpl-tests (Depends-on): Add isnanl-nolibm.
50800
50801         * tests/test-frexp.c: Include isnan.h.
50802         (main): Use isnan instead of x != x idiom.
50803         * modules/frexp-tests (Depends-on): Add isnan-nolibm.
50804
50805 2007-03-25  Bruno Haible  <bruno@clisp.org>
50806
50807         * tests/test-frexp.c (NaN): New function/macro.
50808         (main): Use it instead of 0.0 / 0.0.
50809         * tests/test-isnan.c (NaN): New function/macro.
50810         (main): Use it instead of 0.0 / 0.0.
50811         * tests/test-vasnprintf-posix.c (NaN): New function/macro.
50812         (test_function): Use it instead of 0.0 / 0.0.
50813         * tests/test-vasprintf-posix.c (NaN): New function/macro.
50814         (test_function): Use it instead of 0.0 / 0.0.
50815         * tests/test-snprintf-posix.h (NaN): New function/macro.
50816         (test_function): Use it instead of 0.0 / 0.0.
50817         * tests/test-sprintf-posix.h (NaN): New function/macro.
50818         (test_function): Use it instead of 0.0 / 0.0.
50819         * tests/test-fprintf-posix.h (NaN): New function/macro.
50820         (test_function): Use it instead of 0.0 / 0.0.
50821         * tests/test-printf-posix.h (NaN): New function/macro.
50822         (test_function): Use it instead of 0.0 / 0.0.
50823
50824         * lib/isnan.c (FUNC): Work around a DEC C compiler bug.
50825
50826 2007-03-25  Bruno Haible  <bruno@clisp.org>
50827
50828         * lib/glob_.h: Include <sys/stat.h>. Avoids warnings on AIX 5.1.
50829
50830 2007-03-25  Bruno Haible  <bruno@clisp.org>
50831
50832         * lib/regexec.c (merge_state_with_log): Make static.
50833
50834 2007-03-25  Bruno Haible  <bruno@clisp.org>
50835
50836         * lib/trigl.c (kernel_rem_pio2): Make static.
50837
50838 2007-03-25  Bruno Haible  <bruno@clisp.org>
50839
50840         * lib/sincosl.c (sincosl_table): Make static.
50841
50842 2007-03-25  Bruno Haible  <bruno@clisp.org>
50843
50844         * lib/argp.h (__restrict): Define to empty, rather than to 'restrict',
50845         if the compiler does not support C99.
50846
50847 2007-03-25  Bruno Haible  <bruno@clisp.org>
50848
50849         * modules/time (Makefile.am): Ensure all rule action lines start with a
50850         tab.
50851
50852 2007-03-24  Bruno Haible  <bruno@clisp.org>
50853
50854         * modules/tsearch-tests: New file.
50855         * tests/test-tsearch.sh: New file.
50856         * tests/test-tsearch.c: New file, mostly copied from glibc.
50857
50858         * modules/search-tests: New file.
50859         * tests/test-search.c: New file.
50860
50861         * modules/search: New file.
50862         * lib/search_.h: New file, incorporating lib/tsearch.h.
50863         * m4/search_h.m4: New file.
50864         * lib/tsearch.h: Remove file.
50865         * lib/tsearch.c: Include search.h instead of tsearch.h.
50866         * m4/tsearch.m4 (gl_FUNC_TSEARCH): Require gl_SEARCH_H_DEFAULTS. Set
50867         HAVE_TSEARCH.
50868         * modules/tsearch (Files): Remove lib/tsearch.h.
50869         (Depends-on): Add search.
50870         (configure.ac): Invoke gl_SEARCH_MODULE_INDICATOR.
50871         (Include): Change tsearch.h into search.h.
50872
50873 2007-03-24  Bruno Haible  <bruno@clisp.org>
50874
50875         * modules/fpucw: New file.
50876         * lib/fpucw.h: New file.
50877         * lib/frexp.c: Include fpucw.h.
50878         (DECL_ROUNDING, BEGIN_ROUNDING, END_ROUNDING): New macros.
50879         (FUNC): Use them.
50880         * lib/printf-frexp.c: Include fpucw.h.
50881         (DECL_ROUNDING, BEGIN_ROUNDING, END_ROUNDING): New macros.
50882         (FUNC): Use them.
50883         * lib/vasnprintf.c: Include fpucw.h.
50884         (VASNPRINTF): Invoke BEGIN/END_LONG_DOUBLE_ROUNDING around the
50885         'long double' calculations.
50886         * tests/test-frexpl.c: Include fpucw.h.
50887         (main): Invoke BEGIN_LONG_DOUBLE_ROUNDING.
50888         * tests/test-printf-frexpl.c: Include fpucw.h.
50889         (main): Invoke BEGIN_LONG_DOUBLE_ROUNDING.
50890         * modules/frexpl (Depends-on): Add fpucw.
50891         * modules/printf-frexpl (Depends-on): Likewise.
50892         * modules/fprintf-posix (Depends-on): Likewise.
50893         * modules/snprintf-posix (Depends-on): Likewise.
50894         * modules/sprintf-posix (Depends-on): Likewise.
50895         * modules/vasnprintf-posix (Depends-on): Likewise.
50896         * modules/vasprintf-posix (Depends-on): Likewise.
50897         * modules/vfprintf-posix (Depends-on): Likewise.
50898         * modules/vsnprintf-posix (Depends-on): Likewise.
50899         * modules/vsprintf-posix (Depends-on): Likewise.
50900         * modules/frexpl-tests (Depends-on): Likewise.
50901         * modules/printf-frexpl-tests (Depends-on): Likewise.
50902
50903 2007-03-24  Bruno Haible  <bruno@clisp.org>
50904
50905         * lib/float+.h: New file.
50906         * lib/isnan.c: Include float+.h.
50907         (SIZE): New macro.
50908         (FUNC): Compare only SIZE bytes of the value.
50909         * lib/vasnprintf.c: Include float+.h.
50910         (VASNPRINTF): When comparing agains +0.0L or +0.0, compare only
50911         SIZEOF_LDBL or SIZEOF_DBL bytes.
50912         * modules/isnan-nolibm (Files): Add lib/float+.h.
50913         * modules/isnanl-nolibm (Files): Add lib/float+.h.
50914         * modules/isnanl (Files): Add lib/float+.h.
50915         * modules/vasnprintf (Files): Add lib/float+.h.
50916
50917 2007-03-24  Bruno Haible  <bruno@clisp.org>
50918
50919         * lib/vasnprintf.c [!HAVE_LONG_DOUBLE]: Include printf-frexp.h. Don't
50920         include isnanl-nolibm.h.
50921
50922 2007-03-24  Bruno Haible  <bruno@clisp.org>
50923
50924         * tests/test-read-file.c (main): Don't produce spurious output for
50925         expected situations. Make the test fail if it encountered unexpected
50926         results.
50927
50928 2007-03-24  Bruno Haible  <bruno@clisp.org>
50929
50930         * m4/locale-fr.m4 (gt_LOCALE_FR): Remove the special-casing of NetBSD,
50931         since its fr_FR.ISO8859-1 locale wouldn't pass the tests.
50932
50933 2007-03-24  Bruno Haible  <bruno@clisp.org>
50934
50935         * m4/locale-fr.m4 (gt_LOCALE_FR, gt_LOCALE_FR_UTF8): Fix last change.
50936
50937 2007-03-24  Bruno Haible  <bruno@clisp.org>
50938
50939         * modules/unistr/base (Depends-on): Remove utf8-ucs4-unsafe,
50940         utf16-ucs4-unsafe, utf8-ucs4, utf16-ucs4, ucs4-utf8, ucs4-utf16.
50941
50942         * modules/unistr/u8-mbtouc: Add source files from module utf8-ucs4.
50943         * modules/utf8-ucs4: Turn into a symbolic link to module
50944         unistr/u8-mbtouc.
50945
50946         * modules/unistr/u8-mbtouc-unsafe: Add source files from module
50947         utf8-ucs4-unsafe.
50948         * modules/utf8-ucs4-unsafe: Turn into a symbolic link to module
50949         unistr/u8-mbtouc-unsafe.
50950
50951         * modules/unistr/u16-mbtouc: Add source files from module utf16-ucs4.
50952         * modules/utf16-ucs4: Turn into a symbolic link to module
50953         unistr/u16-mbtouc.
50954
50955         * modules/unistr/u16-mbtouc-unsafe: Add source files from module
50956         utf16-ucs4-unsafe.
50957         * modules/utf16-ucs4-unsafe: Turn into a symbolic link to module
50958         unistr/u16-mbtouc-unsafe.
50959
50960         * modules/unistr/u8-uctomb: Add source files from module utf4-utf8.
50961         * modules/ucs4-utf8: Turn into a symbolic link to module
50962         unistr/u8-ubtomb.
50963
50964         * modules/unistr/u16-uctomb: Add source files from module utf4-utf16.
50965         * modules/ucs4-utf16: Turn into a symbolic link to module
50966         unistr/u16-ubtomb.
50967
50968 2007-03-24  Bruno Haible  <bruno@clisp.org>
50969
50970         * lib/unistr/u8-mbtouc-aux.c: Renamed from lib/unistr/utf8-ucs4.c.
50971         Enable the function only if HAVE_INLINE.
50972         * lib/unistr/u8-mbtouc-unsafe-aux.c: Renamed from
50973         lib/unistr/utf8-ucs4-unsafe.c. Enable the function only if HAVE_INLINE.
50974         * lib/unistr/u16-mbtouc-aux.c: Renamed from lib/unistr/utf16-ucs4.c.
50975         Enable the function only if HAVE_INLINE.
50976         * lib/unistr/u16-mbtouc-unsafe-aux.c: Renamed from
50977         lib/unistr/utf16-ucs4-unsafe.c. Enable the function only if HAVE_INLINE.
50978         * lib/unistr/u8-uctomb-aux.c: Renamed from lib/unistr/ucs4-utf8.c.
50979         Enable the function only if HAVE_INLINE.
50980         * lib/unistr/u16-uctomb-aux.c: Renamed from lib/unistr/ucs4-utf16.c.
50981         Enable the function only if HAVE_INLINE.
50982         * modules/utf8-ucs4: Update.
50983         * modules/utf8-ucs4-unsafe: Update.
50984         * modules/utf16-ucs4: Update.
50985         * modules/utf16-ucs4-unsafe: Update.
50986         * modules/ucs4-utf8: Update.
50987         * modules/ucs4-utf16: Update.
50988
50989 2007-03-24  Bruno Haible  <bruno@clisp.org>
50990
50991         * lib/utf8-ucs4.h: Remove file.
50992         * lib/utf8-ucs4-unsafe.h: Remove file.
50993         * lib/utf16-ucs4.h: Remove file.
50994         * lib/utf16-ucs4-unsafe.h: Remove file.
50995         * lib/ucs4-utf8.h: Remove file.
50996         * lib/ucs4-utf16.h: Remove file.
50997         * lib/unistr.h: Include their previous contents.
50998         * m4/utf-ucs4.m4: Remove file.
50999         * m4/ucs4-utf.m4: Remove file.
51000         * modules/utf8-ucs4 (Files): Remove lib/utf8-ucs4.h.
51001         (Depends-on): Add unistr/base.
51002         (configure.ac): Remove gl_UTF_UCS4.
51003         (Makefile.am): Update.
51004         (Include): Change to unistr.h.
51005         * modules/utf8-ucs4-unsafe (Files): Remove lib/utf8-ucs4-unsafe.h.
51006         (Depends-on): Add unistr/base.
51007         (configure.ac): Remove gl_UTF_UCS4.
51008         (Makefile.am): Update.
51009         (Include): Change to unistr.h.
51010         * modules/utf16-ucs4 (Files): Remove lib/utf16-ucs4.h.
51011         (Depends-on): Add unistr/base.
51012         (configure.ac): Remove gl_UTF_UCS4.
51013         (Makefile.am): Update.
51014         (Include): Change to unistr.h.
51015         * modules/utf16-ucs4-unsafe (Files): Remove lib/utf16-ucs4-unsafe.h.
51016         (Depends-on): Add unistr/base.
51017         (configure.ac): Remove gl_UTF_UCS4.
51018         (Makefile.am): Update.
51019         (Include): Change to unistr.h.
51020         * modules/ucs4-utf8 (Files): Remove lib/ucs4-utf8.h.
51021         (Depends-on): Add unistr/base.
51022         (configure.ac): Remove gl_UCS4_UTF.
51023         (Makefile.am): Update.
51024         (Include): Change to unistr.h.
51025         * modules/ucs4-utf16 (Files): Remove lib/ucs4-utf16.h.
51026         (Depends-on): Add unistr/base.
51027         (configure.ac): Remove gl_UCS4_UTF.
51028         (Makefile.am): Update.
51029         (Include): Change to unistr.h.
51030         * lib/unistr/utf8-ucs4.c: Include unistr.h instead of utf8-ucs4.h.
51031         * lib/unistr/utf8-ucs4-unsafe.c: Include unistr.h instead of
51032         utf8-ucs4-unsafe.h.
51033         * lib/unistr/utf16-ucs4.c: Include unistr.h instead of utf16-ucs4.h.
51034         * lib/unistr/utf16-ucs4-unsafe.c: Include unistr.h instead of
51035         utf16-ucs4-unsafe.h.
51036         * lib/unistr/ucs4-utf8.c: Include unistr.h instead of ucs4-utf8.h.
51037         * lib/unistr/ucs4-utf16.c: Include unistr.h instead of ucs4-utf16.h.
51038         * lib/unistr/u8-chr.c: Don't include ucs4-utf8.h.
51039         * lib/unistr/u8-strchr.c: Likewise.
51040         * lib/unistr/u8-strrchr.c: Likewise.
51041         * lib/unistr/u16-chr.c: Don't include ucs4-utf16.h.
51042         * lib/unistr/u16-strchr.c: Likewise.
51043         * lib/unistr/u16-strrchr.c: Likewise.
51044         * lib/striconveh.c: Update.
51045         * lib/linebreak.c: Update.
51046
51047 2007-03-24  Bruno Haible  <bruno@clisp.org>
51048
51049         * lib/argp-help.c (fill_in_uparams, canon_doc_option): Cast the
51050         arguments of isspace, isalpha, isalnum, isdigit to 'unsigned char'.
51051
51052 2007-03-22  Bruno Haible  <bruno@clisp.org>
51053
51054         * lib/strptime.c (__strptime_internal): Use ANSI C syntax.
51055
51056 2007-03-23  Paul Eggert  <eggert@cs.ucla.edu>
51057
51058         * MODULES.html.sh (File system functions): New module write-any-file.
51059         * modules/write-any-file, lib/write-any-file.c, lib/write-any-file.h:
51060         * m4/write-any-file.m4: New files.
51061
51062 2007-03-23  Eric Blake  <ebb9@byu.net>
51063
51064         * gnulib-tool: Rearrange space-tab sequences, since some editors
51065         like to eat them.
51066
51067 2007-03-23  Eric Blake  <ebb9@byu.net>
51068
51069         * lib/version-etc.c (version_etc_va): Update license wording to
51070         be more concise.  Recommended by Richard Stallman.
51071
51072 2007-03-22  Bruno Haible  <bruno@clisp.org>
51073
51074         * lib/poll.c (MSG_PEEK): New fallback definition.
51075
51076 2007-03-22  Bruno Haible  <bruno@clisp.org>
51077
51078         * modules/sys_socket-tests (configure.ac): Check for shutdown function.
51079         * tests/test-sys_socket.c (a): Test only if shutdown() exists.
51080         (main): Update.
51081         Fixes a compilation error on BeOS.
51082
51083 2007-03-22  Bruno Haible  <bruno@clisp.org>
51084
51085         * modules/frexpl-tests: New file.
51086         * tests/test-frexpl.c: New file.
51087
51088         * modules/frexpl: New file.
51089         * m4/frexpl.m4: New file.
51090         * modules/math (Makefile.am): Also substitute GNULIB_FREXPL into math.h.
51091         * lib/math_.h (frexpl): Test GNULIB_FREXPL instead of GNULIB_MATHL.
51092         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize GNULIB_FREXPL.
51093         * modules/mathl (Files): Remove lib/frexpl.c, lib/frexp.c.
51094         (Depends-on): Add frexpl. Remove isnanl-nolibm.
51095         * m4/mathl.m4 (gl_FUNC_LONG_DOUBLE_MATH): Don't test for frexpl.
51096
51097 2007-03-22  Bruno Haible  <bruno@clisp.org>
51098
51099         * lib/frexpl.c: Share code with lib/frexp.c.
51100         * modules/mathl (Files): Add lib/frexp.c.
51101         (Depends-on): Add isnanl-nolibm.
51102
51103 2007-03-22  Bruno Haible  <bruno@clisp.org>
51104
51105         * modules/printf-frexp (Files): Add m4/frexp.m4.
51106         * m4/printf-frexp.m4 (gl_FUNC_PRINTF_FREXP): Define HAVE_FREXP_IN_LIBC
51107         only if the found frexp function actually works.
51108
51109 2007-03-22  Bruno Haible  <bruno@clisp.org>
51110
51111         * lib/frexp.c: Remove older implementation that uses divisions.
51112
51113 2007-03-21  Bruno Haible  <bruno@clisp.org>
51114
51115         * modules/frexp-tests: New file.
51116         * tests/test-frexp.c: New file.
51117
51118         * modules/frexp: New file.
51119         * lib/frexp.c: New file.
51120         * m4/frexp.m4: New file.
51121         * lib/math_.h (frexp): New declaration.
51122         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Also initialize GNULIB_FREXP and
51123         REPLACE_FREXP.
51124         * modules/math (math.h): Also substitute GNULIB_FREXP, REPLACE_FREXP.
51125
51126 2007-03-21  Bruno Haible  <bruno@clisp.org>
51127
51128         * modules/isnanl-tests: New file.
51129         * tests/test-isnanl.c: New file.
51130
51131         * modules/isnanl: New file.
51132         * lib/isnanl.h: New file.
51133         * m4/isnanl.m4 (gl_FUNC_ISNANL): New macro.
51134         (gl_FUNC_ISNANL_NO_LIBM): Invoke gl_HAVE_ISNANL_NO_LIBM,
51135         gl_FUNC_ISNANL_WORKS.
51136         (gl_HAVE_ISNANL_NO_LIBM, gl_HAVE_ISNANL_IN_LIBM, gl_FUNC_ISNANL_WORKS):
51137         New macros.
51138
51139 2007-03-21  Bruno Haible  <bruno@clisp.org>
51140
51141         * modules/isnanl-nolibm (Files): Add lib/isnanl-nolibm.h, remove
51142         lib/isnanl.h.
51143         (Include): Update.
51144         * lib/isnanl-nolibm.h: Renamed from lib/isnanl.h.
51145         * lib/vasnprintf.c: Update.
51146         * modules/isnanl-nolibm-tests (Files): Add tests/test-isnanl-nolibm.c,
51147         tests/test-isnanl.h, remove tests/test-isnanl.c.
51148         (Makefile.am): Update.
51149         * tests/test-isnanl-nolibm.c: New file.
51150         * tests/test-isnanl.h: New file.
51151         * tests/test-isnanl.c: Remove file.
51152
51153 2007-03-21  Jim Meyering  <jim@meyering.net>
51154
51155         When trying to open ".", treat ESTALE like EACCES.
51156         * lib/savewd.c (savewd_save): Resort to forking not just upon
51157         failure with EACCES, but also when errno is ESTALE.
51158
51159 2007-03-20  Bruno Haible  <bruno@clisp.org>
51160
51161         * lib/string_.h (strndup): Enable declaration also if HAVE_STRNDUP.
51162         Needed on AIX 5.1. Reported by Matthew Woehlke.
51163
51164 2007-03-19  Paul Eggert  <eggert@cs.ucla.edu>
51165
51166         Suggestions by Bruno Haible:
51167         * lib/acl-internal.h: Include "gettext.h" rather than rolling
51168         our own.
51169         (ACL_NOT_WELL_SUPPORTED): Parenthesize arg when used.
51170         * modules/acl (Depends-on): Add gettext.
51171
51172 2007-03-19  Bruno Haible  <bruno@clisp.org>
51173
51174         * modules/iconvme: Remove file.
51175         * lib/iconvme.h: Remove file.
51176         * lib/iconvme.c: Remove file.
51177         * m4/iconvme.m4: Remove file.
51178
51179 2007-03-19  Bruno Haible  <bruno@clisp.org>
51180
51181         * doc/relocatable-maint.texi: Break long shell script line.
51182         Suggested by Thien-Thi Nguyen <ttn@gnuvola.org>.
51183
51184 2007-03-19  Paul Eggert  <eggert@cs.ucla.edu>
51185
51186         Add limited support for Solaris 10 ZFS-style ACLs: just enough to
51187         handle file_has_acl.
51188         * lib/acl-internal.h, lib/acl_entries.c, lib/file-has-acl.c: New files.
51189         * lib/acl.c: Move header inclusions and related macro defns into
51190         lib/acl-internal.h.
51191         (S_ISLNK): Remove defn, since that's now done for us.
51192         (file_has_acl): Move to lib/file-has-acl.c.
51193         Call acl_trivial if available.  This is the crucial part of the fix.
51194         (acl_entries): Move to lib/acl_entries.c.  Now extern, since it's
51195         shared within the library.  Rewrite a bit, partly to make it compatible
51196         with the GNU coding style.
51197         * m4/acl.m4 (AC_FUNC_ACL): Add AC_LIBOBJ([file-has-acl]).
51198         Remove unnecessary double-quotes.
51199         Don't test for acl_to_text; the build will catch that.
51200         Replace acl_entries if it doesn't exist and it is needed.
51201         Check for -lsec and acl_trivial (as used on Solaris 10).
51202         * modules/acl (Files): Add lib/acl-internal.h, lib/acl_entries.c,
51203         lib/file-has-acl.c.
51204         (Depends-on): Add sys_stat, for S_ISLNK.
51205
51206 2007-03-19  Ben Pfaff  <blp@gnu.org>
51207
51208         * doc/gnulib.texi: Fix typos.
51209         Suggested by Thien-Thi Nguyen <ttn@gnuvola.org>.
51210
51211 2007-03-19  Paul Eggert  <eggert@cs.ucla.edu>
51212
51213         * lib/getcwd.c (__getcwd): Remove redundant comparison of buf to NULL.
51214         If size is zero here, buf must be zero.
51215
51216 2007-03-19  Simon Josefsson  <simon@josefsson.org>
51217
51218         * des.c: Remove weak_keys_chksum.  Reported by Bruno Haible
51219         <bruno@clisp.org>.
51220
51221 2007-03-18  Bruno Haible  <bruno@clisp.org>
51222
51223         * lib/vasnprintf.c (VASNPRINTF): Undo first part of last patch.
51224         Suggested by Eric Blake.
51225
51226 2007-03-18  Ben Pfaff  <blp@gnu.org>
51227
51228         * doc/relocatable.texi: Recommend using as prefix a directory
51229         that does not exist and will never be created.  Based on
51230         discussion with Bruno Haible, Ralf Wildenhues, Matthew Woehlke,
51231         and others.
51232
51233 2007-03-17  Bruno Haible  <bruno@clisp.org>
51234
51235         * lib/fchownat.c: Include lchown.h.
51236
51237 2007-03-17  Bruno Haible  <bruno@clisp.org>
51238
51239         Fix endless loop when the given allocated size was > INT_MAX.
51240         * lib/vasnprintf.c (EOVERFLOW): New fallback definition.
51241         (VASNPRINTF): Fail with EOVERFLOW when the given allocated size is
51242         larger than INT_MAX, or when it grow to a value larger than INT_MAX.
51243         * lib/vsprintf.c (vsprintf): Don't pass a size > INT_MAX to vasnprintf.
51244         * lib/sprintf.c (sprintf): Likewise.
51245
51246 2007-03-17  Bruno Haible  <bruno@clisp.org>
51247
51248         * tests/test-argp-2.sh (func_compare): Output a context diff.
51249
51250 2007-03-17  Bruno Haible  <bruno@clisp.org>
51251
51252         * m4/locale-fr.m4 (gt_LOCALE_FR, gt_LOCALE_FR_UTF8): Check also the
51253         locale's decimal-point character.
51254
51255 2007-03-17  Bruno Haible  <bruno@clisp.org>
51256
51257         * lib/vasnprintf.c (VASNPRINTF): Clear out the memory used for arg_mem
51258         before comparing it. Needed because on some platforms (e.g. x86) a
51259         'long double' occupies less bytes than sizeof (long double).
51260
51261 2007-03-17  Bruno Haible  <bruno@clisp.org>
51262
51263         * tests/test-crc.c (main): Make printf statements 64-bit clean.
51264         * tests/test-gc-pbkdf2-sha1.c (main): Likewise.
51265         * tests/test-getaddrinfo.c (simple): Likewise.
51266         * tests/test-read-file.c (main): Likewise.
51267
51268 2007-03-17  Bruno Haible  <bruno@clisp.org>
51269
51270         * tests/test-dirname.c (main): Make printf statements 64-bit clean.
51271
51272 2007-03-17  Bruno Haible  <bruno@clisp.org>
51273
51274         * tests/test-xvasprintf.c (test_xvasprintf, test_xasprintf): Remove
51275         unused variable.
51276
51277 2007-03-17  Bruno Haible  <bruno@clisp.org>
51278
51279         * tests/test-c-strcasecmp.c: Include c-strcase.h.
51280         * tests/test-c-strncasecmp.c: Likewise.
51281
51282 2007-03-17  Bruno Haible  <bruno@clisp.org>
51283
51284         * modules/stdlib (Depends-on): Add unistd.
51285         * lib/stdlib_.h: Include <unistd.h> if mkstemp is desired.
51286         Needed for MacOS X 10.3.
51287
51288 2007-03-17  Bruno Haible  <bruno@clisp.org>
51289
51290         * lib/unistr/u-strdup.h: Include <stdlib.h>.
51291
51292 2007-03-17  Bruno Haible  <bruno@clisp.org>
51293
51294         * lib/unistr/u-cpy-alloc.h: Include <stdlib.h>.
51295
51296 2007-03-17  Bruno Haible  <bruno@clisp.org>
51297
51298         * gnulib-tool (func_import): Update .cvsignore and .gitignore files
51299         to reflect files copied from gnulib (with or without modifications).
51300         Suggested by Jim Meyering.
51301
51302 2007-03-17  Eric Blake  <ebb9@byu.net>
51303
51304         * NEWS: Document stdlib change from 2007-02-18.
51305
51306 2007-03-17  Jim Meyering  <jim@meyering.net>
51307
51308         Detect use of AC_CONFIG_AUX_DIR also when its argument is quoted.
51309         * build-aux/bootstrap: Put ""s around use of $build_aux, in case
51310         someone uses a name containing shell meta-characters.
51311         Reported by Alfred M. Szmidt.
51312
51313         * build-aux/bootstrap: Don't use \> in grep regexp.  For HP-UX.
51314
51315 2007-03-16  Alfred M. Szmidt  <ams@gnu.org>
51316
51317         * build-aux/bootstrap (with_gettext): New variable.  Run autopoint
51318         and copy gettext configuration files only if configure.ac contains
51319         a use of AM_GNU_GETTEXT_VERSION.
51320
51321 2007-03-16  Alfred M. Szmidt  <ams@gnu.org>
51322
51323         * build-aux/bootstrap (gnulib_name): New variable.
51324         (gnulib_tool_options): Use it.
51325
51326 2007-03-13  Simon Josefsson  <simon@josefsson.org>
51327
51328         * tests/test-des.c: Use new namespace.
51329
51330 2007-03-15  Bruno Haible  <bruno@clisp.org>
51331
51332         * lib/dummy.c (gl_dummy_symbol): Renamed from 'dummy'.
51333         Reported by James Youngman <jay@gnu.org>.
51334
51335 2007-03-15  Bruno Haible  <bruno@clisp.org>
51336
51337         * lib/glob.c (glob): Add 'restrict' so that prototype matches the
51338         declared prototype. Needed with cc on OSF/1 5.1.
51339
51340 2007-03-15  Bruno Haible  <bruno@clisp.org>
51341
51342         * lib/gl_list.h (gl_listelement_dispose_fn): New type.
51343         (gl_list_create_empty, gl_list_create): Add dispose_fn argument.
51344         (struct gl_list_implementation): Add dispose_fn argument to the
51345         'create_empty', 'create' methods.
51346         (struct gl_list_impl_base): Add field 'dispose_fn'.
51347         * lib/gl_list.c (gl_list_create_empty, gl_list_create): Add dispose_fn
51348         argument.
51349         * lib/gl_array_list.c (gl_array_create_empty, gl_array_create): Add
51350         dispose_fn argument.
51351         (gl_array_remove_node, gl_array_remove_at, gl_array_list_free): Call
51352         dispose_fn on the dropped values.
51353         * lib/gl_carray_list.c (gl_carray_create_empty, gl_carray_create): Add
51354         dispose_fn argument.
51355         (gl_carray_remove_at, gl_carray_list_free): Call dispose_fn on the
51356         dropped values.
51357         * lib/gl_anyavltree_list2.h (gl_tree_create): Add dispose_fn argument.
51358         (gl_tree_remove_node): Call dispose_fn on the dropped value.
51359         * lib/gl_anyrbtree_list2.h (gl_tree_create): Add dispose_fn argument.
51360         (gl_tree_remove_node): Call dispose_fn on the dropped value.
51361         * lib/gl_anytree_list2.h (gl_tree_create_empty): Add dispose_fn
51362         argument.
51363         (gl_tree_list_free): Call dispose_fn on the dropped values.
51364         * lib/gl_anytreehash_list2.h (gl_tree_list_free): Call dispose_fn on
51365         the dropped values.
51366         * lib/gl_anylinked_list2.h (gl_linked_create_empty, gl_linked_create):
51367         Add dispose_fn argument.
51368         (gl_linked_remove_node, gl_linked_remove_at, gl_linked_list_free):
51369         Call dispose_fn on the dropped values.
51370         * lib/gl_sublist.c (gl_sublist_create_empty, gl_sublist_create_fill):
51371         Add dispose_fn argument.
51372         (gl_sublist_create): Initialize the 'dispose_fn' field.
51373         * lib/clean-temp.c (create_temp_dir, register_fd): Update.
51374         * tests/test-array_list.c (main): Update.
51375         * tests/test-carray_list.c (main): Update.
51376         * tests/test-avltree_list.c (main): Update.
51377         * tests/test-rbtree_list.c (main): Update.
51378         * tests/test-avltreehash_list.c (main): Update.
51379         * tests/test-rbtreehash_list.c (main): Update.
51380         * tests/test-linked_list.c (main): Update.
51381         * tests/test-linkedhash_list.c (main): Update.
51382         * tests/test-array_oset.c (main): Update.
51383
51384 2007-03-15  Bruno Haible  <bruno@clisp.org>
51385
51386         * lib/gl_oset.h (gl_setelement_dispose_fn): New type.
51387         (gl_oset_create_empty): Add dispose_fn argument.
51388         (struct gl_oset_implementation): Add dispose_fn argument to
51389         'create_empty' method.
51390         (struct gl_oset_impl_base): Add dispose_fn field.
51391         * lib/gl_oset.c (gl_oset_create_empty): Add dispose_fn argument.
51392         * lib/gl_array_oset.c (gl_array_create_empty): Add dispose_fn argument.
51393         (gl_array_remove_at, gl_array_free): Call dispose_fn on the dropped
51394         values.
51395         * lib/gl_anytree_oset.h (gl_tree_create_empty): Add dispose_fn argument.
51396         (gl_tree_oset_free): Call dispose_fn on the dropped values.
51397         * lib/gl_avltree_oset.c (gl_tree_remove_node): Call dispose_fn on the
51398         dropped value.
51399         * lib/gl_rbtree_oset.c (gl_tree_remove_node): Call dispose_fn on the
51400         dropped value.
51401         * tests/test-array_oset.c (main): Update.
51402         * tests/test-avltree_oset.c (main): Update.
51403         * tests/test-rbtree_oset.c (main): Update.
51404         * lib/gl_anytreehash_list1.h (add_to_bucket): Update.
51405
51406 2007-03-13  Bruno Haible  <bruno@clisp.org>
51407
51408         * tests/test-stdbool.c (i): Update after last patch.
51409
51410 2007-03-12  Bruno Haible  <bruno@clisp.org>
51411
51412         * lib/quotearg.c: Include <wctype.h> early, before the definition of
51413         the iswprint macro. Needed on Solaris 2.5.1.
51414
51415 2007-03-12  Bruno Haible  <bruno@clisp.org>
51416
51417         * tests/test-printf-frexp.c (main): Declare x as volatile.
51418
51419 2007-03-12  Simon Josefsson  <simon@josefsson.org>
51420
51421         * doc/gnulib.texi (Build robot for gnulib): New section.
51422
51423 2007-03-12  Jim Meyering  <jim@meyering.net>
51424
51425         * build-aux/bootstrap: New file.
51426         * build-aux/bootstrap.conf: New file, from coreutils.
51427
51428 2007-03-11  Bruno Haible  <bruno@clisp.org>
51429
51430         * m4/cycle-check.m4 (gl_CYCLE_CHECK): Require AC_C_INLINE.
51431
51432 2007-03-12  Simon Josefsson  <simon@josefsson.org>
51433
51434         * lib/des.h, lib/des.c, lib/gc-gnulib.c: Use gl_ namespace, to
51435         avoid collisions with 'des_setkey'.  Reported by Bruno Haible
51436         <bruno@clisp.org>.  Also change 'tripledes_' to '3des_'.
51437
51438 2007-03-11  Bruno Haible  <bruno@clisp.org>
51439
51440         * m4/locale-tr.m4 (gt_LOCALE_TR_UTF8): If the test program fails to
51441         compile, set LOCALE_TR_UTF8 to 'none' instead of empty.
51442
51443 2007-03-11  Bruno Haible  <bruno@clisp.org>
51444
51445         * lib/stdint_.h (INT64_MIN, INTMAX_MIN): Avoid using the ~INT..._MAX
51446         formula. Needed for SunPRO C 5.0.
51447
51448 2007-03-11  Bruno Haible  <bruno@clisp.org>
51449
51450         * modules/long-options (Depends-on): Add getopt.
51451
51452 2007-03-11  Bruno Haible  <bruno@clisp.org>
51453
51454         * modules/modechange (Depends-on): Add stdbool.
51455
51456 2007-03-11  Bruno Haible  <bruno@clisp.org>
51457
51458         * modules/i-ring (Depends-on): Add stdbool.
51459
51460 2007-03-11  Bruno Haible  <bruno@clisp.org>
51461
51462         * modules/gc-des (Depends-on): Add stdbool.
51463
51464 2007-03-11  Bruno Haible  <bruno@clisp.org>
51465
51466         * m4/mktime.m4 (gl_PREREQ_MKTIME): Require AC_C_INLINE.
51467
51468 2007-03-11  Bruno Haible  <bruno@clisp.org>
51469
51470         * m4/mempcpy.m4 (gl_FUNC_MEMPCPY): Require AC_C_RESTRICT.
51471
51472 2007-03-11  Bruno Haible  <bruno@clisp.org>
51473
51474         * lib/unistr/u32-mbtouc-unsafe.c (u32_mbtouc_unsafe): Fix syntax error.
51475
51476 2007-03-11  Bruno Haible  <bruno@clisp.org>
51477
51478         * lib/vasnprintf.c (sprintf): Undefine.
51479
51480 2007-03-11  Bruno Haible  <bruno@clisp.org>
51481
51482         * lib/isnan.c (rpl_isnan, rpl_isnanl): Work around bug regarding
51483         initializers in SunPRO C and Compaq C compilers.
51484
51485 2007-03-11  Bruno Haible  <bruno@clisp.org>
51486
51487         * lib/gl_array_oset.c (gl_array_iterator_next): Make pointer
51488         decrementing code ANSI C compliant.
51489
51490 2007-03-11  Bruno Haible  <bruno@clisp.org>
51491
51492         * lib/dummy.c [__sun]: Define a dummy variable, not just a typedef.
51493         Needed for Solaris 2.5.1 ranlib and SunPRO C 5.0.
51494
51495 2007-03-11  Bruno Haible  <bruno@clisp.org>
51496
51497         * tests/test-stdbool.c (s, d, e, xlcbug): Disable checks that gnulib's
51498         <stdbool.h> substitute doesn't pass.
51499
51500 2007-03-11  Bruno Haible  <bruno@clisp.org>
51501
51502         * lib/vasnprintf.c (snprintf): Undefine. Avoids an endless recursion.
51503
51504 2007-03-11  Bruno Haible  <bruno@clisp.org>
51505
51506         * gnulib-tool (func_create_megatestdir): Create also an autobuild
51507         script, for submission to autobuild.josefsson.org.
51508
51509 2007-03-10  Bruno Haible  <bruno@clisp.org>
51510
51511         * modules/canonicalize-lgpl-tests: New file.
51512         * tests/test-canonicalize-lgpl.sh: New file.
51513         * tests/test-canonicalize-lgpl.c: New file.
51514
51515         * modules/c-strcase-tests: New file.
51516         * tests/test-c-strcase.sh: New file.
51517         * tests/test-c-strcasecmp.c: New file.
51518         * tests/test-c-strncasecmp.c: New file.
51519
51520         * modules/atexit-tests: New file.
51521         * tests/test-atexit.sh: New file.
51522         * tests/test-atexit.c: New file.
51523
51524 2007-03-10  Bruno Haible  <bruno@clisp.org>
51525
51526         * tests/test-binary-io.sh: Use temporary filenames that are not so
51527         likely to clash with those of other tests (in a parallel make).
51528         * tests/test-binary-io.c: Likewise.
51529
51530 2007-03-10  Bruno Haible  <bruno@clisp.org>
51531
51532         * lib/fseterr.c (fseterr): Port to Solaris/SPARC64. Deactivate the
51533         fallback; use #error instead.
51534         Suggested by Simon Josefsson.
51535
51536 2007-03-10  Bruno Haible  <bruno@clisp.org>
51537
51538         * gnulib-tool (func_create_testdir): Treat MOSTLYCLEANFILES like
51539         CLEANFILES. Put spaces in each line of $cleaned_files, not only the
51540         first and the last.
51541
51542 2007-03-10  Bruno Haible  <bruno@clisp.org>
51543
51544         * lib/stdint_.h (uint_least64_t): Fix typo in last patch.
51545
51546 2007-03-10  Bruno Haible  <bruno@clisp.org>
51547
51548         * modules/snprintf-posix-tests (EXTRA_DIST): New variable. Needed for
51549         "make distcheck".
51550         * modules/sprintf-posix-tests (EXTRA_DIST): Likewise.
51551         * modules/vsnprintf-posix-tests (EXTRA_DIST): Likewise.
51552         * modules/vsprintf-posix-tests (EXTRA_DIST): Likewise.
51553
51554 2007-03-10  Bruno Haible  <bruno@clisp.org>
51555
51556         * modules/allocsa-tests (test_allocsa_SOURCES): Remove redundant
51557         variable.
51558         * modules/dirname-tests (test_dirname_SOURCES): Remove redundant
51559         variable.
51560
51561 2007-03-09  Eric Blake  <ebb9@byu.net>
51562         and Matthew Woehlke  <mw_triad@users.sourceforge.net>  (tiny change)
51563
51564         * lib/stdint_.h (int64_t, uint64_t): Don't undefine if 64-bit
51565         types are not being provided by gnulib.
51566         (GL_INT64_T, GL_UINT64_T): New witnesses of whether gnulib 64-bit
51567         types are supported.
51568
51569 2007-03-10  Bruno Haible  <bruno@clisp.org>
51570
51571         * lib/stdio_.h (__attribute__): New macro.
51572         (fprintf, vfprintf, printf, vprintf, snprintf, vsnprintf, sprintf,
51573         vsprintf): Specify __attribute__ __format__ for GCC.
51574         Suggested by Eric Blake.
51575
51576 2007-03-09  Bruno Haible  <bruno@clisp.org>
51577
51578         * modules/printf-posix-tests: New file.
51579         * tests/test-printf-posix.sh: New file.
51580         * tests/test-printf-posix.c: New file.
51581
51582         * modules/printf-posix: New file.
51583         * lib/printf.c: New file.
51584         * m4/printf-posix-rpl.m4: New file.
51585         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Set also GNULIB_PRINTF_POSIX,
51586         REPLACE_PRINTF.
51587         * lib/stdio_.h (printf): New declaration.
51588         (format, __format__, ____printf____, ____scanf____, ____strftime____,
51589         ____strfmon____): New macros.
51590         * modules/stdio (Makefile.am): Substitute also GNULIB_PRINTF_POSIX,
51591         REPLACE_PRINTF.
51592
51593 2007-03-09  Bruno Haible  <bruno@clisp.org>
51594
51595         * tests/test-vasnprintf-posix2.sh: New file.
51596         * tests/test-vasnprintf-posix2.c: New file.
51597         * modules/vasnprintf-posix-tests (Files): Add them and m4/locale-fr.m4.
51598         (configure.ac): Invoke gt_LOCALE_FR and gt_LOCALE_FR_UTF8.
51599         (Makefile.am): Activate test-vasnprintf-posix2.sh.
51600
51601         * lib/vasnprintf.c (VASNPRINTF): For the 'a' and 'A' directives, use
51602         a locale dependent decimal point, rather than always '.'.
51603
51604 2007-03-09  Eric Blake  <ebb9@byu.net>
51605
51606         * lib/stdlib_.h (EXIT_FAILURE): GNU code expects this to be 1, in
51607         spite of platforms like Tandem/NSK that define it to -1.
51608
51609 2007-03-08  Bruno Haible  <bruno@clisp.org>
51610
51611         * modules/vprintf-posix-tests: New file.
51612         * tests/test-vprintf-posix.sh: New file.
51613         * tests/test-vprintf-posix.c: New file.
51614         * tests/test-printf-posix.h: New file.
51615
51616         * modules/vprintf-posix: New file.
51617         * lib/vprintf.c: New file.
51618         * m4/vprintf-posix.m4: New file.
51619         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Set also GNULIB_VPRINTF_POSIX,
51620         REPLACE_VPRINTF.
51621         * lib/stdio_.h (vprintf): New declaration.
51622         * modules/stdio (Makefile.am): Substitute also GNULIB_VPRINTF_POSIX,
51623         REPLACE_VPRINTF.
51624
51625 2007-03-08  Bruno Haible  <bruno@clisp.org>
51626
51627         * modules/fprintf-posix-tests: New file.
51628         * tests/test-fprintf-posix.sh: New file.
51629         * tests/test-fprintf-posix.c: New file.
51630
51631         * modules/fprintf-posix: New file.
51632         * lib/fprintf.c: New file.
51633         * m4/fprintf-posix.m4: New file.
51634         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Set also GNULIB_FPRINTF_POSIX,
51635         REPLACE_FPRINTF.
51636         * lib/stdio_.h (fprintf): New declaration.
51637         * modules/stdio (Makefile.am): Substitute also GNULIB_FPRINTF_POSIX,
51638         REPLACE_FPRINTF.
51639
51640 2007-03-08  Bruno Haible  <bruno@clisp.org>
51641
51642         * modules/vfprintf-posix-tests: New file.
51643         * tests/test-vfprintf-posix.sh: New file.
51644         * tests/test-vfprintf-posix.c: New file.
51645         * tests/test-fprintf-posix.h: New file.
51646         * tests/test-fprintf-posix.out: New file.
51647
51648         * modules/vfprintf-posix: New file.
51649         * lib/vfprintf.c: New file.
51650         * m4/vfprintf-posix.m4: New file.
51651         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Set also GNULIB_VFPRINTF_POSIX,
51652         REPLACE_VFPRINTF.
51653         * lib/stdio_.h (vfprintf): New declaration.
51654         * modules/stdio (Makefile.am): Substitute also GNULIB_VFPRINTF_POSIX,
51655         REPLACE_VFPRINTF.
51656
51657 2007-03-08  Bruno Haible  <bruno@clisp.org>
51658
51659         * lib/stdio_.h: Treat __need___FILE like __need_FILE.
51660
51661 2007-03-08  Bruno Haible  <bruno@clisp.org>
51662
51663         * m4/snprintf-posix.m4 (gl_FUNC_SNPRINTF_POSIX): Use 'case' statements
51664         instead of 'expr' invocations.
51665         * m4/sprintf-posix.m4 (gl_FUNC_SPRINTF_POSIX): Likewise.
51666         * m4/vasnprintf-posix.m4 (gl_FUNC_VASNPRINTF_POSIX): Likewise.
51667         * m4/vasprintf-posix.m4 (gl_FUNC_VASPRINTF_POSIX): Likewise.
51668         * m4/vsnprintf-posix.m4 (gl_FUNC_VSNPRINTF_POSIX): Likewise.
51669         * m4/vsprintf-posix.m4 (gl_FUNC_VSPRINTF_POSIX): Likewise.
51670         Suggested by Paul Eggert.
51671
51672 2007-03-08  Bruno Haible  <bruno@clisp.org>
51673
51674         * modules/fseterr-tests: New file.
51675         * tests/test-fseterr.c: New file.
51676
51677         * modules/fseterr: New file.
51678         * lib/fseterr.h: New file.
51679         * lib/fseterr.c: New file.
51680
51681 2007-03-08  Bruno Haible  <bruno@clisp.org>
51682
51683         * lib/fnmatch_.h: Convert tabs in the middle of lines to spaces.
51684         * lib/getopt_.h: Likewise.
51685         * lib/mbswidth.h: Likewise.
51686         * lib/setenv.h: Likewise.
51687         * lib/vasnprintf.h: Likewise.
51688         * lib/vasprintf.h: Likewise.
51689         * lib/verror.h: Likewise.
51690         * lib/xsetenv.h: Likewise.
51691         * lib/xvasprintf.h: Likewise.
51692
51693 2007-03-08  Jim Meyering  <jim@meyering.net>
51694
51695         * users.txt: Add parted.
51696
51697         * ChangeLog: Restore 1500 lines mistakenly removed from the end.
51698
51699 2007-03-07  Bruno Haible  <bruno@clisp.org>
51700
51701         * m4/printf.m4: Make the shell script snippets copy&pastable.
51702
51703 2007-03-02  Bruno Haible  <bruno@clisp.org>
51704
51705         * lib/netinet_in_.h: New file.
51706         * m4/netinet_in_h.m4 (gl_HEADER_NETINET_IN): Test whether netinet/in.h
51707         is self-contained. Set ABSOLUTE_NETINET_IN_H, HAVE_NETINET_IN_H.
51708         * modules/netinet_in (Files): Add lib/netinet_in_.h.
51709         (Depends-on): Add absolute-header.
51710         (Makefile.am): Substitute ABSOLUTE_NETINET_IN_H, HAVE_NETINET_IN_H
51711         into netinet/in.h.
51712
51713 2007-03-03  Bruno Haible  <bruno@clisp.org>
51714
51715         * lib/sys_select_.h: New file.
51716         * m4/sys_socket_h.m4 (gl_HEADER_SYS_SELECT): Test whether sys/select.h
51717         is self-contained. Set ABSOLUTE_SYS_SELECT_H, HAVE_SYS_SELECT_H.
51718         * modules/sys_select (Files): Add lib/sys_select_.h.
51719         (Depends-on): Add absolute-header.
51720         (Makefile.am): Substitute ABSOLUTE_SYS_SELECT_H, HAVE_SYS_SELECT_H
51721         into sys/select.h.
51722
51723 2007-03-02  Bruno Haible  <bruno@clisp.org>
51724
51725         * lib/socket_.h: If sys/socket.h exists, include that and <sys/types.h>
51726         before it. Turn HAVE_WINSOCK2_H and HAVE_WS2TCPIP_H into configute-time
51727         values.
51728         * m4/sys_socket_h.m4 (gl_HEADER_SYS_SOCKET): Test also whether
51729         <sys/socket.h> is self-contained. Set ABSOLUTE_SYS_SOCKET_H,
51730         HAVE_SYS_SOCKET_H, HAVE_WINSOCK2_H, HAVE_WS2TCPIP_H.
51731         * modules/sys_socket (Depends-on): Add absolute-header.
51732         (Makefile.am): Substitute ABSOLUTE_SYS_SOCKET_H, HAVE_SYS_SOCKET_H,
51733         HAVE_WINSOCK2_H, HAVE_WS2TCPIP_H into sys/socket.h.
51734         (Include): Remove requirement of inclusion of <sys/types.h>.
51735
51736 2007-03-02  Bruno Haible  <bruno@clisp.org>
51737
51738         * lib/byteswap_.h (bswap_32): Fix formula.
51739
51740 2007-03-06  Bruno Haible  <bruno@clisp.org>
51741
51742         * modules/sprintf-posix-tests: New file.
51743         * tests/test-sprintf-posix.c: New file.
51744
51745         * modules/sprintf-posix: New file.
51746         * lib/sprintf.c: New file.
51747         * m4/sprintf-posix.m4: New file.
51748         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Set also GNULIB_SPRINTF_POSIX,
51749         REPLACE_SPRINTF.
51750         * lib/stdio_.h (sprintf): New declaration.
51751         * modules/stdio (Makefile.am): Substitute also GNULIB_SPRINTF_POSIX,
51752         REPLACE_SPRINTF.
51753
51754 2007-03-06  Bruno Haible  <bruno@clisp.org>
51755
51756         * modules/vsprintf-posix-tests: New file.
51757         * tests/test-vsprintf-posix.c: New file.
51758         * tests/test-sprintf-posix.h: New file.
51759
51760         * modules/vsprintf-posix: New file.
51761         * lib/vsprintf.c: New file.
51762         * m4/vsprintf-posix.m4: New file.
51763         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Set also GNULIB_VSPRINTF_POSIX,
51764         REPLACE_VSPRINTF.
51765         * lib/stdio_.h (vsprintf): New declaration.
51766         * modules/stdio (Makefile.am): Substitute also GNULIB_VSPRINTF_POSIX,
51767         REPLACE_VSPRINTF.
51768
51769 2007-03-06  Bruno Haible  <bruno@clisp.org>
51770
51771         * modules/vsnprintf (Depend-on): Remove minmax.
51772
51773 2007-03-06  Bruno Haible  <bruno@clisp.org>
51774
51775         * modules/snprintf-posix-tests: New file.
51776         * tests/test-snprintf-posix.c: New file.
51777
51778         * modules/snprintf-posix: New file.
51779         * m4/snprintf-posix.m4: New file.
51780         * m4/snprintf.m4 (gl_REPLACE_SNPRINTF): New macro, extracted from
51781         gl_FUNC_SNPRINTF.
51782         (gl_FUNC_SNPRINTF): Invoke it.
51783         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Set also REPLACE_SNPRINTF.
51784         * lib/stdio_.h (snprintf): Define as a replacement if REPLACE_SNPRINTF
51785         is set.
51786         * modules/stdio (Makefile.am): Substitute also REPLACE_SNPRINTF.
51787
51788 2007-03-06  Bruno Haible  <bruno@clisp.org>
51789
51790         * modules/vsnprintf-posix-tests: New file.
51791         * tests/test-vsnprintf-posix.c: New file.
51792         * tests/test-snprintf-posix.h: New file.
51793
51794         * modules/vsnprintf-posix: New file.
51795         * m4/vsnprintf-posix.m4: New file.
51796         * m4/vsnprintf.m4 (gl_REPLACE_VSNPRINTF): New macro, extracted from
51797         gl_FUNC_VSNPRINTF.
51798         (gl_FUNC_VSNPRINTF): Invoke it.
51799         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Set also REPLACE_VSNPRINTF.
51800         * lib/stdio_.h (vsnprintf): Define as a replacement if
51801         REPLACE_VSNPRINTF is set.
51802         * modules/stdio (Makefile.am): Substitute also REPLACE_VSNPRINTF.
51803
51804 2007-03-06  Bruno Haible  <bruno@clisp.org>
51805
51806         * m4/vasnprintf.m4 (gl_REPLACE_VASNPRINTF): Test for vasnprintf here.
51807         * m4/vasprintf-posix.m4 (gl_FUNC_VASPRINTF_POSIX): ... not here.
51808
51809 2007-03-06  Bruno Haible  <bruno@clisp.org>
51810
51811         * lib/math_.h (acosl): Declare also if HAVE_DECL_ACOSL is set.
51812         (asinl): Declare also if HAVE_DECL_ASINL is set.
51813         (atanl): Declare also if HAVE_DECL_ATANL is set.
51814         (ceill): Declare also if HAVE_DECL_CEILL is set.
51815         (cosl): Declare also if HAVE_DECL_COSL is set.
51816         (expl): Declare also if HAVE_DECL_EXPL is set.
51817         (floorl): Declare also if HAVE_DECL_FLOORL is set.
51818         (frexpl): Declare also if HAVE_DECL_FREXPL is set.
51819         (ldexpl): Declare also if HAVE_DECL_LDEXPL is set.
51820         (logl): Declare also if HAVE_DECL_LOGL is set.
51821         (sinl): Declare also if HAVE_DECL_SINL is set.
51822         (sqrtl): Declare also if HAVE_DECL_SQRTL is set.
51823         (tanl): Declare also if HAVE_DECL_TANL is set.
51824         * modules/math (Makefile.am): Substitute the values of HAVE_DECL_*.
51825         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Set HAVE_DECL_* to 1.
51826         * m4/printf-frexpl.m4 (gl_FUNC_PRINTF_FREXPL): Fix tests for the
51827         declaration of frexpl, ldexpl.
51828         * modules/printf-frexpl (Depends-on): Add math.
51829         * lib/printf-frexp.c (frexpl, ldexpl): Undo last change.
51830
51831 2007-03-05  Bruno Haible  <bruno@clisp.org>
51832
51833         * m4/printf-frexpl.m4 (gl_FUNC_PRINTF_FREXPL): Also test whether
51834         frexpl and ldexpl are declared.
51835         * lib/printf-frexp.c (frexpl, ldexpl): Provide fallback declarations.
51836
51837 2007-03-05  Bruno Haible  <bruno@clisp.org>
51838
51839         * gnulib-tool (func_get_automake_snippet): Don't synthesize an
51840         EXTRA_lib_SOURCES augmentation for the relocatable-prog-wrapper module.
51841
51842 2007-03-05  Bruno Haible  <bruno@clisp.org>
51843
51844         * lib/stdio_.h: Include <stddef.h>.
51845
51846 2007-03-05  Bruno Haible  <bruno@clisp.org>
51847
51848         * m4/printf.m4 (gl_SNPRINTF_DIRECTIVE_N): New macro.
51849
51850 2007-03-05  Bruno Haible  <bruno@clisp.org>
51851
51852         * m4/printf.m4: Update with info about OpenBSD 3.9, HP-UX 10.20,
51853         NetBSD 4, from Ralf Wildenhues.
51854
51855 2007-03-04  Bruno Haible  <bruno@clisp.org>
51856
51857         * lib/vasprintf.h: Update #if logic for the case when the functions
51858         exist but are overridden.
51859
51860 2007-03-04  Bruno Haible  <bruno@clisp.org>
51861
51862         * m4/printf.m4 (gl_PRINTF_DIRECTIVE_A): Exclude two buggy
51863         implementations: glibc-2.4 and MacOS X 10.3.
51864         * tests/test-vasnprintf-posix.c (test_function): Test also the case
51865         that exhibits the bugs in glibc-2.4 and MacOS X 10.3.
51866         * tests/test-vasprintf-posix.c (test_function): Likewise.
51867
51868 2007-03-04  Bruno Haible  <bruno@clisp.org>
51869
51870         * modules/vasprintf-posix-tests: New file.
51871         * tests/test-vasprintf-posix.c: New file.
51872
51873         * modules/vasprintf-posix: New file.
51874         * lib/vasprintf.h (asprintf, vasprintf): Rename if REPLACE_VASPRINTF is
51875         defined.
51876         * m4/vasprintf-posix.m4: New file.
51877         * m4/vasprintf.m4 (gl_REPLACE_VASPRINTF): New macro, extracted from
51878         gl_FUNC_VASPRINTF.
51879         (gl_FUNC_VASPRINTF): Invoke it.
51880         * m4/vasnprintf.m4 (gl_REPLACE_VASNPRINTF): Define REPLACE_VASNPRINTF
51881         here.
51882         * m4/vasnprintf-posix.m4 (gl_FUNC_VASNPRINTF_POSIX): Not here.
51883
51884 2007-03-04  Bruno Haible  <bruno@clisp.org>
51885
51886         * lib/sys_time_.h: Rename GETTIMEOFDAY_REPLACEMENT to
51887         REPLACE_GETTIMEOFDAY.
51888         * modules/sys_time (Makefile.am): Likewise.
51889         * m4/sys_time_h.m4: Likewise.
51890         * m4/gettimeofday.m4: Likewise.
51891
51892 2007-03-04  Bruno Haible  <bruno@clisp.org>
51893
51894         * modules/vasnprintf-posix-tests: New file.
51895         * tests/test-vasnprintf-posix.c: New file.
51896
51897         * modules/vasnprintf-posix: New file.
51898         * lib/vasnprintf.c: Include isnan.h, isnanl.h, printf-frexp.h,
51899         printf-frexpl.h.
51900         (VASNPRINTF): Handle the 'a' and 'A' directives here, if needed.
51901         * lib/vasnprintf.h (asnprintf, vasnprintf): Rename if
51902         REPLACE_VASNPRINTF is defined.
51903         * m4/vasnprintf.m4 (gl_REPLACE_VASNPRINTF): New macro, extracted from
51904         gl_FUNC_VASNPRINTF.
51905         (gl_FUNC_VASNPRINTF): Invoke it.
51906         * m4/vasnprintf-posix.m4: New file.
51907         * m4/printf.m4: New file.
51908
51909 2007-03-04  Bruno Haible  <bruno@clisp.org>
51910
51911         Compile progreloc.c only if --enable-relocatable is specified.
51912         * m4/relocatable.m4 (gl_RELOCATABLE): Arrange to compile progreloc.c
51913         if --enable-relocatable was specified.
51914         * modules/relocatable-prog (Makefile.am): Remove progreloc.c from
51915         lib_SOURCES.
51916
51917 2007-03-04  Jim Meyering  <jim@meyering.net>
51918
51919         * lib/acl.c (ACL_NOT_WELL_SUPPORTED): New macro.
51920         Use it consistently, rather than enumerating errno constants.
51921
51922 2007-03-04  Bruno Haible  <bruno@clisp.org>
51923
51924         * modules/xvasprintf-tests: New file.
51925         * tests/test-xvasprintf.c: New file.
51926
51927         * modules/vasprintf-tests: New file.
51928         * tests/test-vasprintf.c: New file.
51929
51930         * modules/vasnprintf-tests: New file.
51931         * tests/test-vasnprintf.c: New file.
51932
51933         * modules/vsnprintf-tests: New file.
51934         * tests/test-vsnprintf.c: New file.
51935
51936         * modules/snprintf-tests: New file.
51937         * tests/test-snprintf.c: New file.
51938
51939 2007-03-04  Bruno Haible  <bruno@clisp.org>
51940
51941         Compile relocatable.c only if --enable-relocatable is specified.
51942         * m4/relocatable-lib.m4 (gl_RELOCATABLE_LIBRARY_BODY): Renamed from
51943         gl_RELOCATABLE_LIBRARY.
51944         (gl_RELOCATABLE_LIBRARY, gl_RELOCATABLE_LIBRARY_SEPARATE): New macros.
51945         * m4/relocatable.m4 (gl_RELOCATABLE): Invoke gl_RELOCATABLE_LIBRARY.
51946         (gl_RELOCATABLE_BODY): Require gl_RELOCATABLE_LIBRARY_BODY instead of
51947         gl_RELOCATABLE_LIBRARY.
51948         * modules/relocatable-lib (configure.ac): Invoke gl_RELOCATABLE_LIBRARY.
51949         (Makefile.am): Remove lib_SOURCES.
51950         * modules/relocatable-lib-lgpl (configure.ac): Invoke
51951         gl_RELOCATABLE_LIBRARY.
51952         (Makefile.am): Remove lib_SOURCES.
51953         * modules/relocatable-prog (Makefile.am): Don't compile relocatable.c
51954         always.
51955         * modules/relocatable-prog-wrapper (configure.ac): Invoke
51956         gl_RELOCATABLE_LIBRARY_SEPARATE instead of gl_RELOCATABLE_LIBRARY.
51957
51958 2007-03-04  Bruno Haible  <bruno@clisp.org>
51959
51960         * modules/argmatch-tests: New file.
51961         * tests/test-argmatch.c: New file.
51962
51963         * tests/test-allocsa.c (main): Halve the number of loop runs.
51964
51965         * modules/alloca-opt-tests: New file.
51966         * tests/test-alloca-opt.c: New file.
51967
51968 2007-03-04  Jim Meyering  <jim@meyering.net>
51969
51970         Work around difference between Linux ACLs and Solaris 10 ZFS.
51971         * lib/acl.c (set_acl): Revert to using chmod_or_fchmod also
51972         for EINVAL.
51973
51974 2007-03-03  Bruno Haible  <bruno@clisp.org>
51975
51976         * modules/relocatable-prog (Depends-on): Add back progreloc's
51977         dependencies: canonicalize-lgpl, xalloc, xreadlink, stdbool, unistd.
51978
51979 2007-03-03  Bruno Haible  <bruno@clisp.org>
51980
51981         * modules/relocatable-lib-lgpl: Renamed from modules/relocatable-lib.
51982         * modules/relocatable-lib: New file.
51983
51984 2007-03-03  Bruno Haible  <bruno@clisp.org>
51985
51986         * modules/relocatable-prog: Renamed from modules/relocatable.
51987         * doc/relocatable-maint.texi: Talk about module 'relocatable-prog'.
51988
51989 2007-03-03  Bruno Haible  <bruno@clisp.org>
51990
51991         * modules/relocatable-script (Files): Add doc/relocatable.texi,
51992         m4/relocatable-lib.m4.
51993         (Depends-on): Remove 'relocatable'.
51994         (configure.ac): Add gl_RELOCATABLE_NOP.
51995
51996 2007-03-03  Bruno Haible  <bruno@clisp.org>
51997
51998         * modules/relocatable-prog-wrapper: New file.
51999         * modules/relocatable (Depends-on): Add it. Remove all other
52000         dependencies except progname.
52001         (Files): Remove build-aux/install-reloc, lib/relocwrapper.c.
52002
52003         * m4/strerror.m4 (gl_FUNC_STRERROR_SEPARATE): New macro.
52004         (gl_FUNC_STRERROR): Nop.
52005         * lib/strerror.c: Compile the file only if !HAVE_STRERROR.
52006
52007         * m4/setenv.m4 (gl_FUNC_SETENV_SEPARATE): New macro.
52008         * lib/setenv.c: Compile the file only if _LIBC || !HAVE_SETENV.
52009
52010         * m4/readlink.m4 (gl_FUNC_READLINK_SEPARATE): New macro.
52011         (gl_FUNC_READLINK): Update.
52012
52013         * m4/canonicalize-lgpl.m4 (gl_CANONICALIZE_LGPL_SEPARATE): New macro.
52014
52015 2007-03-03  Bruno Haible  <bruno@clisp.org>
52016
52017         * lib/xreadlink.c: Include <unistd.h> unconditionally.
52018         * modules/xreadlink (Depends-on): Add unistd.
52019         * modules/xreadlink-with-size (Depends-on): Likewise.
52020
52021 2007-03-03  Bruno Haible  <bruno@clisp.org>
52022
52023         * m4/setenv.m4 (gl_FUNC_SETENV, gl_FUNC_UNSETENV): New macros,
52024         extracted from gt_FUNC_SETENV.
52025         (gt_FUNC_SETENV): Remove macro.
52026         * modules/setenv (configure.ac): Add gl_FUNC_SETENV, gl_FUNC_UNSETENV,
52027         remove gt_FUNC_SETENV.
52028
52029 2007-03-03  Bruno Haible  <bruno@clisp.org>
52030
52031         * m4/relocatable-lib.m4 (gl_RELOCATABLE_LIBRARY): Define
52032         ENABLE_RELOCATABLE here.
52033         * m4/relocatable.m4 (gl_RELOCATABLE_BODY): Don't define it here.
52034
52035 2007-03-03  Bruno Haible  <bruno@clisp.org>
52036
52037         * modules/rbtreehash-list-tests (Depends-on): Add progname.
52038         * tests/test-rbtreehash_list.c: Include progname.h.
52039         (main): Call set_program_name.
52040
52041         * modules/rbtree-oset-tests (Depends-on): Add progname.
52042         * tests/test-rbtree_oset.c: Include progname.h.
52043         (main): Call set_program_name.
52044
52045         * modules/rbtree-list-tests (Depends-on): Add progname.
52046         * tests/test-rbtree_list.c: Include progname.h.
52047         (main): Call set_program_name.
52048
52049         * modules/linked-list-tests (Depends-on): Add progname.
52050         * tests/test-linked_list.c: Include progname.h.
52051         (main): Call set_program_name.
52052
52053 2007-03-03  Bruno Haible  <bruno@clisp.org>
52054
52055         * lib/glob-libc.h (_Restrict_): New macro, copied from lib/regex.h.
52056         All uses of __restrict changed to _Restrict_.
52057         * lib/glob_.h (__restrict): Remove macro.
52058
52059 2007-03-02  Bruno Haible  <bruno@clisp.org>
52060
52061         * modules/gettext (configure.ac): Require gettext infrastructure
52062         from version 0.16.1.
52063
52064 2007-03-02  Bruno Haible  <bruno@clisp.org>
52065
52066         * modules/linkedhash-list-tests (Depends-on): Add progname.
52067         * tests/test-linkedhash_list.c: Include progname.h.
52068         (main): Call set_program_name.
52069
52070         * modules/carray-list-tests (Depends-on): Add progname.
52071         * tests/test-carray_list.c: Include progname.h.
52072         (main): Call set_program_name.
52073
52074         * modules/avltreehash-list-tests (Depends-on): Add progname.
52075         * tests/test-avltreehash_list.c: Include progname.h.
52076         (main): Call set_program_name.
52077
52078         * modules/avltree-oset-tests (Depends-on): Add progname.
52079         * tests/test-avltree_oset.c: Include progname.h.
52080         (main): Call set_program_name.
52081
52082         * modules/avltree-list-tests (Depends-on): Add progname.
52083         * tests/test-avltree_list.c: Include progname.h.
52084         (main): Call set_program_name.
52085
52086         * modules/array-oset-tests (Depends-on): Add progname.
52087         * tests/test-array_oset.c: Include progname.h.
52088         (main): Call set_program_name.
52089
52090         * modules/array-list-tests (Depends-on): Add progname.
52091         * tests/test-array_list.c: Include progname.h.
52092         (main): Call set_program_name.
52093
52094         * modules/argp-tests (Depends-on): Add progname.
52095         * tests/test-argp.c: Include argp.h first. Include progname.h.
52096         (main): Call set_program_name.
52097
52098 2007-03-02  Paul Eggert  <eggert@cs.ucla.edu>
52099
52100         * doc/gnulib-tool.texi (Initial import): Reword description of
52101         _FILE_OFFSET_BITS and _GNU_SOURCE, since they sometimes have a
52102         limited effect even if defined after the first system include.
52103
52104 2007-03-01  Bruno Haible  <bruno@clisp.org>
52105
52106         * build-aux/config.libpath: Update to libtool-1.5.22.
52107         Reported by Albert Chin <bug-gnulib@mlists.thewrittenword.com>.
52108
52109 2007-03-01  Bruno Haible  <bruno@clisp.org>
52110
52111         * doc/relocatable-maint.texi: Recommend to set foo_CPPFLAGS, not
52112         foo_CFLAGS.
52113         Reported by Ralf Wildenhues.
52114
52115 2007-03-01  Bruno Haible  <bruno@clisp.org>
52116
52117         * build-aux/install-reloc: Remove object files left over by some
52118         compilers.
52119         Reported by Ralf Wildenhues.
52120
52121 2007-03-01  Bruno Haible  <bruno@clisp.org>
52122
52123         * build-aux/install-reloc: Break long lines.
52124
52125 2007-03-01  Bruno Haible  <bruno@clisp.org>
52126
52127         * doc/relocatable.texi: Document that it may not work on OpenBSD.
52128         Reported by Ralf Wildenhues.
52129
52130 2007-03-01  Bruno Haible  <bruno@clisp.org>
52131
52132         * doc/gnulib-tool.texi (Initial import): Remove paragraph about
52133         include ordering constraints.
52134
52135 2007-03-01  Paul Eggert  <eggert@cs.ucla.edu>
52136
52137         Followup to the 2007-02-12 patch, using suggestions from Bruno Haible in
52138         <http://lists.gnu.org/archive/html/bug-gnulib/2007-02/msg00136.html>.
52139         * doc/gnulib-tool.texi (Initial import): Mention _FILE_OFFSET_BITS
52140         as another example.
52141         * lib/time_.h: Fix misspelling.
52142         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP):
52143         Require gl_HEADER_TIME_H_DEFAULTS.
52144         * m4/strptime.m4 (gl_FUNC_STRPTIME): Likewise.
52145         * m4/time_r.m4 (gl_TIME_R): Likewise.
52146         * m4/timegm.m4 (gl_FUNC_TIMEGM): Likewise.
52147
52148 2007-03-01  Bruno Haible  <bruno@clisp.org>
52149
52150         * m4/utimecmp.m4 (gl_UTIMECMP): Don't require gl_TIMESPEC.
52151         * m4/utimens.m4 (gl_UTIMENS): Likewise.
52152
52153 2007-03-01  Jim Meyering  <jim@meyering.net>
52154
52155         * modules/xreadlink (Maintainer): Add my name.
52156         * modules/xreadlink-with-size (Depends-on): Alphabetize.
52157
52158 2007-02-26  Ben Pfaff  <blp@cs.stanford.edu>
52159             Bruno Haible  <bruno@clisp.org>
52160
52161         * build-aux/install-reloc: Compile also c-ctype.c.
52162         * build-aux/relocatable.sh.in: New file.
52163         * doc/relocatable.texi: New file.
52164         * doc/relocatable-maint.texi: New file.
52165         * doc/gnulib.texi: Include relocatable-maint.texi.
52166         * lib/progreloc.c: Include unistd.h unconditionally.
52167         * lib/relocwrapper.c: Include unistd.h unconditionally.
52168         Include c-ctype.h.
52169         (add_dotbin): Use c_tolower.
52170         * m4/relocatable-lib.m4: New file, extracted from m4/relocatable.m4.
52171         (gl_RELOCATABLE_LIBRARY): Renamed from AC_RELOCATABLE_LIBRARY.
52172         (gl_RELOCATABLE_NOP): Renamed from AC_RELOCATABLE_NOP.
52173         * m4/relocatable.m4 (AC_RELOCATABLE_LIBRARY, AC_RELOCATABLE_NOP): Move
52174         to m4/relocatable-lib.m4.
52175         (gl_RELOCATABLE): Renamed from AC_RELOCATABLE. Set also
52176         RELOCATABLE_CONFIG_H_DIR, RELOCATABLE_SRC_DIR, RELOCATABLE_BUILD_DIR.
52177         (gl_RELOCATABLE_BODY): Renamed from AC_RELOCATABLE_BODY. Don't
52178         require obsolete macro AC_EXEEXT. Don't check for unistd.h. Don't set
52179         SET_RELOCATABLE. Instead set RELOCATABLE_LDFLAGS, INSTALL_PROGRAM_ENV.
52180         * modules/relocatable: New file.
52181         * modules/relocatable-lib: New file.
52182         * modules/relocatable-script: New file.
52183
52184 2007-02-28  Bruno Haible  <bruno@clisp.org>
52185
52186         Import --enable-relocatable infrastructure.
52187         * build-aux/config.libpath: New file, from GNU gettext.
52188         * build-aux/install-reloc: New file, from GNU gettext.
52189         * build-aux/reloc-ldflags: New file, from GNU gettext.
52190         * lib/relocatable.h: New file, from GNU gettext.
52191         * lib/relocatable.c: New file, from GNU gettext.
52192         * lib/relocwrapper.c: New file, from GNU gettext.
52193         * m4/relocatable.m4: New file, from GNU gettext.
52194
52195 2007-02-28  Bruno Haible  <bruno@clisp.org>
52196
52197         * MODULES.html.sh (File system functions): Add xreadlink-with-size.
52198
52199         * modules/xreadlink: New file, from GNU gettext with modifications.
52200         * lib/xreadlink.c: New file, from GNU gettext.
52201         * lib/xreadlink.h: Add comments.
52202         (xreadlink): New declaration.
52203
52204         * modules/xreadlink-with-size: Renamed from modules/xreadlink.
52205         (Files): Remove m4/xreadlink.m4. Replace lib/xreadlink.c with
52206         lib/xreadlink-with-size.c.
52207         (configure.ac): Remove gl_XREADLINK invocation.
52208         (Makefile.am): Augment lib_SOURCES.
52209         * m4/xreadlink.m4: Remove file.
52210         * lib/xreadlink-with-size.c: Renamed from lib/xreadlink.c.
52211         (xreadlink_with_size): Renamed from xreadink.
52212         * lib/xreadlink.h (xreadlink_with_size): Renamed from xreadink.
52213         * modules/canonicalize (Depends-on): Replace xreadlink with
52214         xreadlink-with-size.
52215         * lib/canonicalize.c (canonicalize_filename_mode): Update.
52216
52217 2007-02-25  Jim Meyering  <jim@meyering.net>
52218
52219         * build-aux/announce-gen: When complaining about excess arguments,
52220         list them.
52221
52222 2007-02-25  Paul Eggert  <eggert@cs.ucla.edu>
52223
52224         * README: Document signed integer overflow situation more
52225         accurately.
52226
52227 2007-02-25  Bruno Haible  <bruno@clisp.org>
52228
52229         * lib/vasnprintf.c (VASNPRINTF): Fix estimate of size needed for a
52230         'a' or 'A' conversion.
52231
52232 2007-02-25  Bruno Haible  <bruno@clisp.org>
52233
52234         * modules/filename: Renamed from modules/pathname.
52235         (Files): Replace lib/pathname.h with lib/filename.h. Replace
52236         lib/concatpath.c with lib/concat-filename.c.
52237         (Makefile.am): Update.
52238         (Include): Replace pathname.h with filename.h.
52239         * lib/filename.h: Renamed from lib/pathname.h.
52240         (concatenated_filename): Renamed from concatenated_pathname.
52241         * lib/concat-filename.c: Renamed from lib/concatpath.c.
52242         (concatenated_filename): Renamed from concatenated_pathname.
52243         * lib/findprog.c: Include filename.h instead of pathname.h.
52244         (find_in_path): Update.
52245         * lib/javacomp.c: Include filename.h instead of pathname.h.
52246         (is_envjavac_gcj43_usable, is_envjavac_oldgcj_14_14_usable,
52247         is_envjavac_oldgcj_14_13_usable, is_envjavac_nongcj_usable,
52248         is_gcj_present, is_gcj43_usable, is_oldgcj_14_14_usable,
52249         is_oldgcj_14_13_usable, is_javac_usable): Update.
52250         * lib/javaexec.c: Include filename.h instead of pathname.h.
52251         (execute_java_class): Update.
52252         * modules/findprog: Update.
52253         * modules/javacomp: Update.
52254         * modules/javaexec: Update.
52255         * MODULES.html.sh (File system functions): Add 'filename', remove
52256         'pathname'.
52257
52258 2007-02-25  Bruno Haible  <bruno@clisp.org>
52259
52260         * modules/printf-frexpl-tests: New file.
52261         * tests/test-printf-frexpl.c: New file.
52262
52263         * modules/printf-frexpl: New file.
52264         * lib/printf-frexpl.h: New file.
52265         * lib/printf-frexpl.c: New file.
52266         * m4/printf-frexpl.m4: New file.
52267
52268 2007-02-25  Bruno Haible  <bruno@clisp.org>
52269
52270         * modules/printf-frexp-tests: New file.
52271         * tests/test-printf-frexp.c: New file.
52272
52273         * modules/printf-frexp: New file.
52274         * lib/printf-frexp.h: New file.
52275         * lib/printf-frexp.c: New file.
52276         * m4/printf-frexp.m4: New file.
52277
52278 2007-02-25  Bruno Haible  <bruno@clisp.org>
52279
52280         Assume automake >= 1.10 for the tests.
52281         * modules/arcfour-tests (TESTS): Remove $(EXEEXT) suffix.
52282         * modules/arctwo-tests: Likewise.
52283         * modules/argp-tests: Likewise.
52284         * modules/avltree-list-tests: Likewise.
52285         * modules/avltree-oset-tests: Likewise.
52286         * modules/avltreehash-list-tests: Likewise.
52287         * modules/carray-list-tests: Likewise.
52288         * modules/crc-tests: Likewise.
52289         * modules/des-tests: Likewise.
52290         * modules/gc-arcfour-tests: Likewise.
52291         * modules/gc-arctwo-tests: Likewise.
52292         * modules/gc-des-tests: Likewise.
52293         * modules/gc-hmac-md5-tests: Likewise.
52294         * modules/gc-hmac-sha1-tests: Likewise.
52295         * modules/gc-md2-tests: Likewise.
52296         * modules/gc-md4-tests: Likewise.
52297         * modules/gc-md5-tests: Likewise.
52298         * modules/gc-pbkdf2-sha1-tests: Likewise.
52299         * modules/gc-rijndael-tests: Likewise.
52300         * modules/gc-sha1-tests: Likewise.
52301         * modules/gc-tests: Likewise.
52302         * modules/getaddrinfo-tests: Likewise.
52303         * modules/hmac-md5-tests: Likewise.
52304         * modules/hmac-sha1-tests: Likewise.
52305         * modules/linked-list-tests: Likewise.
52306         * modules/linkedhash-list-tests: Likewise.
52307         * modules/lock-tests: Likewise.
52308         * modules/md2-tests: Likewise.
52309         * modules/md4-tests: Likewise.
52310         * modules/md5-tests: Likewise.
52311         * modules/rbtree-list-tests: Likewise.
52312         * modules/rbtree-oset-tests: Likewise.
52313         * modules/rbtreehash-list-tests: Likewise.
52314         * modules/read-file-tests: Likewise.
52315         * modules/rijndael-tests: Likewise.
52316         * modules/stdint-tests: Likewise.
52317         * modules/tls-tests: Likewise.
52318
52319 2007-02-24  Bruno Haible  <bruno@clisp.org>
52320
52321         * lib/isnanl.h (isnanl): Define through isnan if isnan is a macro.
52322         * m4/isnan.m4 (gl_FUNC_ISNAN_NO_LIBM): Don't check for isnan as a
52323         function; instead check whether isnan with a double argument links.
52324         * m4/isnanl.m4 (gl_FUNC_ISNANL_NO_LIBM): Don't check for isnanl as a
52325         function; instead check whether isnan with a 'long double' argument
52326         links.
52327         Reported by Eric Blake <ebb9@byu.net>.
52328
52329 2007-02-24  Bruno Haible  <bruno@clisp.org>
52330
52331         * lib/isnan.c: Support the 'long double' case if USE_LONG_DOUBLE is
52332         defined.
52333         * lib/isnanl.c: Remove all code. Just include isnan.c.
52334         * modules/isnanl-nolibm (Files): Add lib/isnan.c.
52335
52336 2007-02-25  Jim Meyering  <jim@meyering.net>
52337
52338         Avoid conflicting types for 'unsetenv' on FreeBSD.
52339         * lib/putenv.c (_unsetenv): Rename from "unsetenv", to avoid
52340         conflicting with FreeBSD's (5.0 and 6.1) function declaration
52341         in stdlib.h.
52342
52343 2007-02-24  Bruno Haible  <bruno@clisp.org>
52344
52345         * modules/isnanl-nolibm-tests: New file.
52346         * tests/test-isnanl.c: New file.
52347
52348         * modules/isnanl-nolibm: New file.
52349         * lib/isnanl.h: New file.
52350         * lib/isnanl.c: New file.
52351         * m4/isnanl.m4: New file.
52352
52353 2007-02-24  Bruno Haible  <bruno@clisp.org>
52354
52355         * modules/isnan-nolibm-tests: New file.
52356         * tests/test-isnan.c: New file.
52357
52358         * modules/isnan-nolibm: New file.
52359         * lib/isnan.h: New file.
52360         * lib/isnan.c: New file.
52361         * m4/isnan.m4: New file.
52362
52363 2007-02-24  Bruno Haible  <bruno@clisp.org>
52364
52365         * lib/frexpl.c (frexpl): Correct return values for x = 1.0L. Don't
52366         assume that an exponent fits in 20 bits.
52367
52368 2007-02-24  Jim Meyering  <jim@meyering.net>
52369
52370         * m4/regex.m4: Update the description of the configure-time option,
52371         --without-included-regex, to state accurately what the defaults are,
52372         and perhaps to give people an idea why using this option is risky.
52373
52374 2007-02-24  Paul Eggert  <eggert@cs.ucla.edu>
52375
52376         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP): Check for a nanosleep that
52377         loops on small arguments.  This attempts to avoid the problem
52378         Bruno Haible reported for AIX 4.3.2 in
52379         <http://lists.gnu.org/archive/html/bug-gnulib/2007-02/msg00309.html>.
52380
52381 2007-02-23  Bruno Haible  <bruno@clisp.org>
52382
52383         * m4/perl.m4 (gl_PERL): Require version 5.005, not 5.003.
52384         Needed for help2man.
52385
52386 2007-02-23  Karl Berry  <karl@gnu.org>
52387
52388         * doc/gnulib-tool.texi (CVS Issues): mention that when foo_.h
52389         exists, foo.h should be cvs-ignored, not committed.
52390
52391 2007-02-23  Eric Blake  <ebb9@byu.net>
52392
52393         * lib/getdate.h (includes):  Include <time.h>, not "timespec.h".
52394         * lib/stat-time.h (includes): Likewise.
52395         * lib/utimecmp.c (includes): Likewise.
52396         * lib/utimens.h (includes): Likewise.
52397         * lib/getdate.y (includes): Also include "timespec.h" for use
52398         internal to the module.
52399         * modules/utimens (Depends-on): Revert yesterday's patch.
52400         * modules/nanosleep (Depends-on): Add missing dependency.
52401
52402 2007-02-22  Bruno Haible  <bruno@clisp.org>
52403
52404         * lib/glob.c: Don't include getlogin_r.h.
52405
52406 2007-02-22  Jim Meyering  <jim@meyering.net>
52407
52408         * modules/utimens (Depends-on): Add timespec, required for
52409         utimens.h's inclusion of timespec.h.
52410
52411 2007-02-21  Paul Eggert  <eggert@cs.ucla.edu>
52412
52413         * lib/getcwd.c (__getcwd): Undo previous change; it mishandled
52414         long unreadable paths in GNU/Linux.  Problem reported by Andreas
52415         Schwab in
52416         <http://lists.gnu.org/archive/html/bug-gnulib/2007-02/msg00261.html>.
52417         I'll try to think of a better way to fix the Solaris problem.
52418
52419         * lib/getcwd.c (__getcwd): Don't assume getcwd (NULL, 0) works
52420         like glibc; on Solaris 10, it fails with errno == EINVAL.
52421         POSIX says the behavior is unspecified if the first argument is NULL,
52422         so play it safe and never pass NULL to the system getcwd.
52423
52424 2007-02-21  Jim Meyering  <jim@meyering.net>
52425
52426         * lib/gettimeofday.c (rpl_gettimeofday): Remove declaration
52427         of gettimeofday.  It would conflict with the one now always
52428         provided via sys_time_.h.  Reported by Matthew Woehlke, as
52429         an IRIX 6.5 build failure.
52430
52431 2007-02-20  Paul Eggert  <eggert@cs.ucla.edu>
52432
52433         Minor fixups to port to Solaris 10 with Sun C 5.8.
52434         * lib/getcwd.c [!_LIBC]: Include dirfd.h, since we use dirfd.
52435         * modules/getcwd (Depends-on): Add dirfd.
52436         * lib/putenv.c (putenv): #undef it.
52437         (rpl_putenv): New decl.
52438         (malloc, free): Include <stdlib.h> rather than prototyping separately.
52439
52440 2007-02-20  Bruno Haible  <bruno@clisp.org>
52441
52442         * modules/stdio-tests: New file.
52443         * tests/test-stdio.c: New file.
52444
52445         * modules/vsnprintf (Files): Remove lib/vsnprintf.h.
52446         (Depends-on): Add stdio.
52447         (configure.ac): Invoke gl_STDIO_MODULE_INDICATOR.
52448         (Include): Use <stdio.h> instead of vsnprintf.h.
52449         * m4/vsnprintf.m4 (gl_FUNC_VSNPRINTF): Require gl_STDIO_H_DEFAULTS. Set
52450         HAVE_DECL_VSNPRINTF.
52451         * lib/vsnprintf.c: Include <stdio.h> instead of vsnprintf.h.
52452
52453         * modules/snprintf (Files): Remove lib/snprintf.h.
52454         (Depends-on): Add stdio.
52455         (configure.ac): Invoke gl_STDIO_MODULE_INDICATOR.
52456         (Include): Use <stdio.h> instead of snprintf.h.
52457         * m4/snprintf.m4 (gl_FUNC_SNPRINTF): Require gl_STDIO_H_DEFAULTS. Set
52458         HAVE_DECL_SNPRINTF.
52459         * lib/snprintf.c: Include <stdio.h> instead of snprintf.h.
52460         * lib/getaddrinfo.c: Likewise.
52461
52462         * modules/stdio: New file.
52463         * lib/stdio_.h: New file, incorporating snprintf.h and vsnprintf.h.
52464         * lib/snprintf.h: Remove file.
52465         * lib/vsnprintf.h: Remove file.
52466         * lib/.cppi-disable: Remove snprintf.h.
52467         * m4/stdio_h.m4: New file.
52468         * MODULES.html.sh (Support for systems lacking ISO C 99): Add stdio.
52469
52470 2007-02-20  Jim Meyering  <jim@meyering.net>
52471
52472         * lib/ftruncate.c [HAVE_CHSIZE]: Document that this code is
52473         used by e.g., mingw.  From Bruno Haible.
52474
52475 2007-02-19  Bruno Haible  <bruno@clisp.org>
52476
52477         * lib/string_.h: Use "#pragma GCC system_header" to suppress some gcc
52478         warnings.
52479         Reported by Ben Pfaff <blp@cs.stanford.edu>.
52480
52481 2007-02-19  Bruno Haible  <bruno@clisp.org>
52482
52483         * m4/ftruncate.m4 (gl_FUNC_FTRUNCATE): Don't request a complaint mail
52484         from mingw users.
52485
52486 2007-02-19  Bruno Haible  <bruno@clisp.org>
52487
52488         * lib/stdlib_.h: Use "#pragma GCC system_header" to suppress some gcc
52489         warnings.
52490         Reported by Joel E. Denny <jdenny@ces.clemson.edu> via Paul Eggert.
52491
52492 2007-02-19  Jim Meyering  <jim@meyering.net>
52493
52494         Don't use FD after a successful "fdopendir (fd)".
52495         * lib/getcwd.c (__getcwd) [AT_FDCWD]: fdopendir (fd) usually closes fd.
52496         Reset it by calling dirfd on the just-obtained DIR*.
52497
52498         * m4/ftruncate.m4: Adjust comment to give this module a 3-year reprieve.
52499         Prompted by a report from Bruno Haible that mingw lacks ftruncate.
52500
52501 2007-02-18  Bruno Haible  <bruno@clisp.org>
52502
52503         * lib/readlink.c: Include <unistd.h>.
52504         * m4/readlink.m4 (gl_FUNC_READLINK): Require gl_UNISTD_H_DEFAULTS. Set
52505         HAVE_READLINK.
52506         * modules/readlink (Depends-on): Add unistd.
52507         (configure.ac): Invoke gl_UNISTD_MODULE_INDICATOR.
52508         (Include): Add <unistd.h>.
52509
52510         * lib/getlogin_r.h: Remove file.
52511         * lib/getlogin_r.c: Include <unistd.h> instead of getlogin_r.h.
52512         * m4/getlogin_r.m4 (gl_GETLOGIN_R_SUBSTITUTE): Remove macro.
52513         (gl_GETLOGIN_R): Inline it here. Require gl_UNISTD_H_DEFAULTS. Set
52514         HAVE_DECL_GETLOGIN_R.
52515         * modules/getlogin_r (Files): Remove lib/getlogin_r.h.
52516         (configure.ac): Invoke gl_UNISTD_MODULE_INDICATOR.
52517         (Include): Use <unistd.h> instead of getlogin_r.h.
52518
52519         * lib/getcwd.h: Remove file.
52520         * lib/getcwd.c: Include <unistd.h> instead of getcwd.h.
52521         * lib/xgetcwd.c: Likewise.
52522         * m4/getcwd.m4 (gl_FUNC_GETCWD): Require gl_UNISTD_H_DEFAULTS. Set
52523         REPLACE_GETCWD. Don't define __GETCWD_PREFIX.
52524         * modules/getcwd (Files): Remove lib/getcwd.h.
52525         (Depends-on): Add unistd.
52526         (configure.ac): Invoke gl_UNISTD_MODULE_INDICATOR.
52527         (Include): Use <unistd.h> instad of getcwd.h.
52528
52529         * lib/ftruncate.c: Include <unistd.h> first.
52530         * m4/ftruncate.m4 (gl_FUNC_FTRUNCATE): Require gl_UNISTD_H_DEFAULTS.
52531         Set HAVE_FTRUNCATE.
52532         * modules/ftruncate (Depends-on): Add unistd.
52533         (configure.ac): Invoke gl_UNISTD_MODULE_INDICATOR.
52534
52535         * lib/fchdir.c: Include <unistd.h> first.
52536         * lib/dirent_.h: Test REPLACE_FCHDIR, not FCHDIR_REPLACEMENT.
52537         * m4/fchdir.m4 (gl_FUNC_FCHDIR): Require gl_UNISTD_H_DEFAULTS instead
52538         of gl_HEADER_UNISTD_DEFAULTS. Set REPLACE_FCHDIR. Don't set UNISTD_H.
52539         * modules/fchdir (configure.ac): Invoke gl_UNISTD_MODULE_INDICATOR.
52540         (Makefile.am): Substitute also REPLACE_FCHDIR into dirent.h.
52541
52542         * lib/dup2.c: Include <unistd.h> first.
52543         * m4/dup2.m4 (gl_FUNC_DUP2): Require gl_UNISTD_H_DEFAULTS. Set
52544         HAVE_DUP2.
52545         * modules/dup2 (Depends-on): Add unistd.
52546         (configure.ac): Invoke gl_UNISTD_MODULE_INDICATOR.
52547
52548         * lib/chown.c: Include <unistd.h> first. Undefine chown later.
52549         * m4/chown.m4 (gl_FUNC_CHOWN): Require gl_UNISTD_H_DEFAULTS. Set
52550         REPLACE_CHOWN. Don't define chown as a macro here.
52551         * modules/chown (Depends-on): Add unistd.
52552         (configure.ac): Invoke gl_UNISTD_MODULE_INDICATOR.
52553
52554         * lib/unistd_.h: Test HAVE_UNISTD_H determined at configure time.
52555         Add definition for GL_LINK_WARNING.
52556         (chown, dup2): New declarations.
52557         (fchdir): Test REPLACE_FCHDIR, not FCHDIR_REPLACEMENT. Provide optional
52558         link warning.
52559         (ftruncate): New declaration.
52560         (getcwd): New declaration, taken from old getcwd.h.
52561         (getlogin_r): New declaration, taken from old getlogin_r.h.
52562         (readlink): New declaration.
52563         * m4/unistd_h.m4 (gl_UNISTD_H): Renamed from gl_HEADER_UNISTD. Don't
52564         set UNISTD_H. Inline gl_PREREQ_UNISTD. Set HAVE_UNISTD_H.
52565         (gl_PREREQ_UNISTD): Remove macro.
52566         (gl_UNISTD_MODULE_INDICATOR): New macro.
52567         (gl_UNISTD_H_DEFAULTS): Renamed from gl_HEADER_UNISTD_DEFAULTS. Set
52568         many new variables. Don't set UNISTD_H.
52569         * modules/unistd (Description): Change.
52570         (Depends-on): Add link-warning.
52571         (configure.ac): Update.
52572         (Makefile.am): Create unistd.h always. Substitute many new variables
52573         into it.
52574
52575 2007-02-18  Bruno Haible  <bruno@clisp.org>
52576
52577         * lib/stdlib_.h (getsubopt): New declaration, copied from getsubopt.h.
52578         * modules/stdlib (stdlib.h): Also substitute GNULIB_GETSUBOPT and
52579         HAVE_GETSUBOPT.
52580         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Also initialize
52581         GNULIB_GETSUBOPT and HAVE_GETSUBOPT.
52582         * lib/getsubopt.h: Remove file.
52583         * modules/getsubopt (Files): Remove lib/getsubopt.h.
52584         (Depends-on): Add stdlib.
52585         (configure.ac): Invoke gl_STDLIB_MODULE_INDICATOR.
52586         (Includes): Use <stdlib.h> instead of getsubopt.h.
52587         * m4/getsubopt.m4 (gl_FUNC_GETSUBOPT): Require gl_STDLIB_H_DEFAULTS.
52588         Set HAVE_GETSUBOPT.
52589         * lib/getsubopt.c: Don't include getsubopt.h.
52590
52591 2007-02-18  Bruno Haible  <bruno@clisp.org>
52592
52593         * modules/fchdir (Depends-on): Add dup2.
52594
52595 2007-02-18  Bruno Haible  <bruno@clisp.org>
52596
52597         * lib/stdlib_.h: Handle glibc's special invocation convention
52598         specially.
52599
52600 2007-02-18  Bruno Haible  <bruno@clisp.org>
52601
52602         * modules/stdlib-tests: New file.
52603         * tests/test-stdlib.c: New file.
52604
52605         * modules/mkstemp (Files): Remove lib/mkstemp.h.
52606         (Depends-on): Add stdlib.
52607         (configure.ac): Invoke gl_STDLIB_MODULE_INDICATOR.
52608         (Includes): Use <stdlib.h> instead of mkstemp.h.
52609         * m4/mkstemp.m4 (gl_FUNC_MKSTEMP): Require gl_STDLIB_H_DEFAULTS. Set
52610         REPLACE_MKSTEMP. Remove definition of __MKSTEMP_PREFIX.
52611         * lib/mkstemp.c: Don't include mkstemp.h.
52612         * lib/mkstemp-safer.c: Include <stdlib.h> instead of mkstemp.h.
52613         * lib/stdlib--.h: Don't include mkstemp.h.
52614
52615         * modules/mkdtemp (Files): Remove lib/mkdtemp.h.
52616         (Depends-on): Add stdlib.
52617         (configure.ac): Invoke gl_STDLIB_MODULE_INDICATOR.
52618         (Includes): Use <stdlib.h> instead of mkdtemp.h.
52619         * m4/mkdtemp.m4 (gt_FUNC_MKDTEMP): Require gl_STDLIB_H_DEFAULTS. Set
52620         HAVE_MKDTEMP.
52621         * lib/mkdtemp.c: Don't include mkdtemp.h.
52622         * lib/clean-temp.c: Don't include mkdtemp.h.
52623
52624         * modules/exit (Files): Remove lib/exit.h.
52625         (Depends-on): Add stdlib.
52626         (Makefile.am): Remove lib_SOURCES.
52627         (Include): Use <stdlib.h> instead of exit.h.
52628         * lib/argmatch.c: Don't include exit.h.
52629         * lib/execute.c: Likewise.
52630         * lib/pagealign_alloc.c: Likewise.
52631         * lib/pipe.c: Likewise.
52632         * lib/wait-process.c: Likewise.
52633         * lib/copy-file.c: Include <stdlib.h> instead of exit.h.
52634         * lib/exitfail.c: Likewise.
52635         * lib/savewd.c: Likewise.
52636         * lib/xsetenv.c: Likewise.
52637
52638         * modules/stdlib: New file.
52639         * lib/stdlib_.h: New file, incorporating exit.h, mkdtemp.h, mkstemp.h
52640         and extra comments about mkstemp().
52641         * lib/exit.h: Remove file.
52642         * lib/mkdtemp.h: Remove file.
52643         * lib/mkstemp.h: Remove file.
52644         * m4/stdlib_h.m4: New file.
52645         * MODULES.html.sh (Support for systems lacking ANSI C 89): Add stdlib.
52646
52647 2007-02-18  Bruno Haible  <bruno@clisp.org>
52648
52649         * modules/math-tests: New file.
52650         * tests/test-math.c: New file.
52651
52652         * modules/math: New file.
52653         * modules/mathl (Files): Remove lib/mathl.h.
52654         (Depends-on): Add math.
52655         (Makefile.am): Don't mention mathl.h.
52656         (Include): Use <math.h> instead of mathl.h.
52657         * lib/math_.h: New file.
52658         * lib/mathl.h: Remove file.
52659         * lib/acosl.c: Include <config.h> and <math.h> first. Don't include
52660         mathl.h.
52661         * lib/asinl.c: Likewise.
52662         * lib/atanl.c: Likewise.
52663         * lib/ceill.c: Likewise.
52664         * lib/cosl.c: Likewise.
52665         * lib/expl.c: Likewise.
52666         * lib/floorl.c: Likewise.
52667         * lib/frexpl.c: Likewise.
52668         * lib/ldexpl.c: Likewise.
52669         * lib/logl.c: Likewise.
52670         * lib/sincosl.c: Likewise.
52671         * lib/sinl.c: Likewise.
52672         * lib/sqrtl.c: Likewise.
52673         * lib/tanl.c: Likewise.
52674         * lib/trigl.c: Likewise.
52675         * m4/math_h.m4: New file.
52676         * MODULES.html.sh (Mathematics): Add math.
52677
52678 2007-02-17  Bruno Haible  <bruno@clisp.org>
52679
52680         * modules/wctype-tests: New file.
52681         * tests/test-wctype.c: New file.
52682
52683         * modules/wchar-tests: New file.
52684         * tests/test-wchar.c: New file.
52685
52686         * modules/unistd-tests: New file.
52687         * tests/test-unistd.c: New file.
52688
52689         * modules/time-tests: New file.
52690         * tests/test-time.c: New file.
52691
52692         * modules/sysexits-tests: New file.
52693         * tests/test-sysexits.c: New file.
52694
52695         * modules/sys_time-tests: New file.
52696         * tests/test-sys_time.c: New file.
52697
52698         * modules/sys_stat-tests: New file.
52699         * tests/test-sys_stat.c: New file.
52700
52701         * modules/sys_socket-tests: New file.
52702         * tests/test-sys_socket.c: New file.
52703
52704         * modules/sys_select-tests: New file.
52705         * tests/test-sys_select.c: New file.
52706
52707         * modules/string-tests: New file.
52708         * tests/test-string.c: New file.
52709
52710         * modules/stdbool-tests: New file.
52711         * tests/test-stdbool.c: New file.
52712
52713         * modules/netinet_in-tests: New file.
52714         * tests/test-netinet_in.c: New file.
52715
52716         * modules/inttypes-tests: New file.
52717         * tests/test-inttypes.c: New file.
52718
52719         * modules/fcntl-tests: New file.
52720         * tests/test-fcntl.c: New file.
52721
52722         * modules/byteswap-tests: New file.
52723         * tests/test-byteswap.c: New file.
52724
52725         * modules/arpa_inet-tests: New file.
52726         * tests/test-arpa_inet.c: New file.
52727
52728 2007-02-17  Bruno Haible  <bruno@clisp.org>
52729
52730         * lib/inttypes_.h: Add definition for GL_LINK_WARNING.
52731         (imaxabs, imaxdiv, strtoimax, strtoumax): Don't declare the function
52732         if the corresponding module is not enabled. Emit link warnings if
52733         the function is used nevertheless.
52734         * m4/inttypes.m4 (gl_INTTYPES_H): Never use the existing <inttypes.h>.
52735         Don't AC_SUBST HAVE_DECL_IMAXABS, HAVE_DECL_IMAXDIV,
52736         HAVE_DECL_STRTOIMAX, HAVE_DECL_STRTOUMAX.
52737         (gl_INTTYPES_MODULE_INDICATOR, gl_INTTYPES_H_DEFAULTS): New macros.
52738         * modules/inttypes (Depends-on): Add link-warning.
52739         (Makefile.am): Copy the contents of build-aux/link-warning.h into
52740         inttypes.h. Substitute also GNULIB_IMAXABS, GNULIB_IMAXDIV,
52741         GNULIB_STRTOIMAX, GNULIB_STRTOUMAX.
52742         * modules/imaxabs (configure.ac): Invoke gl_INTTYPES_MODULE_INDICATOR.
52743         * modules/imaxdiv (configure.ac): Likewise.
52744         * modules/strtoimax (configure.ac): Likewise.
52745         * modules/strtoumax (configure.ac): Likewise.
52746
52747 2007-02-17  Bruno Haible  <bruno@clisp.org>
52748
52749         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Include the contents of
52750         gl_STRING_MODULE_INDICATOR_DEFAULTS.
52751         (gl_STRING_MODULE_INDICATOR_DEFAULTS): Remove macro.
52752         (gl_HEADER_STRING_H_BODY, gl_STRING_MODULE_INDICATOR): Update.
52753
52754 2007-02-17  Bruno Haible  <bruno@clisp.org>
52755
52756         * modules/link-warning: New file.
52757         * build-aux/link-warning.h: New file, extracted from lib/string_.h.
52758         * lib/string_.h (GL_LINK_WARNING): Remove definition.
52759         * modules/string (Depends-on): Add link-warning.
52760         (Makefile.am): Copy the contents of build-aux/link-warning.h into
52761         string.h.
52762         * MODULES.html.sh (Support for building libraries and executables): Add
52763         link-warning.
52764
52765 2007-02-17  Bruno Haible  <bruno@clisp.org>
52766
52767         * lib/string_.h (memmem, mempcpy, memrchr, stpcpy, stpncpy, strcasecmp,
52768         strncasecmp, strchr, strchrnul, strdup, strndup, strnlen, strcspn,
52769         strpbrk, strspn, strrchr, strsep, strstr, strcasestr, strtok_r): Break
52770         long lines.
52771
52772 2007-02-17  Ben Pfaff  <blp@cs.stanford.edu>
52773             Bruno Haible  <bruno@clisp.org>
52774
52775         * modules/tmpfile: New file.
52776         * lib/tmpfile.c: New file.
52777         * m4/tmpfile.m4: New file.
52778         * MODULES.html.sh (func_all_modules): New section "Input/output".
52779
52780 2007-02-15  Bruno Haible  <bruno@clisp.org>
52781
52782         * lib/clean-temp.c [WIN32 && !CYGWIN]: Include <windows.h>.
52783         (supports_delete_on_close): New function.
52784         (open_temp, fopen_temp): Use _O_TEMPORARY when supported.
52785
52786 2007-02-14  Bruno Haible  <bruno@clisp.org>
52787
52788         * modules/mbspcasecmp-tests: New file.
52789         * tests/test-mbspcasecmp.sh: New file.
52790         * tests/test-mbspcasecmp.c: New file.
52791
52792         New module mbspcasecmp.
52793         * modules/mbspcasecmp: New file.
52794         * lib/mbspcasecmp.c: New file.
52795         * lib/string_.h (strncasecmp): Change warning message.
52796         (mbspcasecmp): New declaration.
52797         * m4/mbspcasecmp.m4: New file.
52798         * m4/string_h.m4 (gl_STRING_MODULE_INDICATOR_DEFAULTS): Initialize
52799         GNULIB_MBSPCASECMP.
52800         * modules/string (string.h): Also substitute GNULIB_MBSPCASECMP.
52801         * MODULES.html.sh (Internationalization functions): Add mbspcasecmp.
52802
52803 2007-02-14  Bruno Haible  <bruno@clisp.org>
52804
52805         * modules/mbsncasecmp-tests: New file.
52806         * tests/test-mbsncasecmp.sh: New file.
52807         * tests/test-mbsncasecmp.c: New file.
52808
52809         New module mbsncasecmp.
52810         * modules/mbsncasecmp: New file.
52811         * lib/mbsncasecmp.c: New file.
52812         * lib/string_.h (mbsncasecmp): New declaration.
52813         * m4/mbsncasecmp.m4: New file.
52814         * m4/string_h.m4 (gl_STRING_MODULE_INDICATOR_DEFAULTS): Initialize
52815         GNULIB_MBSNCASECMP.
52816         * modules/string (string.h): Also substitute GNULIB_MBSNCASECMP.
52817         * MODULES.html.sh (Internationalization functions): Add mbsncasecmp.
52818
52819 2007-02-14  Paul Eggert  <eggert@cs.ucla.edu>
52820
52821         * lib/exclude.c (FNM_EXTMATCH): Define if system does not.
52822         Verify that it doesn't overlap with our flags.
52823         (fnmatch_no_wildcards): Don't use strcasecmp or strncasecmp, which
52824         do not have the desired effect in multibyte locales; instead, use
52825         mbscasecmp.
52826         * modules/exclude (Depends-on): Depend on mbscasecmp, not strcase.
52827         Add dependency on xalloc.  Depend on fnmatch, not fnmatch-gnu, since
52828         we don't require GNU fnmatch ourselves (if our users require it, they
52829         should do so explicitly).
52830
52831         Fix regex code so it doesn't rely on strcasecmp.
52832         * lib/regex_internal.h: Include <langinfo.h> only if _LIBC is defined.
52833         Otherwise, include gnulib's langinfo.h.
52834         * lib/regcomp.c (init_dfa): Don't use strcasecmp, as it can have
52835         undesirable behavior in non-C locales.  Instead, rely on localecharset.
52836         * m4/regex.m4 (gl_PREREQ_REGEX): Don't require AM_LANGINFO_CODESET.
52837         * modules/regex (FILES): Remove m4/codeset.m4.
52838         (Depends-on): Add localcharset.  Remove strcase.
52839
52840 2007-02-13  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
52841
52842         * m4/unlinkdir.m4 (gl_UNLINKDIR): Fix m4 quoting bug.
52843         * m4/unlink-busy.m4 (gl_FUNC_UNLINK_BUSY_TEXT): Likewise.
52844
52845 2007-02-13  Bruno Haible  <bruno@clisp.org>
52846
52847         * m4/intdiv0.m4 (gt_INTDIV0): Assume ANSI C. Fix underquoting bug.
52848         Reported by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
52849
52850 2007-02-12  Bruno Haible  <bruno@clisp.org>
52851
52852         * lib/string_.h (memmem, mempcpy, memrchr, stpcpy, stpncpy, strchrnul,
52853         strdup, strndup, strnlen, strpbrk, strsep, strtok_r): If
52854         GNULIB_POSIXCHECK and the gnulib module not enabled, provoke a link-
52855         time warning rather than a link error.
52856
52857 2007-02-12  Bruno Haible  <bruno@clisp.org>
52858
52859         * m4/locale-fr.m4 (gt_LOCALE_FR): Fix m4 quoting bug.
52860         * m4/locale-zh.m4 (gt_LOCALE_ZH_CN): Likewise.
52861         Reported by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
52862
52863 2007-02-12  Paul Eggert  <eggert@cs.ucla.edu>
52864
52865         * lib/string_.h (strncasecmp): Fix typo: this macro takes 3
52866         args, not 2.
52867
52868 2007-02-12  Paul Eggert  <eggert@cs.ucla.edu>
52869
52870         New module 'time', so that apps can include <time.h> as per
52871         POSIX and GNU instead of separate include files like time_r.h
52872         and timegm.h.  This implementation tries out a simpler approach
52873         for replacing decls in standard include files (as compared to
52874         the string module), somewhat as an experiment.
52875
52876         * config/srclist.txt: Comment out mktime.c for now.
52877         * doc/gnulib-tool.texi (Initial import): Don't use time_r as an example
52878         since it doesn't apply any more.  Use generic wording instead.
52879         * MODULES.html.sh (Support for systems lacking POSIX:2001): New module
52880         'time'.
52881         * lib/time_.h, m4/time_h.m4, modules/time: New files.
52882         * lib/strptime.h, lib/time_r.h, lib/timegm.h: Remove.
52883         * lib/mktime.c: Include config.h depending on _LIBC, not HAVE_CONFIG_H.
52884         Don't include <sys/types.h>; no longer needed since we assume C89.
52885         * lib/mktime.c: Don't include "time_r.h"; no longer needed.
52886         * lib/strftime.c: Likewise.
52887         * lib/time_r.c: Likewise.
52888         * lib/nanosleep.c (nanosleep): #undef after include files, not before.
52889         * lib/nanosleep.c: Include <time.h> first, to check interface.
52890         * lib/strptime.c: Likewise.
52891         * lib/time_r.c: Likewise.
52892         * lib/timegm.c: Likewise.
52893         * lib/strptime.c: Don't include strptime.h or time_r.h; no longer
52894         needed.
52895         * lib/timegm.c: Don't include timegm.h; no longer needed.
52896         * lib/timespec.h: Don't include <sys/time.h> before <time.h>;
52897         time.h now handles any problems in that area.
52898         (struct timespec, nanosleep): Remove; time.h now arranges for these.
52899         * lib/xnanosleep.c: Don't include timespec.h; no longer needed now
52900         that time.h defines struct timespec.
52901         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP): Check that nanosleep is declared.
52902         Set REPLACE_NANOSLEEP.  Don't AC_DEFINE nanosleep; the time module now
52903         handles that.
52904         * m4/strptime.m4 (gl_FUNC_STPRTIME): Set REPLACE_STRPTIME.
52905         * m4/time_r.m4 (gl_TIME_R): Don't define HAVE_TIME_R_POSIX; no longer
52906         needed.  Set REPLACE_LOCALTIME.
52907         * m4/timegm.m4 (gl_FUNC_TIMEGM): Set REPLACE_TIMEGM.
52908         * m4/timespec.m4 (gl_CHECK_TYPE_STRUCT_TIMESPEC): Move to time_h.m4.
52909         (gl_TIMESPEC): Don't check for sys/time.h or struct timespec or
52910         nanosleep; time_h.m4 now does that.  Don't require
52911         gl_USE_SYSTEM_EXTENSIONS; no longer needed directly, and the time
52912         module handles this now.
52913         * modules/getdate (Depends-on): Remove timespec.  Add time.
52914         * modules/nanosleep (Depends-on): Likewise.
52915         * modules/stat-time (Depends-on): Likewise.
52916         * modules/nanosleep (Include): Include time.h, not timespec.h.
52917         * modules/strptime (Files): Remove lib/strptime.h.
52918         (Depends-on): Add extensions, time.
52919         (Include): Include time.h, not strptime.h.
52920         * modules/time_r (Files): Remove lib/time_r.h.
52921         (Depends-on): Add time.
52922         (Include): Include time.h, not time_r.h.
52923         * modules/timegm: Likewise.
52924         * modules/timespec (Description): Now does timespec-related decls
52925         of our own, instead of struct timespec itself.
52926         (Depends-on): Add time; remove extensions.
52927         (Maintainer): Add self.
52928         * modules/utimecmp (Depends-on): Add time; remove timespec.
52929         * modules/utimens (Depends-on): Likewise.
52930         * modules/xnanosleep (Depends-on): Likewise.
52931
52932 2007-02-11  Bruno Haible  <bruno@clisp.org>
52933
52934         * lib/c-strstr.c: Include allocsa.h.
52935         (knuth_morris_pratt): Use allocsa/freesa instead of malloc/free.
52936         * lib/c-strcasestr.c: Include allocsa.h.
52937         (knuth_morris_pratt): Use allocsa/freesa instead of malloc/free.
52938         * lib/strcasestr.c: Include allocsa.h.
52939         (knuth_morris_pratt): Use allocsa/freesa instead of malloc/free.
52940         * lib/mbsstr.c: Include allocsa.h.
52941         (knuth_morris_pratt_unibyte, knuth_morris_pratt_multibyte): Use
52942         allocsa/freesa instead of malloc/free.
52943         * lib/mbscasestr.c: Include allocsa.h.
52944         (knuth_morris_pratt_unibyte, knuth_morris_pratt_multibyte): Use
52945         allocsa/freesa instead of malloc/free.
52946         * modules/c-strstr (Depends-on): Add allocsa.
52947         * modules/c-strcasestr (Depends-on): Likewise.
52948         * modules/strcasestr (Depends-on): Likewise.
52949         * modules/mbsstr (Depends-on): Likewise.
52950         * modules/mbscasestr (Depends-on): Likewise.
52951
52952 2007-02-11  Bruno Haible  <bruno@clisp.org>
52953
52954         * lib/mbsspn.c (mbsspn): Fix bug. Remove unnecessary strlen call.
52955
52956         * modules/mbsspn-tests: New file.
52957         * tests/test-mbsspn.sh: New file.
52958         * tests/test-mbsspn.c: New file.
52959
52960 2007-02-11  Bruno Haible  <bruno@clisp.org>
52961
52962         * lib/mbspbrk.c (mbspbrk): Remove unneeded cast.
52963
52964         * modules/mbspbrk-tests: New file.
52965         * tests/test-mbspbrk.sh: New file.
52966         * tests/test-mbspbrk.c: New file.
52967
52968 2007-02-11  Bruno Haible  <bruno@clisp.org>
52969
52970         * lib/mbscspn.c (mbscspn): Remove unnecessary strlen call and
52971         unneeded cast.
52972
52973         * modules/mbscspn-tests: New file.
52974         * tests/test-mbscspn.sh: New file.
52975         * tests/test-mbscspn.c: New file.
52976
52977 2007-02-11  Bruno Haible  <bruno@clisp.org>
52978
52979         * modules/mbscasecmp-tests: New file.
52980         * tests/test-mbscasecmp.sh: New file.
52981         * tests/test-mbscasecmp.c: New file.
52982
52983 2007-02-11  Bruno Haible  <bruno@clisp.org>
52984
52985         Ensure O(n) worst-case complexity of mbscasestr.
52986         * lib/mbscasestr.c: Include stdbool.h.
52987         (knuth_morris_pratt_unibyte, knuth_morris_pratt_multibyte): New
52988         functions.
52989         (mbscasestr): Add some bookkeeping. Invoke knuth_morris_pratt_* when
52990         the bookkeeping indicates that it's worth it.
52991         * modules/mbscasestr (Depends-on): Add stdbool, mbslen, strnlen.
52992
52993         * modules/mbscasestr-tests: New file.
52994         * tests/test-mbscasestr1.c: New file.
52995         * tests/test-mbscasestr2.sh: New file.
52996         * tests/test-mbscasestr2.c: New file.
52997         * tests/test-mbscasestr3.sh: New file.
52998         * tests/test-mbscasestr3.c: New file.
52999         * tests/test-mbscasestr4.sh: New file.
53000         * tests/test-mbscasestr4.c: New file.
53001         * m4/locale-tr.m4: New file.
53002
53003 2007-02-11  Bruno Haible  <bruno@clisp.org>
53004
53005         Ensure O(n) worst-case complexity of mbsstr.
53006         * lib/mbsstr.c: Include stdbool.h.
53007         (knuth_morris_pratt_unibyte, knuth_morris_pratt_multibyte): New
53008         functions.
53009         (mbsstr): Add some bookkeeping. Invoke knuth_morris_pratt_* when the
53010         bookkeeping indicates that it's worth it.
53011         * modules/mbsstr (Depends-on): Add stdbool, mbslen, strnlen.
53012
53013         * modules/mbsstr-tests: New file.
53014         * tests/test-mbsstr1.c: New file.
53015         * tests/test-mbsstr2.sh: New file.
53016         * tests/test-mbsstr2.c: New file.
53017         * tests/test-mbsstr3.sh: New file.
53018         * tests/test-mbsstr3.c: New file.
53019         * m4/locale-fr.m4: New file.
53020
53021 2007-02-11  Bruno Haible  <bruno@clisp.org>
53022
53023         * lib/mbsrchr.c (mbsrchr): Fix bug.
53024
53025         * modules/mbsrchr-tests: New file.
53026         * tests/test-mbsrchr.sh: New file.
53027         * tests/test-mbsrchr.c: New file.
53028
53029 2007-02-11  Bruno Haible  <bruno@clisp.org>
53030
53031         * lib/mbschr.c (mbschr): Fix bug.
53032
53033         * modules/mbschr-tests: New file.
53034         * tests/test-mbschr.sh: New file.
53035         * tests/test-mbschr.c: New file.
53036         * m4/locale-zh.m4: New file.
53037
53038 2007-02-11  Bruno Haible  <bruno@clisp.org>
53039
53040         Support for copying multibyte string iterators.
53041         * lib/mbiter.h: Include <string.h>.
53042         (mbiter_multi_copy): New function.
53043         (mbi_copy): New macro.
53044         * lib/mbuiter.h: Include <string.h>.
53045         (mbuiter_multi_copy): New function.
53046         (mbui_copy): New macro.
53047
53048 2007-02-11  Bruno Haible  <bruno@clisp.org>
53049
53050         New module mbslen.
53051         * modules/mbslen: New file.
53052         * lib/mbslen.c: New file.
53053         * lib/string_.h (mbslen): New declaration.
53054         * m4/mbslen.m4: New file.
53055         * m4/string_h.m4 (gl_STRING_MODULE_INDICATOR_DEFAULTS): Initialize
53056         GNULIB_MBSLEN.
53057         * modules/string (string.h): Also substitute GNULIB_MBSLEN.
53058         * MODULES.html.sh (Internationalization functions): Add mbslen.
53059
53060 2007-02-11  Bruno Haible  <bruno@clisp.org>
53061
53062         Ensure O(n) worst-case complexity of strcasestr substitute.
53063         * lib/strcasestr.c: Include stdbool.h.
53064         (knuth_morris_pratt): New function.
53065         (strcasestr): Add some bookkeeping. Invoke knuth_morris_pratt when the
53066         bookkeeping indicates that it's worth it.
53067         * modules/strcasestr (Depends-on): Add stdbool, strnlen.
53068
53069         * modules/strcasestr-tests: New file.
53070         * tests/test-strcasestr.c: New file.
53071
53072 2007-02-11  Bruno Haible  <bruno@clisp.org>
53073
53074         Ensure O(n) worst-case complexity of c_strcasestr.
53075         * lib/c-strcasestr.c: Include stdbool.h, string.h.
53076         (knuth_morris_pratt): New function.
53077         (c_strcasestr): Add some bookkeeping. Invoke knuth_morris_pratt when
53078         the bookkeeping indicates that it's worth it.
53079         * modules/c-strcasestr (Depends-on): Add stdbool, strnlen.
53080
53081         * modules/c-strcasestr-tests: New file.
53082         * tests/test-c-strcasestr.c: New file.
53083
53084 2007-02-11  Bruno Haible  <bruno@clisp.org>
53085
53086         Ensure O(n) worst-case complexity of c_strstr.
53087         * lib/c-strstr.c: Include stdbool.h, string.h.
53088         (knuth_morris_pratt): New function.
53089         (c_strstr): Add some bookkeeping. Invoke knuth_morris_pratt when the
53090         bookkeeping indicates that it's worth it.
53091         * modules/c-strstr (Depends-on): Add stdbool, strnlen.
53092
53093         * lib/c-strstr.c: Complete rewrite for maintainability.
53094
53095         * modules/c-strstr-tests: New file.
53096         * tests/test-c-strstr.c: New file.
53097
53098 2007-02-11  Bruno Haible  <bruno@clisp.org>
53099
53100         * m4/javacomp.m4 (gt_JAVACOMP): Work around a 'tr' bug in coreutils
53101         5.2.1 and earlier, whereby \055 was treated just like the range
53102         delimiter '-'.
53103         Reported by Joel E. Denny <jdenny@ces.clemson.edu>.
53104
53105 2007-02-08  Bruno Haible  <bruno@clisp.org>
53106
53107         * modules/regex (Depends-on): Add stdbool.
53108         Reported by Dalibor Topic <robilad@kaffe.org>.
53109
53110 2007-02-05  Paul Eggert  <eggert@cs.ucla.edu>
53111
53112         * m4/regex.m4 (gl_REGEX): Check for glibc bug #3957.
53113         Prefer returning from main to exiting from it.
53114         Remove unnecessary parens after sizeof.
53115
53116 2007-02-05  Bruno Haible  <bruno@clisp.org>
53117
53118         New module mbssep.
53119         * modules/mbssep: New file.
53120         * lib/mbssep.c: New file.
53121         * lib/string_.h (strsep): Add a conditional link warning.
53122         (mbssep): New declaration.
53123         * m4/mbssep.m4: New file.
53124         * m4/string_h.m4 (gl_STRING_MODULE_INDICATOR_DEFAULTS): Initialize
53125         GNULIB_MBSSEP.
53126         * modules/string (string.h): Also substitute GNULIB_MBSSEP.
53127         * MODULES.html.sh (Internationalization functions): Add mbssep.
53128
53129 2007-02-05  Bruno Haible  <bruno@clisp.org>
53130
53131         * lib/strsep.c (strsep): Fix actions in case of no delimiters.
53132         Optimize search in case of 1 delimiter.
53133
53134 2007-02-05  Paolo Bonzini  <bonzini@gnu.org>
53135
53136         * lib/acl.h: Include sys/types.h before sys/acl.h.
53137
53138 2007-02-05  Paolo Bonzini  <bonzini@gnu.org>
53139
53140         Merge upstream fix for glibc bugzilla #3957:
53141
53142         2007-02-05  Jakub Jelinek  <jakub@redhat.com>
53143
53144         * lib/regcomp.c (parse_bracket_exp): Set '\n' bit rather than '\0'
53145         bit for RE_HAT_LISTS_NOT_NEWLINE.
53146         (build_charclass_op): Remove bogus comment.
53147
53148 2007-02-05  Simon Josefsson  <simon@josefsson.org>
53149
53150         * lib/gc.h, lib/gc-libgcrypt.c: Support SHA-256/384/512.
53151
53152 2007-02-04  Paul Eggert  <eggert@cs.ucla.edu>
53153
53154         * lib/getsubopt.c [!_LIBC]: Include config.h and getsubopt.h.
53155         * lib/memmem.c [!defined _LIBC]: Include config.h.
53156
53157 2007-02-04  Bruno Haible  <bruno@clisp.org>
53158
53159         * lib/string_.h (GL_LINK_WARNING2): Put the word "warning:" into the
53160         warning message.
53161
53162 2007-02-04  Bruno Haible  <bruno@clisp.org>
53163
53164         New module mbstok_r.
53165         * modules/mbstok_r: New file.
53166         * lib/mbstok_r.c: New file.
53167         * lib/string_.h (strtok_r): Change argument names to match the
53168         comments. Add a conditional link warning.
53169         (mbstok_r): New declaration.
53170         * m4/mbstok_r.m4: New file.
53171         * m4/string_h.m4 (gl_STRING_MODULE_INDICATOR_DEFAULTS): Initialize
53172         GNULIB_MBSTOK_R.
53173         * modules/string (string.h): Also substitute GNULIB_MBSTOK_R.
53174         * MODULES.html.sh (Internationalization functions): Add mbstok_r.
53175
53176 2007-02-04  Bruno Haible  <bruno@clisp.org>
53177
53178         New module mbsspn.
53179         * modules/mbsspn: New file.
53180         * lib/mbsspn.c: New file.
53181         * lib/string_.h (strspn): Add a conditional link warning.
53182         (mbsspn): New declaration.
53183         * m4/mbsspn.m4: New file.
53184         * m4/string_h.m4 (gl_STRING_MODULE_INDICATOR_DEFAULTS): Initialize
53185         GNULIB_MBSSPN.
53186         * modules/string (string.h): Also substitute GNULIB_MBSSPN.
53187         * MODULES.html.sh (Internationalization functions): Add mbsspn.
53188
53189 2007-02-04  Bruno Haible  <bruno@clisp.org>
53190
53191         New module mbspbrk.
53192         * modules/mbspbrk: New file.
53193         * lib/mbspbrk.c: New file.
53194         * lib/string_.h (strpbrk): Add a conditional link warning.
53195         (mbspbrk): New declaration.
53196         * m4/mbspbrk.m4: New file.
53197         * m4/string_h.m4 (gl_STRING_MODULE_INDICATOR_DEFAULTS): Initialize
53198         GNULIB_MBSPBRK.
53199         * modules/string (string.h): Also substitute GNULIB_MBSPBRK.
53200         * MODULES.html.sh (Internationalization functions): Add mbspbrk.
53201
53202 2007-02-04  Bruno Haible  <bruno@clisp.org>
53203
53204         New module mbscspn.
53205         * modules/mbscspn: New file.
53206         * lib/mbscspn.c: New file.
53207         * lib/string_.h (strcspn): Add a conditional link warning.
53208         (mbscspn): New declaration.
53209         * m4/mbscspn.m4: New file.
53210         * m4/string_h.m4 (gl_STRING_MODULE_INDICATOR_DEFAULTS): Initialize
53211         GNULIB_MBSCSPN.
53212         * modules/string (string.h): Also substitute GNULIB_MBSCSPN.
53213         * MODULES.html.sh (Internationalization functions): Add mbscspn.
53214
53215 2007-02-04  Bruno Haible  <bruno@clisp.org>
53216
53217         New module mbscasestr, reduced goal of strcasestr.
53218         * modules/mbscasestr: New file.
53219         * lib/mbscasestr.c: New file, copied from lib/strcasestr.c.
53220         (mbscasestr): Renamed from strcasestr.
53221         * lib/strcasestr.c: Don't include mbuiter.h.
53222         (strcasestr): Remove support for multibyte locales.
53223         * lib/string_.h (strcasestr): Don`t rename. Declare only if missing.
53224         Change the conditional link warning.
53225         (mbscasestr): New declaration.
53226         * m4/mbscasestr.m4: New file.
53227         * m4/strcasestr.m4 (gl_FUNC_STRCASESTR): Enable the replacement only if
53228         the system does not have strcasestr. Set HAVE_STRCASESTR instead of
53229         REPLACE_STRCASESTR.
53230         (gl_PREREQ_STRCASESTR): Don't require gl_FUNC_MBRTOWC.
53231         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Initialize
53232         HAVE_STRCASESTR instead of REPLACE_STRCASESTR.
53233         (gl_STRING_MODULE_INDICATOR_DEFAULTS): Initialize GNULIB_MBSCASESTR.
53234         * modules/string (string.h): Also substitute GNULIB_MBSCASESTR.
53235         Substitute HAVE_STRCASESTR instead of REPLACE_STRCASESTR.
53236         * modules/strcasestr (Files): Remove m4/mbrtowc.m4.
53237         (Depends-on): Remove mbuiter.
53238         * MODULES.html.sh (Internationalization functions): Add mbscasestr.
53239
53240 2007-02-04  Bruno Haible  <bruno@clisp.org>
53241
53242         Simplify handling of strncasecmp.
53243         * lib/string_.h (strncasecmp): Remove test for GNULIB_STRCASE. Change
53244         the conditional link warning.
53245         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Initialize
53246         HAVE_STRCASECMP, not REPLACE_STRCASECMP.
53247         (gl_STRING_MODULE_INDICATOR_DEFAULTS): Don't initialize GNULIB_STRCASE.
53248         * modules/strcase (configure.ac): Don't invoke
53249         gl_STRING_MODULE_INDICATOR.
53250         * modules/string (string.h): Don't substitute GNULIB_STRCASE.
53251
53252 2007-02-04  Bruno Haible  <bruno@clisp.org>
53253
53254         New module mbscasecmp, reduced goal of strcasecmp.
53255         * modules/mbscasecmp: New file.
53256         * lib/mbscasecmp.c: New file, copied from lib/strcasecmp.c.
53257         (mbscasecmp): Renamed from strcasecmp.
53258         * lib/strcasecmp.c: Don't include mbuiter.h.
53259         (strcasecmp): Remove support for multibyte locales.
53260         * lib/string_.h (strcasecmp): Don`t rename. Declare only if missing.
53261         Change the conditional link warning.
53262         (mbscasecmp): New declaration.
53263         * m4/mbscasecmp.m4: New file.
53264         * m4/strcase.m4 (gl_FUNC_STRCASECMP): Enable the replacement only if
53265         the system lacks strcasecmp. Set HAVE_STRCASECMP instead of
53266         REPLACE_STRCASECMP.
53267         (gl_PREREQ_STRCASECMP): Don't require gl_FUNC_MBRTOWC.
53268         * m4/string_h.m4 (gl_STRING_MODULE_INDICATOR_DEFAULTS): Initialize
53269         GNULIB_MBSCASECMP.
53270         * modules/string (string.h): Also substitute GNULIB_MBSCASECMP.
53271         Substitute HAVE_STRCASECMP instead of REPLACE_STRCASECMP.
53272         * modules/strcase (Files): Remove m4/mbrtowc.m4.
53273         (Depends-on): Remove mbuiter.
53274         * MODULES.html.sh (Internationalization functions): Add mbscasecmp.
53275
53276 2007-02-04  Bruno Haible  <bruno@clisp.org>
53277
53278         New module mbsstr. Remove module strstr.
53279         * modules/mbsstr: New file.
53280         * modules/strstr: Remove file.
53281         * lib/mbsstr.c: Renamed from lib/strstr.c.
53282         (mbsstr): Renamed from strstr.
53283         * lib/string_.h (strstr): Remove declaration. Change the conditional
53284         link warning.
53285         (mbsstr): New declaration.
53286         * m4/mbsstr.m4: New file.
53287         * m4/strstr.m4: Remove file.
53288         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Don't initialize
53289         REPLACE_STRSTR.
53290         (gl_STRING_MODULE_INDICATOR_DEFAULTS): Initialize GNULIB_MBSSTR.
53291         Don't initialize GNULIB_STRSTR.
53292         * modules/string (string.h): Also substitute GNULIB_MBSSTR. Don't
53293         substitute GNULIB_STRSTR and REPLACE_STRSTR.
53294         * MODULES.html.sh (Internationalization functions): Add mbsstr.
53295         (Support for systems lacking ANSI C 89): Remove strstr.
53296
53297 2007-02-04  Bruno Haible  <bruno@clisp.org>
53298
53299         New module mbsrchr.
53300         * modules/mbsrchr: New file.
53301         * lib/mbsrchr.c: New file.
53302         * lib/string_.h (strrchr): Add a conditional link warning.
53303         (mbsrchr): New declaration.
53304         * m4/mbsrchr.m4: New file.
53305         * m4/string_h.m4 (gl_STRING_MODULE_INDICATOR_DEFAULTS): Initialize
53306         GNULIB_MBSRCHR.
53307         * modules/string (string.h): Also substitute GNULIB_MBSRCHR.
53308         * MODULES.html.sh (Internationalization functions): Add mbsrchr.
53309
53310 2007-02-04  Bruno Haible  <bruno@clisp.org>
53311
53312         New module mbschr.
53313         * modules/mbschr: New file.
53314         * lib/mbschr.c: New file.
53315         * lib/string_.h (strchr): Add a conditional link warning.
53316         (mbschr): New declaration.
53317         * m4/mbschr.m4: New file.
53318         * m4/string_h.m4 (gl_STRING_MODULE_INDICATOR_DEFAULTS): Initialize
53319         GNULIB_MBSCHR.
53320         * modules/string (string.h): Also substitute GNULIB_MBSCHR.
53321         * MODULES.html.sh (Internationalization functions): Add mbschr.
53322
53323 2007-02-04  Paul Eggert  <eggert@cs.ucla.edu>
53324
53325         * lib/stdbool_.h: Mention that bool bit-fields aren't supported.
53326
53327         * modules/stdarg (configure.ac-early): Require AC_PROG_CC_STDC.
53328
53329 2007-02-04  Bruno Haible  <bruno@clisp.org>
53330
53331         New module description section 'configure.ac-early'.
53332         * gnulib-tool (sed_extract_prog): Recognize configure.ac-early.
53333         (func_get_autoconf_early_snippet): New function.
53334         (func_import, func_create_testdir): Use it. Remove special cases for
53335         modules 'extensions' and 'lock'.
53336         * modules/extensions (configure.ac-early): Require
53337         gl_USE_SYSTEM_EXTENSIONS.
53338         * modules/lock (configure.ac-early): Require gl_LOCK_EARLY.
53339
53340 2007-02-04  Bruno Haible  <bruno@clisp.org>
53341
53342         Make use of gcj-4.3's -fsource and -ftarget option.
53343         * m4/javacomp.m4 (gt_JAVACOMP): Test whether gcj is in version >= 4.3,
53344         and if so try the options -fsource and -ftarget.
53345         * lib/javacomp.c (compile_using_gcj): Add fsource_option,
53346         source_version, ftarget_option, target_version arguments.
53347         (is_envjavac_gcj43, is_envjavac_gcj43_usable): New functions.
53348         (is_envjavac_oldgcj_14_14_usable): Renamed from
53349         is_envjavac_gcj_14_14_usable.
53350         (is_envjavac_oldgcj_14_13_usable): Renamed from
53351         is_envjavac_gcj_14_13_usable.
53352         (is_gcj_present): Update.
53353         (is_gcj_43, is_gcj43_usable): New functions.
53354         (is_oldgcj_14_14_usable): Renamed from is_gcj_14_14_usable. Update.
53355         (is_oldgcj_14_13_usable): Renamed from is_gcj_14_13_usable. Update.
53356         (compile_java_class): Test whether gcj is in version >= 4.3, and if so
53357         try the options -fsource and -ftarget.
53358
53359 2007-02-03  Paul Eggert  <eggert@cs.ucla.edu>
53360
53361         * lib/xalloc.h (x2nrealloc): Fix an unlikely bug in the overflow
53362         checking code.  Set N = ceil (1.5 * N) rather than to a slightly
53363         larger value.
53364
53365 2007-02-03  Jim Meyering  <jim@meyering.net>
53366
53367         Give tools a better chance to allocate space for very large buffers.
53368         * lib/xalloc.h (x2nrealloc): Use 3/2, not 2, as buffer size factor.
53369
53370         Make pwd and readlink work also when run with an unreadable parent dir
53371         on systems with openat support.
53372         * lib/getcwd.c (__getcwd) [HAVE_PARTLY_WORKING_GETCWD]: Use the system
53373         provided getcwd function, even when we have openat support.
53374         Reported by Dmitry V. Levin in <http://bugzilla.redhat.com/227168>.
53375
53376 2007-02-02  Bruno Haible  <bruno@clisp.org>
53377
53378         * lib/string_.h (memmem, mempcpy, memrchr, stpcpy, stpncpy, strchrnul,
53379         strdup, strndup, strnlen, strpbrk, strsep, strtok_r): Provoke a link
53380         error only if GNULIB_POSIXCHECK is defined. Needed to avoid artificial
53381         portability problems if one of these functions is only used on specific
53382         platforms.
53383         Reported by Paul Eggert.
53384
53385 2007-02-02  Paul Eggert  <eggert@cs.ucla.edu>
53386
53387         Avoid mempcpy in the regex code, as the string.h mempcpy stuff
53388         is causing more trouble than it's curing.
53389         * lib/regex_internal.h (__mempcpy): Remove.
53390         * lib/regcomp.c (regerror): Rewrite to avoid the need for mempcpy
53391         (and make the code a tad smaller to boot).
53392         * m4/regex.m4 (gl_PREREQ_REGEX): Don't check for mempcpy.
53393
53394 2007-02-02  Jim Meyering  <jim@meyering.net>
53395
53396         * modules/arpa_inet: Put AC_PROG_MKDIR_P in the configure.ac:
53397         section, not in the Makefile.am: one.
53398
53399 2007-02-02  Eric Blake  <ebb9@byu.net>
53400
53401         * lib/strchrnul.c: Always include config.h first.
53402
53403         * modules/mountlist (Depends-on): Revert 2007-01-31 change,
53404         gnulib strstr is not necessary here.
53405
53406 2007-02-02  Simon Josefsson  <simon@josefsson.org>
53407
53408         * m4/socklen.m4: Fix typo.
53409
53410 2007-02-02  Eric Blake  <ebb9@byu.net>
53411
53412         * modules/arpa_inet (Makefile.am): Use MKDIR_P to avoid races.
53413         * modules/netinet_in (Makefile.am): Likewise.
53414
53415 2007-02-01  Bruno Haible  <bruno@clisp.org>
53416
53417         * lib/string_.h (GL_LINK_WARNING): New macro.
53418         (strcasecmp, strstr, strcasestr): If provided by the system,
53419         conditionally define as a macro that leads to a warning instead of to
53420         an error.
53421         (strncasecmp): Conditionally define as a macro that leads to a warning.
53422
53423 2007-02-01  Karl Berry  <karl@gnu.org>
53424
53425         * config/srclist.txt (strtok_r.c): lose sync, no more strtok_r.h.
53426
53427 2007-02-01  Bruno Haible  <bruno@clisp.org>
53428
53429         * MODULES.html.sh (Unicode string functions): Update after 2007-01-27
53430         renamings.
53431
53432 2007-02-01  Eric Blake  <ebb9@byu.net>
53433
53434         * modules/regex (Depends-on): Revert dependence on mempcpy.
53435         * lib/regex_internal.h [! _LIBC && !__mempcpy]: Undo string
53436         module's definition of mempcpy.
53437         Reported by Paul Eggert.
53438
53439 2007-02-01  Paul Eggert  <eggert@cs.ucla.edu>
53440
53441         * lib/string_.h: If the gnulib module XYZ is not present, undefine
53442         the symbol XYZ before redefining it.  This fixes a problem with
53443         programs that don't use XYZ, when compiled on systems that define
53444         XYZ to something else.
53445
53446 2007-01-31  Paul Eggert  <eggert@cs.ucla.edu>
53447
53448         * lib/mkdir-p.c (make_dir_parents): Close a race condition that
53449         occurs when "mkdir -m foo" creates a setgid directory that is (1)
53450         writeable to group or other and (2) is intended to have a special
53451         mode bit that is set or cleared.  In such a case, the directory
53452         should be neither group- nor other-writeable until the special
53453         mode bits are right.
53454
53455 2007-01-31  Eric Blake  <ebb9@byu.net>
53456
53457         * modules/mountlist (Depends-on): Add strstr.
53458
53459         * m4/string_h.m4 (gl_STRING_MODULE_INDICATOR): Correct m4 usage
53460         bug.
53461         * modules/string (Makefile.am): Remove redundant replacement.
53462         * modules/regex (Depends-on): Add mempcpy.
53463
53464 2007-01-31  Bruno Haible  <bruno@clisp.org>
53465
53466         New module description field 'Link'.
53467         * gnulib-tool (func_usage): Document --extract-link-directive.
53468         (sed_extract_prog): Recognize 'Link' directive.
53469         (func_get_link_directive): New function.
53470         (func_import): Show summary of link directives.
53471         Handle --extract-link-directive option.
53472         * modules/acl (Link): New section.
53473         * modules/clock-time (Link): New section.
53474         * modules/euidaccess (Link): New section.
53475         * modules/gettext (Link): New section.
53476         * modules/iconv (Link): New section.
53477         * modules/lock (Link): New section.
53478         * modules/nanosleep (Link): New section.
53479         * modules/readline (Link): New section.
53480
53481 2007-01-27  Bruno Haible  <bruno@clisp.org>
53482
53483         Enforce the use of gnulib modules for unportable <string.h> functions.
53484         * m4/string_h.m4 (gl_STRING_MODULE_INDICATOR): New macro.
53485         (gl_STRING_MODULE_INDICATOR_DEFAULTS): New macro.
53486         (gl_HEADER_STRING_H_BODY): Require it.
53487         * lib/string_.h: If the gnulib module XYZ is not present, redefine
53488         the symbol XYZ to one that gives a link error.
53489         * modules/string (Makefile.am): Also substitute the GNULIB_* variables.
53490         * modules/memmem (configure.ac): Invoke gl_STRING_MODULE_INDICATOR.
53491         * modules/mempcpy (configure.ac): Likewise.
53492         * modules/memrchr (configure.ac): Likewise.
53493         * modules/stpcpy (configure.ac): Likewise.
53494         * modules/stpncpy (configure.ac): Likewise.
53495         * modules/strcase (configure.ac): Likewise.
53496         * modules/strcasestr (configure.ac): Likewise.
53497         * modules/strchrnul (configure.ac): Likewise.
53498         * modules/strdup (configure.ac): Likewise.
53499         * modules/strndup (configure.ac): Likewise.
53500         * modules/strnlen (configure.ac): Likewise.
53501         * modules/strpbrk (configure.ac): Likewise.
53502         * modules/strsep (configure.ac): Likewise.
53503         * modules/strstr (configure.ac): Likewise.
53504         * modules/strtok_r (configure.ac): Likewise.
53505
53506 2007-01-31  Jean-Louis Martineau  <martineau@zmanda.com>  (tiny change)
53507
53508         * lib/gai_strerror.c (values): Add EAI_OVERFLOW.
53509
53510 2007-01-30  Jim Meyering  <jim@meyering.net>
53511
53512         * lib/mpsort.c (mpsort): Remove spurious "return" in void function.
53513
53514 2007-01-29  Bruno Haible  <bruno@clisp.org>
53515
53516         * lib/allocsa.h: Use '#if HAVE_*' instead of '#ifdef HAVE_*'.
53517         * lib/execute.c: Likewise.
53518         * lib/pipe.c: Likewise.
53519         * lib/printf-args.h: Likewise.
53520         * lib/printf-args.c: Likewise.
53521         * lib/printf-parse.c: Likewise.
53522         * lib/vasnprintf.c: Likewise.
53523
53524 2007-01-29  Eric Blake  <ebb9@byu.net>
53525
53526         * lib/memrchr.c: Assume <string.h> unconditionally, to pull in
53527         declaration.
53528
53529 2007-01-29  Paul Eggert  <eggert@cs.ucla.edu>
53530
53531         * lib/strptime.h (strptime): Use 'restrict' for args where
53532         POSIX requires this.
53533         * lib/strptime.c (strptime): Likewise.
53534         Change license notice from LGPL to GPL, since gnulib-tool will
53535         change this as needed.
53536         Include <config.h> if _LIBC is not defined, not if HAVE_CONFIG_H is
53537         defined.
53538         Include "strptime.h" first, to check interface.
53539         Do not #undef _LIBC and _NL_CURRENT.
53540         Do not include <stdlib.h>; no longer needed.
53541         Include "time_r.h" and declare ptime_locale_status
53542         only if _LIBC is not defined.
53543         (__P): Remove unused macro.
53544         (match_string): Bring back glibc version, but use it only if _LIBC
53545         is defined.
53546         (__strptime_internal): Compile tm_gmtoff code if _LIBC is defined, too.
53547         Remove unnecessary assertion and abort() call.
53548         Use #ifdef _NL_CURRENT rather than #if 0, for benefit of glibc.
53549         * m4/strptime.m4: Fix serial number comment.
53550         (gl_FUNC_STRPTIME): Require AC_C_RESTRICT, gl_TM_GMTOFF.
53551         * modules/strptime (Files): Add m4/tm_gmtoff.m4.
53552         (Depends-on): Add time_r.
53553
53554 2007-01-29  Bruno Haible  <bruno@clisp.org>
53555
53556         * MODULES.html.sh (Support for systems lacking POSIX:2001): Add
53557         strptime.
53558         * modules/strptime (Depends-on): Add stdbool.
53559         * lib/strptime.h: Include <time.h> always. Add comments.
53560
53561 2007-01-29  Yoann Vandoorselaere  <yoann@prelude-ids.org>
53562
53563         * modules/strptime: New file.
53564         * lib/strptime.h: New file.
53565         * lib/strptime.c: New file.
53566         * m4/strptime.m4: New file.
53567
53568 2007-01-28  Paul Eggert  <eggert@cs.ucla.edu>
53569
53570         * MODULES.html.sh: New module mpsort.
53571         * lib/mpsort.c, lib/mpsort.h, m4/mpsort.m4, modules/mpsort: New files.
53572
53573         * lib/regex.h (_Restrict_): Renamed from __restrict, to avoid
53574         a circularity problem with HP-UX ia64 reported by Bob Proulx in
53575         <http://lists.gnu.org/archive/html/bug-gnulib/2007-01/msg00394.html>.
53576         All uses changed.
53577         (_Restrict_arr_): Renamed from __restrict_arr, for similar reasons.
53578         All uses changed.
53579         * lib/regcomp.c, lib/regexec.c: Change all uses from __restrict
53580         to _Restrict_.
53581         * lib/regexec.c (regexec): Declare pmatch with _Restrict_arr_, so that
53582         the parameter matches the prototype.
53583
53584 2007-01-28  Jim Meyering  <jim@meyering.net>
53585
53586         * modules/sys_time (Makefile.am) [MOSTLYCLEANFILES]: Do use
53587         sys/time.h here, reverting that part of the previous patch:
53588         <http://thread.gmane.org/gmane.comp.lib.gnulib.bugs/8959>.
53589
53590 2007-01-28  Bruno Haible  <bruno@clisp.org>
53591
53592         * modules/sys_time (Makefile.am): Build sys/time.h only when it's the
53593         value of $(SYS_TIME_H).
53594         [MOSTLYCLEANFILES]: Now that sys/time.h is created only when needed,
53595         remove it conditionally, too. [added by Jim Meyering]
53596         * m4/sys_time_h.m4 (gl_HEADER_SYS_TIME_H_BODY): Set SYS_TIME_H.
53597         * m4/gettimeofday.m4 (gl_FUNC_GETTIMEOFDAY):
53598         (gl_FUNC_GETTIMEOFDAY_CLOBBER): Set SYS_TIME_H when setting
53599         GETTIMEOFDAY_REPLACEMENT to 1.
53600
53601 2007-01-28  Bruno Haible  <bruno@clisp.org>
53602
53603         * m4/unistd_h.m4 (gl_HEADER_UNISTD_DEFAULTS): New macro.
53604         (gl_HEADER_UNISTD): Require it. Don't set UNISTD_H to empty here.
53605         * m4/fchdir.m4 (gl_FUNC_FCHDIR): Require gl_HEADER_UNISTD_DEFAULTS.
53606         Set UNISTD_H instead of UNISTD_H2.
53607         * modules/fchdir (BUILT_SOURCES): Drop $(UNISTD_H2).
53608
53609 2007-01-28  Bruno Haible  <bruno@clisp.org>
53610
53611         * modules/mbchar (Makefile.am): Add mbchar.c to lib_SOURCES.
53612         * m4/mbchar.m4 (gl_MBCHAR): Remove AC_LIBOBJ invocation.
53613
53614 2007-01-28  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
53615
53616         * gnulib-tool (func_emit_lib_Makefile_am, func_add_or_update)
53617         (func_create_testdir): Ensure C locale for `grep' and `tr'
53618         character ranges.
53619         (func_create_megatestdir): Avoid one `grep'.  Fix bug in
53620         ACLOCAL_AMFLAGS parsing state machine.
53621
53622 2007-01-27  Bruno Haible  <bruno@clisp.org>
53623
53624         * modules/unistr/base: Update.
53625
53626 2007-01-27  Bruno Haible  <bruno@clisp.org>
53627
53628         Rename u32-mbtouc -> u32-mbtouc-unsafe, u32-mbtouc-safe -> u32-mbtouc,
53629         u32_mbtouc -> u32_mbtouc_unsafe, u32_mbtouc_safe -> u32_mbtouc.
53630         * modules/unistr/u32-mbtouc-unsafe: Renamed from
53631         modules/unistr/u32-mbtouc.
53632         * lib/unistr/u32-mbtouc-unsafe.c: Renamed from lib/unistr/u32-mbtouc.c.
53633         * lib/unistr.h: Update.
53634         * lib/linebreak.c: Update.
53635         * modules/unistr/u32-mbtouc: Renamed from
53636         modules/unistr/u32-mbtouc-safe.
53637         * lib/unistr/u32-mbtouc.c: Renamed from lib/unistr/u32-mbtouc-safe.c.
53638         * lib/unistr.h: Update.
53639         * lib/unistr/u32-to-u8.c: Update.
53640         * lib/unistr/u32-to-u16.c: Update.
53641
53642 2007-01-27  Bruno Haible  <bruno@clisp.org>
53643
53644         Rename utf16-ucs4 -> utf16-ucs4-unsafe, utf16-ucs4-safe -> utf16-ucs4,
53645         u16_mbtouc -> u16_mbtouc_unsafe, u16_mbtouc_safe -> u16_mbtouc.
53646         * modules/utf16-ucs4-unsafe: Renamed from modules/utf16-ucs4.
53647         * lib/utf16-ucs4-unsafe.h: Renamed from lib/utf16-ucs4.h.
53648         * lib/unistr/utf16-ucs4-unsafe.c: Renamed from lib/unistr/utf16-ucs4.c.
53649         * modules/unistr/u16-mbtouc-unsafe: Renamed from
53650         modules/unistr/u16-mbtouc.
53651         * lib/unistr/u16-mbtouc-unsafe.c: Renamed from lib/unistr/u16-mbtouc.c.
53652         * lib/unistr.h: Update.
53653         * lib/linebreak.c: Update.
53654         * modules/linebreak: Update.
53655         * modules/utf16-ucs4: Renamed from modules/utf16-ucs4-safe.
53656         * lib/utf16-ucs4.h: Renamed from lib/utf16-ucs4-safe.h.
53657         * lib/unistr/utf16-ucs4.c: Renamed from lib/unistr/utf16-ucs4-safe.c.
53658         * modules/unistr/u16-mbtouc: Renamed from
53659         modules/unistr/u16-mbtouc-safe.
53660         * lib/unistr/u16-mbtouc.c: Renamed from lib/unistr/u16-mbtouc-safe.c.
53661         * lib/unistr.h: Update.
53662         * lib/unistr/u16-to-u8.c: Update.
53663         * modules/unistr/u16-to-u8: Update.
53664         * lib/unistr/u16-to-u32.c: Update.
53665         * modules/unistr/u16-to-u32: Update.
53666
53667 2007-01-27  Bruno Haible  <bruno@clisp.org>
53668
53669         Rename utf8-ucs4 -> utf8-ucs4-unsafe, utf8-ucs4-safe -> utf8-ucs4,
53670         u8_mbtouc -> u8_mbtouc_unsafe, u8_mbtouc_safe -> u8_mbtouc.
53671         * modules/utf8-ucs4-unsafe: Renamed from modules/utf8-ucs4.
53672         * lib/utf8-ucs4-unsafe.h: Renamed from lib/utf8-ucs4.h.
53673         * lib/unistr/utf8-ucs4-unsafe.c: Renamed from lib/unistr/utf8-ucs4.c.
53674         * modules/unistr/u8-mbtouc-unsafe: Renamed from
53675         modules/unistr/u8-mbtouc.
53676         * lib/unistr/u8-mbtouc-unsafe.c: Renamed from lib/unistr/u8-mbtouc.c.
53677         * lib/unistr.h: Update.
53678         * lib/striconveh.c: Update.
53679         * modules/striconveh: Update.
53680         * lib/linebreak.c: Update.
53681         * modules/linebreak: Update.
53682         * modules/utf8-ucs4: Renamed from modules/utf8-ucs4-safe.
53683         * lib/utf8-ucs4.h: Renamed from lib/utf8-ucs4-safe.h.
53684         * lib/unistr/utf8-ucs4.c: Renamed from lib/unistr/utf8-ucs4-safe.c.
53685         * modules/unistr/u8-mbtouc: Renamed from modules/unistr/u8-mbtouc-safe.
53686         * lib/unistr/u8-mbtouc.c: Renamed from lib/unistr/u8-mbtouc-safe.c.
53687         * lib/unistr.h: Update.
53688         * lib/striconveh.c: Update.
53689         * modules/striconveh: Update.
53690         * lib/unistr/u8-to-u16.c: Update.
53691         * modules/unistr/u8-to-u16: Update.
53692         * lib/unistr/u8-to-u32.c: Update.
53693         * modules/unistr/u8-to-u32: Update.
53694
53695 2007-01-27  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
53696
53697         Sync from Libtool.
53698         * lib/argz.c: Do not include strings.h nor memory.h, include
53699         string.h unconditionally.  Patch by Simon Josefsson.
53700
53701 2007-01-27  Bruno Haible  <bruno@clisp.org>
53702
53703         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): New macro, extracted
53704         from gl_HEADER_STRING_H_BODY.
53705         (gl_HEADER_STRING_H_BODY): Require it.
53706         * m4/memmem.m4 (gl_FUNC_MEMMEM): Require gl_HEADER_STRING_H_DEFAULTS.
53707         * m4/mempcpy.m4 (gl_FUNC_MEMPCPY): Likewise.
53708         * m4/memrchr.m4 (gl_FUNC_MEMRCHR): Likewise.
53709         * m4/stpcpy.m4 (gl_FUNC_STPCPY): Likewise.
53710         * m4/stpncpy.m4 (gl_FUNC_STPNCPY): Likewise.
53711         * m4/strcase.m4 (gl_FUNC_STRCASECMP, gl_FUNC_STRNCASECMP): Likewise.
53712         * m4/strcasestr.m4 (gl_FUNC_STRCASESTR): Likewise.
53713         * m4/strchrnul.m4 (gl_FUNC_STRCHRNUL): Likewise.
53714         * m4/strdup.m4 (gl_FUNC_STRDUP): Likewise.
53715         * m4/strndup.m4 (gl_FUNC_STRNDUP): Likewise.
53716         * m4/strnlen.m4 (gl_FUNC_STRNLEN): Likewise.
53717         * m4/strpbrk.m4 (gl_FUNC_STRPBRK): Likewise.
53718         * m4/strsep.m4 (gl_FUNC_STRSEP): Likewise.
53719         * m4/strstr.m4 (gl_FUNC_STRSTR): Likewise.
53720         * m4/strtok_r.m4 (gl_FUNC_STRTOK_R): Likewise.
53721
53722 2007-01-27  Bruno Haible  <bruno@clisp.org>
53723
53724         * gnulib-tool (func_emit_lib_Makefile_am): If $for_test is true, turn
53725         check_PROGRAMS into noinst_PROGRAMS.
53726         (func_emit_tests_Makefile_am): Likewise. Also don't initialize
53727         check_PROGRAMS in this case.
53728         (func_import): Set for_test to false.
53729         (func_create_testdir): Set for_test to true.
53730
53731 2007-01-27  Yoann Vandoorselaere <yoann.v@prelude-ids.com>
53732             Bruno Haible  <bruno@clisp.org>
53733
53734         * modules/strcasestr (Files): Remove lib/strcasestr.h.
53735         (Depends-on): Add string.
53736         (Includes): Use <string.h> instead of strcasestr.h.
53737         * modules/string (Makefile.am): Also substitute the value of
53738         REPLACE_STRCASESTR.
53739         * m4/strcasestr.m4 (gl_FUNC_STRCASESTR): Don't define strcasestr here;
53740         assume strcasestr is declared in <string.h> not <strings.h>. Also
53741         set REPLACE_STRCASESTR.
53742         * m4/string_h.m4 (gl_HEADER_STRING_H_BODY): Provide a default value for
53743         REPLACE_STRCASESTR.
53744         * lib/strcasestr.h: Remove file.
53745         * lib/strcasestr.c: Include <string.h> instead of strcasestr.h.
53746         * lib/string_.h (strcasestr): New declaration.
53747
53748 2007-01-27  Bruno Haible  <bruno@clisp.org>
53749
53750         * lib/string_.h: Use 'extern'.
53751
53752 2007-01-27  Jim Meyering  <jim@meyering.net>
53753
53754         * lib/regex_internal.c (re_string_reconstruct): Remove declaration
53755         of set-but-not-used local, "q".
53756
53757         * lib/mempcpy.c: Include <config.h> before <string.h>.
53758         This fixes a compilation error on HP-UX, due to the system's
53759         "restrict"-using mempcpy prototype.
53760
53761 2007-01-26  Bruno Haible  <bruno@clisp.org>
53762
53763         Small optimization.
53764         * lib/javacomp.c: Include c-strstr.h.
53765          (is_envjavac_gcj): Use c_strstr instead of strstr.
53766         * modules/javacomp (Depends-on): Add c-strstr, remove strstr.
53767
53768 2007-01-26  Bruno Haible  <bruno@clisp.org>
53769
53770         * MODULES.html.sh (Unicode string functions): Add the new modules.
53771
53772         * modules/uniconv/u32-strconv-to-locale: New file.
53773         * lib/uniconv/u32-strconv-to-locale.c: New file.
53774
53775         * modules/uniconv/u16-strconv-to-locale: New file.
53776         * lib/uniconv/u16-strconv-to-locale.c: New file.
53777
53778         * modules/uniconv/u8-strconv-to-locale: New file.
53779         * lib/uniconv/u8-strconv-to-locale.c: New file.
53780
53781         * modules/uniconv/u32-strconv-from-locale: New file.
53782         * lib/uniconv/u32-strconv-from-locale.c: New file.
53783
53784         * modules/uniconv/u16-strconv-from-locale: New file.
53785         * lib/uniconv/u16-strconv-from-locale.c: New file.
53786
53787         * modules/uniconv/u8-strconv-from-locale: New file.
53788         * lib/uniconv/u8-strconv-from-locale.c: New file.
53789
53790         * modules/uniconv/u32-strconv-to-enc: New file.
53791         * lib/uniconv/u32-strconv-to-enc.c: New file.
53792         * modules/uniconv/u32-strconv-to-enc-tests: New file.
53793         * tests/uniconv/test-u32-strconv-to-enc.c: New file.
53794
53795         * modules/uniconv/u16-strconv-to-enc: New file.
53796         * lib/uniconv/u16-strconv-to-enc.c: New file.
53797         * lib/uniconv/u-strconv-to-enc.h: New file.
53798         * modules/uniconv/u16-strconv-to-enc-tests: New file.
53799         * tests/uniconv/test-u16-strconv-to-enc.c: New file.
53800
53801         * modules/uniconv/u8-strconv-to-enc: New file.
53802         * lib/uniconv/u8-strconv-to-enc.c: New file.
53803         * modules/uniconv/u8-strconv-to-enc-tests: New file.
53804         * tests/uniconv/test-u8-strconv-to-enc.c: New file.
53805
53806         * modules/uniconv/u32-strconv-from-enc: New file.
53807         * lib/uniconv/u32-strconv-from-enc.c: New file.
53808         * modules/uniconv/u32-strconv-from-enc-tests: New file.
53809         * tests/uniconv/test-u32-strconv-from-enc.c: New file.
53810
53811         * modules/uniconv/u16-strconv-from-enc: New file.
53812         * lib/uniconv/u16-strconv-from-enc.c: New file.
53813         * modules/uniconv/u16-strconv-from-enc-tests: New file.
53814         * tests/uniconv/test-u16-strconv-from-enc.c: New file.
53815
53816         * modules/uniconv/u8-strconv-from-enc: New file.
53817         * lib/uniconv/u8-strconv-from-enc.c: New file.
53818         * lib/uniconv/u-strconv-from-enc.h: New file.
53819         * modules/uniconv/u8-strconv-from-enc-tests: New file.
53820         * tests/uniconv/test-u8-strconv-from-enc.c: New file.
53821
53822         * modules/uniconv/u32-conv-from-enc: New file.
53823         * lib/uniconv/u32-conv-from-enc.c: New file.
53824         * modules/uniconv/u32-conv-from-enc-tests: New file.
53825         * tests/uniconv/test-u32-conv-from-enc.c: New file.
53826
53827         * modules/uniconv/u16-conv-from-enc: New file.
53828         * lib/uniconv/u16-conv-from-enc.c: New file.
53829         * lib/uniconv/u-conv-from-enc.h: New file.
53830         * modules/uniconv/u16-conv-from-enc-tests: New file.
53831         * tests/uniconv/test-u16-conv-from-enc.c: New file.
53832
53833         * modules/uniconv/u8-conv-from-enc: New file.
53834         * lib/uniconv/u8-conv-from-enc.c: New file.
53835         * modules/uniconv/u8-conv-from-enc-tests: New file.
53836         * tests/uniconv/test-u8-conv-from-enc.c: New file.
53837
53838         * modules/uniconv/base: New file.
53839         * lib/uniconv.h: New file.
53840
53841 2007-01-26  Paul Eggert  <eggert@cs.ucla.edu>
53842
53843         * doc/gnulib-tool.texi (Initial import): Update to match current
53844         behavior with strdup module.
53845         * lib/.cppi-disable: Remove strcase.h, strdup.h, strndup.h, strnlen.h.
53846         * lib/memmem.h: Remove; all uses removed.  This is now done
53847         by <string.h>.
53848         * lib/mempcpy.h: Likewise.
53849         * lib/memrchr.h: Likewise.
53850         * lib/stpcpy.h: Likewise.
53851         * lib/stpncpy.h: Likewise.
53852         * lib/strcase.h: Likewise.
53853         * lib/strchrnul.h: Likewise.
53854         * lib/strdup.h: Likewise.
53855         * lib/strndup.h: Likewise.
53856         * lib/strnlen.h: Likewise.
53857         * lib/strpbrk.h: Likewise.
53858         * lib/strsep.h: Likewise.
53859         * lib/strstr.h: Likewise.
53860         * lib/strtok_r.h: Likewise.
53861         * lib/string_.h: New file.
53862         * lib/argp-namefrob.h: Don't include no-longer-existent include files.
53863         Rely on <string.h> instead.
53864         * lib/canon-host.c: Likewise.
53865         * lib/chdir-long.c: Likewise.
53866         * lib/concatpath.c: Likewise.
53867         * lib/exclude.c: Likewise.
53868         * lib/fchdir.c: Likewise.
53869         * lib/getaddrinfo.c: Likewise.
53870         * lib/getcwd.c: Likewise.
53871         * lib/getsubopt.c: Likewise.
53872         * lib/glob.c: Likewise.
53873         * lib/hard-locale.c: Likewise.
53874         * lib/iconvme.c: Likewise.
53875         * lib/javacomp.c: Likewise.
53876         * lib/mempcpy.c: Likewise.
53877         * lib/memrchr.c: Likewise.
53878         * lib/regex_internal.h: Likewise.
53879         * lib/stpncpy.c: Likewise.
53880         * lib/strcasecmp.c: Likewise.
53881         * lib/strchrnul.c: Likewise.
53882         * lib/strdup.c: Likewise.
53883         * lib/striconv.c: Likewise.
53884         * lib/striconveh.c: Likewise.
53885         * lib/striconveha.c: Likewise.
53886         * lib/strncasecmp.c: Likewise.
53887         * lib/strndup.c: Likewise.
53888         * lib/strnlen.c: Likewise.
53889         * lib/strsep.c: Likewise.
53890         * lib/strstr.c: Likewise.
53891         * lib/strtok_r.c: Likewise.
53892         * lib/userspec.c: Likewise.
53893         * lib/w32spawn.h: Likewise.
53894         * lib/xstrndup.c: Likewise.
53895         * lib/mountlist.c (strstr): Remove decl.
53896         * m4/string_h.m4: New file.
53897         * m4/memmem.m4 (gl_FUNC_MEMMEM): Set HAVE_DECL_MEMMEM if necessary.
53898         * m4/mempcpy.m4 (gl_FUNC_MEMPCPY): Set HAVE_MEMPCPY if necessary.
53899         * m4/memrchr.m4 (gl_FUNC_MEMRCHR): Set HAVE_MEMRCHR
53900         * m4/stpcpy.m4 (gl_FUNC_STPCPY): Set HAVE_STPCPY if necessary.
53901         * m4/stpncpy.m4 (gl_PREREQ_STPNCPY): Set HAVE_STPNCPY if necessary.
53902         * m4/strcase.m4 (gl_FUNC_STRCASECMP):
53903         Set REPLACE_STRCASECMP if necessary.
53904         (gl_FUNC_STRNCASECMP): Set HAVE_DECL_STRNCASECMP if necessary.
53905         * m4/strchrnul.m4 (gl_FUNC_STRCHRNUL): Set HAVE_STRCHRNUL if necessary.
53906         * m4/strdup.m4 (gl_FUNC_STRDUP): Set HAVE_DECL_STRDUP if necessary.
53907         * m4/strndup.m4 (gl_FUNC_STRNDUP): Set HAVE_DECL_STRNLEN and
53908         HAVE_DECL_STRDUP if necessary.
53909         (gl_PREREQ_STRNLEN): Don't bother to check for strnlen decl,
53910         since gl_FUNC_STRNDUP does that now.
53911         * m4/strnlen.m4 (gl_FUNC_STRNLEN): Set HAVE_DECL_STRNLEN if necessary.
53912         Check for decl here...
53913         (gl_PREREQ_STRNLEN): ... not here.
53914         * m4/strpbrk.m4 (gl_FUNC_STRPBRK): Set HAVE_STRPBRK if necessary.
53915         * m4/strsep.m4 (gl_FUNC_STRSEP): Set HAVE_STRSEP if necessary.
53916         * m4/strstr.m4 (gl_FUNC_STRSTR): Set REPLACE_STRSTR if necessary.
53917         * m4/strtok_r.m4 (gl_FUNC_STRTOK_R): Set HAVE_DECL_STRTOK_R if
53918         necessary.
53919         * modules/string: New file.
53920         * modules/memmem (Files): Remove special-purpose include file.
53921         (Depends-on): Add string.
53922         (Include): Include <string.h>, not the removed file.
53923         * modules/mempcpy: Likewise.
53924         * modules/memrchr: Likewise.
53925         * modules/stpcpy: Likewise.
53926         * modules/stpncpy: Likewise.
53927         * modules/strcase: Likewise.
53928         * modules/strchrnul: Likewise.
53929         * modules/strdup: Likewise.
53930         * modules/strndup: Likewise.
53931         * modules/strnlen: Likewise.
53932         * modules/strpbrk: Likewise.
53933         * modules/strsep: Likewise.
53934         * modules/strstr: Likewise.
53935         * modules/strtok_r: Likewise.
53936         * tests/test-dirname.c: Don't include "strdup.h", since
53937         <string.h> now suffices.
53938         * tests/test-memmem.c: Don't include "memmem.h", since
53939         <string.h> now suffices.
53940
53941 2007-01-25  Bruno Haible  <bruno@clisp.org>
53942
53943         * lib/striconveh.c (mem_cd_iconveh_internal): Ignore *lengthp if
53944         *resultp is 0.
53945
53946         * lib/unistr/u16-to-u8.c (u16_to_u8): Fix u8_uctomb invocation.
53947         * lib/unistr/u32-to-u8.c (u32_to_u8): Likewise.
53948         * lib/unistr/u8-to-u16.c (u8_to_u16): Fix u16_uctomb invocation.
53949         * lib/unistr/u32-to-u16.c (u32_to_u16): Likewise.
53950
53951         * modules/unistr/u8-to-u16 (Depends-on): Add missing modules.
53952         * modules/unistr/u8-to-u32 (Depends-on): Add missing modules.
53953         * modules/unistr/u16-to-u8 (Depends-on): Add missing modules.
53954         * modules/unistr/u16-to-u32 (Depends-on): Add missing modules.
53955         * modules/unistr/u32-to-u8 (Depends-on): Add missing modules.
53956         * modules/unistr/u32-to-u16 (Depends-on): Add missing modules.
53957
53958 2007-01-24  Bruno Haible  <bruno@clisp.org>
53959
53960         Don't AC_REQUIRE autoconf macros that invoke AC_LIBOBJ. See
53961         <http://lists.gnu.org/archive/html/bug-gnulib/2006-10/msg00279.html>.
53962         * m4/argp.m4 (gl_ARGP): Invoke, don't require, gl_GETOPT_SUBSTITUTE.
53963         * m4/fts.m4 (gl_FUNC_FTS, gl_FUNC_FTS_LGPL): Invoke, don't require,
53964         gl_FUNC_FTS_CORE.
53965         (gl_FUNC_FTS_CORE): Invoke, don't require, gl_FUNC_OPENAT.
53966         * m4/lstat.m4 (gl_FUNC_LSTAT): Invoke, don't require,
53967         AC_FUNC_LSTAT_FOLLOWS_SLASHED_SYMLINK.
53968         * m4/memcmp.m4 (gl_FUNC_MEMCMP): Invoke, don't require, AC_FUNC_MEMCMP.
53969         * m4/mktime.m4 (gl_FUNC_MKTIME): Invoke, don't require, AC_FUNC_MKTIME.
53970         * m4/openat.m4 (gl_FUNC_OPENAT): Invoke, don't require,
53971         gl_FUNC_FCHOWNAT.
53972         * m4/strftime.m4 (gl_FUNC_GNU_STRFTIME): Invoke, don't require,
53973         gl_FUNC_STRFTIME.
53974         * m4/strtod.m4 (gl_FUNC_STRTOD): Invoke, don't require, AC_FUNC_STRTOD.
53975         Reported by Ralf Wildenhues.
53976
53977 2007-01-24  Bruno Haible  <bruno@clisp.org>
53978
53979         Drop AC_REQUIRE calls that are redundant with the module dependencies.
53980         * m4/canon-host.m4 (gl_PREREQ_CANON_HOST): Don't require
53981         gl_GETADDRINFO.
53982         * m4/chdir-long.m4 (gl_PREREQ_CHDIR_LONG): Don't require AM_STDBOOL_H,
53983         gl_FUNC_MEMPCPY, gl_FUNC_OPENAT, gl_FUNC_MEMRCHR.
53984         * m4/openat.m4 (gl_PREREQ_OPENAT): Don't require gl_SAVE_CWD.
53985
53986 2007-01-24  Paul Eggert  <eggert@cs.ucla.edu>
53987
53988         * m4/fnmatch.m4 (_AC_FUNC_FNMATCH_IF): Add test for glibc bug 361.
53989         Don't use 'exit'; just return from 'main'.
53990         (_AC_LIBOBJ_FNMATCH): Check for headers and functions just once.
53991
53992         * lib/fnmatch_.h: Readjust white space and comments to match
53993         glibc, to avoid spurious diffs.
53994
53995 2007-01-23  Paul Eggert  <eggert@cs.ucla.edu>
53996
53997         * lib/fnmatch_loop.c (internal_fnmatch) [!_LIBC]: #if-out the
53998         2004-12-01 change by Jakub Jelinek, since this code won't compile
53999         if !LIBC.  Problem reported by Bob Proulx.
54000
54001 2007-01-23  Bruno Haible  <bruno@clisp.org>
54002
54003         * lib/striconveh.c: Include c-strcaseeq.h.
54004         (mem_iconveh, str_iconveh): Use STRCASEEQ instead of c_strcasecmp.
54005         * modules/striconveh (Depends-on): Add c-strcaseeq.
54006
54007 2007-01-23  Bruno Haible  <bruno@clisp.org>
54008
54009         * MODULES.html.sh (String handling): Add streq, c-strcaseeq.
54010
54011         * modules/c-strcaseeq: New file.
54012         * lib/c-strcaseeq.h: New file.
54013
54014         * modules/streq: New file.
54015         * lib/streq.h: New file.
54016
54017 2007-01-23  Bruno Haible  <bruno@clisp.org>
54018
54019         * modules/striconveha-tests: New file.
54020         * tests/test-striconveha.c: New file.
54021
54022         * lib/striconveha.h: Include <stdbool.h>.
54023         (mem_iconveha, str_iconveha): Add 'transliterate' argument.
54024         * lib/striconveha.c: Include allocsa.h, strdup.h, c-strcase.h.
54025         (mem_iconveha_notranslit): Renamed from mem_iconveha.
54026         (mem_iconveha): New function.
54027         (str_iconveha_notranslit): Renamed from str_iconveha.
54028         (str_iconveha): New function.
54029         * modules/striconveha (Depends-on): Add stdbool, allocsa, strdup,
54030         c-strcase.
54031
54032 2007-01-23  Bruno Haible  <bruno@clisp.org>
54033
54034         * lib/striconveha.c (mem_iconveha): Fix endless recursion. Try all
54035         encodings without forgiving before trying any encoding with handler.
54036         (str_iconveha): Try all encodings without forgiving before trying any
54037         encoding with handler.
54038
54039 2007-01-23  Paul Eggert  <eggert@cs.ucla.edu>
54040
54041         Import the following changes from libc.
54042
54043         2005-10-14  Ulrich Drepper  <drepper@redhat.com>
54044
54045         * lib/fnmatch_loop.c: Adjust for changed secondary hash function.
54046
54047         2004-12-01  Jakub Jelinek  <jakub@redhat.com>
54048
54049         * lib/fnmatch_loop.c (internal_fnmatch): Clear is_seqval after
54050         normal_bracket label.
54051
54052         2004-09-01  Jakub Jelinek  <jakub@redhat.com>
54053
54054         [BZ #361]
54055         * lib/fnmatch_loop.c (FCT): For backslash between brackets, branch
54056         to normal_bracket after fetching the next character.
54057
54058 2007-01-22  Bruno Haible  <bruno@clisp.org>
54059
54060         * lib/striconveh.h (mem_cd_iconveh, mem_iconveh): Add 'offsets'
54061         argument.
54062         * lib/striconveh.c (iconv_carefully_1): New function.
54063         (mem_cd_iconveh_internal, mem_cd_iconveh, mem_iconveh): Add 'offsets'
54064         argument.
54065         (str_cd_iconveh): Update.
54066         * lib/striconveha.h (mem_iconveha): Add 'offsets' argument.
54067         * lib/striconveha.c (mem_iconveha): Add 'offsets' argument.
54068         * tests/test-striconveh.c (MAGIC): New macro.
54069         (new_offsets): New function.
54070         (main): Test call with and without offsets.
54071
54072 2007-01-22  Bruno Haible  <bruno@clisp.org>
54073
54074         * modules/sys_stat (Makefile.am): Use @MKDIR_P@ instead of $(MKDIR_P).
54075         * modules/sys_select (Makefile.am): Likewise.
54076         * modules/sys_socket (Makefile.am): Likewise.
54077         * modules/sys_time (Makefile.am): Likewise.
54078
54079 2007-01-22  Paul Eggert  <eggert@cs.ucla.edu>
54080
54081         * modules/gettimeofday (License): Change from GPL to LGPL, since
54082         gettimeofday is a library function.
54083
54084 2007-01-22  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
54085
54086         * lib/poll.c (rpl_poll): Don't check against FD_SETSIZE under Win32.
54087
54088 2007-01-21  Bruno Haible  <bruno@clisp.org>
54089
54090         * m4/gnulib-common.m4 (AC_PROG_MKDIR_P): New macro.
54091
54092 2007-01-21  Bruno Haible  <bruno@clisp.org>
54093
54094         * modules/striconveha: New file.
54095         * lib/striconveha.h: New file.
54096         * lib/striconveha.c: New file.
54097         * MODULES.html.sh (Internationalization functions): Add striconveha.
54098         * lib/striconv.c (str_iconv): Optimize the case of an empty input
54099         string.
54100         * lib/striconveh.c (mem_iconveh, str_iconveh): Likewise.
54101
54102 2007-01-21  Bruno Haible  <bruno@clisp.org>
54103
54104         * lib/striconv.c (str_iconv): Guarantee errno is set when strdup fails.
54105         * lib/striconveh.c (str_iconveh): Likewise.
54106
54107 2007-01-21  Bruno Haible  <bruno@clisp.org>
54108
54109         * lib/striconveh.h (mem_iconveh): New declaration.
54110         * lib/striconveh.c (mem_iconveh): New function.
54111         * tests/test-striconveh.c (main): Add tests for mem_iconveh.
54112
54113 2007-01-21  Bruno Haible  <bruno@clisp.org>
54114
54115         * lib/xstriconv.h (xmem_cd_iconv): Change specification.
54116
54117         * lib/striconveh.h (mem_cd_iconveh): Change specification.
54118         * lib/striconveh.c (mem_cd_iconveh): Don't free the user-supplied
54119         original result buffer.
54120         (str_cd_iconveh): Update.
54121         * tests/test-striconveh.c (main): Update.
54122
54123         * lib/striconv.h (mem_cd_iconv): Change specification.
54124         * lib/striconv.c (mem_cd_iconv): Don't free the user-supplied original
54125         result buffer.
54126         (str_cd_iconv): Update.
54127         * tests/test-striconv.c (main): Update.
54128
54129 2007-01-21  Bruno Haible  <bruno@clisp.org>
54130
54131         * gnulib-tool: Fix test whether sed is GNU sed supporting --posix.
54132
54133 2007-01-20  Jim Meyering  <jim@meyering.net>
54134
54135         * lib/userspec.c (parse_with_separator): If a user or group string
54136         starts with "+", skip the corresponding name-to-ID look-up, since
54137         such a look-up must fail: user and group names may not include "+".
54138
54139 2007-01-19  Paul Eggert  <eggert@cs.ucla.edu>
54140
54141         * lib/poll.c: Include sys/time.h and time.h unconditionally,
54142         since we now assume the sys_time module.
54143         * m4/poll.m4 (gl_PREREQ_POLL): Don't require AC_HEADER_TIME or
54144         check for sys/time.h; no longer needed.
54145         * modules/poll (Depends-on): Depend on sys_time.
54146
54147 2007-01-18  Bruno Haible  <bruno@clisp.org>
54148
54149         * m4/mktime.m4 (AC_FUNC_MKTIME): Remove test for <sys/time.h>.
54150         * m4/strftime.m4 (gl_FUNC_STRFTIME): Likewise.
54151
54152         * m4/tempname.m4 (gl_PREREQ_TEMPNAME): Remove tests for sys/time.h and
54153         gettimeofday.
54154
54155         * tests/test-gettimeofday.c: Include <time.h>.
54156         (dummy): Remove variable.
54157
54158         * m4/sys_time_h.m4 (gl_HEADER_SYS_TIME_H_BODY): Renamed from
54159         gl_HEADER_SYS_TIME_H.
54160         (gl_HEADER_SYS_TIME_H): New macro.
54161
54162         * lib/sys_time_.h: Test GETTIMEOFDAY_REPLACEMENT instead of
54163         HAVE_GETTIMEOFDAY_POSIX_SIGNATURE and GETTIMEOFDAY_CLOBBERS_LOCALTIME.
54164         * m4/gettimeofday.m4 (gl_FUNC_GETTIMEOFDAY,
54165         gl_FUNC_GETTIMEOFDAY_CLOBBER): Set GETTIMEOFDAY_REPLACEMENT instead of
54166         HAVE_GETTIMEOFDAY_POSIX_SIGNATURE and GETTIMEOFDAY_CLOBBERS_LOCALTIME.
54167         * m4/sys_time_h.m4 (gl_HEADER_SYS_TIME_H): Initialize
54168         GETTIMEOFDAY_REPLACEMENT instead of HAVE_GETTIMEOFDAY_POSIX_SIGNATURE
54169         and GETTIMEOFDAY_CLOBBERS_LOCALTIME.
54170         * modules/sys_time (sys/time.h): Substitute GETTIMEOFDAY_REPLACEMENT
54171         instead of HAVE_GETTIMEOFDAY_POSIX_SIGNATURE and
54172         GETTIMEOFDAY_CLOBBERS_LOCALTIME.
54173
54174         * m4/gettimeofday.m4 (gl_GETTIMEOFDAY_REPLACE_LOCALTIME): Undo the
54175         last change; it caused a compilation error when cross-compiling to
54176         Cygwin.
54177
54178 2007-01-18  Jim Meyering  <jim@meyering.net>
54179
54180         Use "$(MKDIR_P) sys", not race-prone "test -d sys || mkdir sys".
54181         * modules/sys_stat (Makefile.am): Use "$(MKDIR_P) sys", rather
54182         than the race-prone "test -d sys || mkdir sys".
54183         (configure.ac): Use AC_PROG_MKDIR_P.
54184         * modules/sys_select: Likewise.
54185         * modules/sys_socket: Likewise.
54186         * modules/sys_time: Likewise.
54187
54188 2007-01-18  Eric Blake  <ebb9@byu.net>
54189
54190         * m4/gettimeofday.m4 (gl_GETTIMEOFDAY_REPLACE_LOCALTIME): Also
54191         replace gettimeofday.
54192         * lib/gettimeofday.c (rpl_gettimeofday): Declare with replacement
54193         name, to avoid infinite recursion.
54194
54195 2007-01-17  Paul Eggert  <eggert@cs.ucla.edu>
54196
54197         * MODULES.html.sh (Support for systems lacking POSIX:2001): New
54198         module sys_time.
54199         * lib/gethrxtime.c: Include <sys/time.h>, since we can no longer
54200         assume timespec.h defines struct timeval.
54201         * lib/settime.c: Likewise.
54202         * lib/utimens.c: Likewise.
54203         * lib/gettime.c (gettime): Remove test against HAVE_GETTIMEOFDAY,
54204         since we now assume the gettimeofday module.
54205         * lib/tempname.c (__gen_tempname): Likewise.
54206         * lib/gettimeofday.h: Remove.
54207         * lib/gettimeofday.c: Include <sys/time.h> instead of "gettimeofday.h".
54208         Don't include <sys/types.h> and <stdlib.h>; shouldn't be needed.
54209         Include <time.h>, for 'time()'.
54210         (localtime_buffer_addr): Also use this workaround if
54211         TZSET_CLOBBERS_LOCALTIME.  Set to a dummy static variable by default,
54212         to simplify the uses.  All uses changed.
54213         (localtime, gmtime, tzset, gettimeofday): Reformat slightly so
54214         that #undef is inside {}, and 'const' follows type name consistently.
54215         (tzset): Define replacement only if TZSET_CLOBBERS_LOCALTIME.
54216         (gettimeofday): Do not use the maximum possible value for
54217         tv->tv_usec, since that might break usages other than ls.c.
54218         Instead, we'll leave ls.c alone.  This undoes today's patch
54219         by Bruno.  Add a compile-time warning for 1s-clock resolution;
54220         we've never observed the problem but might as well keep the
54221         canary.
54222         * lib/nanosleep.c: Include timespec.h first, for interface check.
54223         * lib/nanosleep.c: Include <sys/time.h> unconditionally, since we
54224         now assume the sys_time module.
54225         * lib/tempname.c: Likewise.
54226         * lib/timespec.h: Likewise.
54227         * lib/nanosleep.c: Don't worry about TIME_WITH_SYS_TIME; no longer
54228         needed.
54229         * lib/strftime.c: Likewise.
54230         * lib/timespec.h: Likewise.
54231         * lib/posixtm.c: Include posixtm.h first, for interface check.
54232         Don't worry about TM_IN_SYS_TIME; that's wayyy obsolete.
54233         * lib/posixtm.h: Include stdbool.h and time.h, for proper interface.
54234         * lib/strftime.c: Don't include <sys/types.h>; shouldn't be needed.
54235         * lib/sys_time_.h: New file.
54236         * lib/timespec.h (struct timespec): Use long int, not long.
54237         * m4/gettimeofday.m4 (gl_FUNC_GETTIMEOFDAY):
54238         (gl_FUNC_GETTIMEOFDAY_CLOBBER, gl_PREREQ_GETTIMEOFDAY):
54239         Remove obsolescent call to AC_HEADER_TIME.
54240         * m4/mktime.m4 (AC_FUNC_MKTIME): Likewise.
54241         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP): Likewise.
54242         * m4/strftime.m4 (gl_FUNC_STRFTIME): Likewise.
54243         * m4/timespec.m4 (gl_TIMESPEC, gl_CHECK_TYPE_STRUCT_TIMESPEC):
54244         Likewise.
54245         * m4/tzset.m4 (gl_FUNC_TZSET_CLOBBER): Likewise.
54246         * m4/utimbuf.m4 (gl_CHECK_TYPE_STRUCT_UTIMBUF): Likewise.
54247         * m4/gettimeofday.m4 (gl_FUNC_GETTIMEOFDAY): Move sys/time.h tests
54248         into the sys_time module.  Check for gettimeofday just once.
54249         Prefix our variables with gl_, not with ac_ or jm_.  Tighten test
54250         for gettimeofday signature to just check the signature.  Merely
54251         compile it, since linking doesn't test signature.  Improve test for
54252         whether gettimeofday.o is actually needed.
54253         (gl_FUNC_GETTIMEOFDAY_CLOBBER): Renamed from
54254         AC_FUNC_GETTIMEOFDAY_CLOBBER.  All uses changed.  Use
54255         AC_RUN_IFELSE rather than AC_TRY_RUN.  If clobbering, set
54256         and define GETTIMEOFDAY_CLOBBERS_LOCALTIME.
54257         (gl_GETTIMEOFDAY_REPLACE_LOCALTIME): Don't define
54258         GETTIMEOFDAY_CLOBBERS_LOCALTIME; that's gl_FUNC_GETTIMEOFDAY_CLOBBER's
54259         job.  Don't define tzset; that's gl_FUNC_TZSET_CLOBBER's job.
54260         * m4/mktime.m4 (AC_FUNC_MKTIME): Just include <time.h> rather
54261         than worrying about sys/time.h.
54262         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP):
54263         Don't bother worrying about TIME_WITH_SYS_TIME.
54264         * m4/stat-time.m4 (gl_STAT_TIME): Likewise.
54265         * m4/posixtm.m4 (gl_POSIXTM): Remove obsolescent call to AC_STRUCT_TM.
54266         * m4/sys_time_h.m4: New file.
54267         * m4/tzset.m4 (gl_FUNC_TZSET_CLOBBER): Require gl_HEADER_SYS_TIME_H.
54268         Don't include sys/time.h.  Return from main rather than exiting.
54269         Define TZSET_CLOBBERS_LOCALTIME, for consistency with other names;
54270         all uses changed.
54271         * modules/gethrxtime (Depends-on): Add sys_time.
54272         * modules/gettime (Depends-on): Likewise.
54273         * modules/gettimeofday (Depends-on): Likewise.
54274         * modules/nanosleep (Depends-on): Likewise.
54275         * modules/settime (Depends-on): Likewise.
54276         * modules/tempname (Depends-on): Likewise.
54277         * modules/utimens (Depends-on): Likewise.
54278         * modules/gettimeofday (Files): Remove lib/gettimeofday.h.
54279         (Include:) Change back to <sys/time.h>.
54280         (Maintainer:) Add self.
54281         * modules/sys_time: New file.
54282         * modules/tempname (Depends-on): Add gettimeofday.
54283         * tests/test-gettimeofday.c: Include <sys/time.h>
54284         rather than gettimeofday.h.
54285
54286 2007-01-17  Bruno Haible  <bruno@clisp.org>
54287
54288         * gnulib-tool (func_get_license): Revert last patch. Instead, let
54289         the license default to GPL.
54290         (func_create_testdir): Don't complain if a module is LGPL and its
54291         tests module depends on GPLed modules.
54292
54293 2007-01-17  Bruno Haible  <bruno@clisp.org>
54294
54295         * lib/gettimeofday.c (gettimeofday): Add code for the case
54296         HAVE_GETTIMEOFDAY && !GETTIMEOFDAY_CLOBBERS_LOCALTIME. Use the
54297         maximum possible value for tv->tv_usec, rather than the minimum one.
54298
54299 2005-10-08  Martin Lambers  <marlam@marlam.de>
54300 2005-10-08  Paul Eggert  <eggert@cs.ucla.edu>
54301 2007-01-16  Bruno Haible  <bruno@clisp.org>
54302
54303         * modules/gettimeofday (Files): Add lib/gettimeofday.h.
54304         (configure.ac): Remove AC_FUNC_GETTIMEOFDAY_CLOBBER. Add
54305         gl_FUNC_GETTIMEOFDAY.
54306         (Include): Add gettimeofday.h.
54307         * m4/gettimeofday.m4 (gl_FUNC_GETTIMEOFDAY): New macro.
54308         (AC_FUNC_GETTIMEOFDAY_CLOBBER): Don't invoke gl_PREREQ_GETTIMEOFDAY.
54309         (gl_GETTIMEOFDAY_REPLACE_LOCALTIME): Define
54310         GETTIMEOFDAY_CLOBBERS_LOCALTIME. Invoke gl_PREREQ_GETTIMEOFDAY here.
54311         (gl_PREREQ_GETTIMEOFDAY): Check for <sys/timeb.h> and _ftime.
54312         * lib/gettimeofday.h: New file.
54313         * lib/gettimeofday.c: Include <sys/timeb.h>.
54314         (localtime_buffer_addr, rpl_localtime, rpl_gmtime, rpl_tzset): Define
54315         only if GETTIMEOFDAY_CLOBBERS_LOCALTIME.
54316         (rpl_gettimeofday) [!HAVE_GETTIMEOFDAY]: Use _ftime() when available;
54317         fall back on time().
54318
54319         * tests/test-gettimeofday.c: New file.
54320         * modules/gettimeofday-tests: New file.
54321
54322 2007-01-16  Eric Blake  <ebb9@byu.net>
54323
54324         * modules/fnmatch (Depends-on): Depend on wchar.
54325         * lib/fnmatch.c (WIDE_CHAR_SUPPORT): Assume <wchar.h>.
54326         * m4/fnmatch.m4: Likewise.
54327         * modules/mbchar (Makefile.am): Assume <wchar.h>.
54328         * m4/mbchar.m4: Likewise.
54329         * modules/mbswidth (Depends-on): Depend on wchar.
54330         * lib/mbswidth.c: Assume <wchar.h>.
54331         * m4/mbswidth.m4: Likewise.
54332         * modules/quotearg (Depends-on): Depend on wchar.
54333         * lib/quotearg.c: Assume <wchar.h>.
54334         * m4/quotearg.m4: Likewise.
54335         * modules/regex (Depends-on): Depend on wchar.
54336         * lib/regex_internal.h: Assume <wchar.h>.
54337         * m4/regex.m4: Likewise.
54338         * modules/stdint (Depends-on): Depend on wchar.
54339         * lib/stdint_.h [!defined WCHAR_MIN]: Assume <wchar.h>.
54340         * m4/stdint.m4: Likewise.
54341         * tests/test-stdint.c [HAVE_WINT_T]: Likewise.
54342         * modules/strftime (Depends-on): Depend on wchar.
54343         * lib/strftime.c (DO_MULTIBYTE): Assume <wchar.h>.
54344         * modules/strtol (Depends-on): Depend on wchar.
54345         * lib/strtol.c: Assume <wchar.h>.
54346         * modules/wcwidth (Depends-on): Depend on wchar.
54347         * lib/wcwidth.h: Assume <wchar.h>.
54348         * m4/wcwidth.m4: Likewise.
54349
54350 2007-01-16  Bruno Haible  <bruno@clisp.org>
54351
54352         * modules/csharpexec-script: New, created from...
54353         * modules/csharpexec: ... this.
54354
54355 2007-01-16  Paolo Bonzini  <bonzini@gnu.org>
54356
54357         * modules/javaexec-script: New, created from...
54358         * modules/javaexec: ... this.
54359
54360 2007-01-16  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
54361
54362         * modules/poll (Dependencies): Add sys_select.
54363
54364 2007-01-15  Jim Meyering  <jim@meyering.net>
54365
54366         * m4/readutmp.m4 (gl_READUTMP): Work around AIX 4.3 struct-
54367         redefinition bug when using both <utmp.h> and <utmpx.h> headers.
54368         * lib/readutmp.h: Likewise.  Reported by Daniel Richard G. in
54369         <http://article.gmane.org/gmane.comp.gnu.core-utils.bugs/9415>.
54370
54371 2007-01-15  Bruno Haible  <bruno@clisp.org>
54372
54373         * modules/striconveh: New file.
54374         * lib/striconveh.h: New file.
54375         * lib/striconveh.c: New file.
54376         * MODULES.html.sh (Internationalization functions): Add striconveh.
54377
54378         * modules/striconveh-tests: New file.
54379         * tests/test-striconveh.c: New file.
54380
54381 2007-01-15  Bruno Haible  <bruno@clisp.org>
54382
54383         * lib/striconv.c (str_cd_iconv): Use the first algorithm if iconv is
54384         not from GNU libiconv or GNU libc.
54385
54386 2007-01-15  Bruno Haible  <bruno@clisp.org>
54387
54388         * doc/gnulib-intro.texi (Copyright): Explain the different license
54389         terms for module descriptions, autoconf macros, tests, documentation.
54390
54391 2007-01-14  Bruno Haible  <bruno@clisp.org>
54392
54393         * modules/striconv-tests: New file.
54394         * tests/test-striconv.c: New file.
54395
54396 2007-01-14  Bruno Haible  <bruno@clisp.org>
54397
54398         * modules/iconv-tests: New file.
54399         * tests/test-iconv.c: New file.
54400
54401 2007-01-14  Bruno Haible  <bruno@clisp.org>
54402
54403         * gnulib-tool (func_get_license): For test modules, use the license of
54404         the main module.
54405
54406 2007-01-14  Bruno Haible  <bruno@clisp.org>
54407
54408         * modules/iconv (Include): Clarify that <iconv.h> can only be included
54409         if iconv is found to exist.
54410
54411 2007-01-14  Bruno Haible  <bruno@clisp.org>
54412
54413         * modules/c-ctype-tests: New file.
54414         * tests/test-c-ctype.c: New file.
54415
54416 2007-01-14  Bruno Haible  <bruno@clisp.org>
54417
54418         * modules/binary-io-tests: New file.
54419         * tests/test-binary-io.sh: New file.
54420         * tests/test-binary-io.c: New file.
54421
54422 2007-01-14  Bruno Haible  <bruno@clisp.org>
54423
54424         * modules/array-oset-tests: New file.
54425         * tests/test-array_oset.c: New file.
54426
54427 2007-01-14  Bruno Haible  <bruno@clisp.org>
54428
54429         * modules/array-list-tests: New file.
54430         * tests/test-array_list.c: New file.
54431
54432 2007-01-14  Bruno Haible  <bruno@clisp.org>
54433
54434         * gnulib-tool (func_create_testdir): Don't unnecessarily run configure
54435         and make.
54436         Reported by Simon Josefsson in
54437         <http://lists.gnu.org/archive/html/bug-gnulib/2007-01/msg00139.html>
54438
54439 2007-01-14  Bruno Haible  <bruno@clisp.org>
54440
54441         * modules/allocsa-tests: New file.
54442         * tests/test-allocsa.c: New file.
54443
54444 2007-01-14  Bruno Haible  <bruno@clisp.org>
54445
54446         * modules/fchdir (Depends-on): Add absolute-header.
54447         * modules/unistd (Depends-on): Likewise.
54448
54449 2006-12-30  Bruno Haible  <bruno@clisp.org>
54450
54451         * modules/fchdir: New file.
54452         * modules/unistd (Files): Add lib/unistd_.h.
54453         (Makefile.am): Generate unistd.h from unistd_.h.
54454         * lib/fchdir.c: New file.
54455         * lib/dirent_.h: New file.
54456         * lib/unistd_.h: New file.
54457         * lib/fcntl_.h (open) [FCHDIR_REPLACEMENT]: New replacement.
54458         * m4/fchdir.m4: New file.
54459         * m4/unistd_h.m4 (gl_PREREQ_UNISTD): New macro.
54460         (gl_HEADER_UNISTD): Invoke it.
54461         * lib/dup-safer.c (dup_safer) [FCHDIR_REPLACEMENT]: Use the dup
54462         function.
54463         * lib/backupfile.c (opendir, closedir): Undefine.
54464         * lib/chown.c (open, close): Undefine.
54465         * lib/clean-temp.c (open, close): Undefine.
54466         * lib/copy-file.c (open, close): Undefine.
54467         * lib/execute.c (open, close): Undefine.
54468         * lib/fsusage.c (open, close): Undefine.
54469         * lib/gc-gnulib.c (open, close): Undefine.
54470         * lib/getcwd.c (opendir, closedir): Undefine.
54471         * lib/glob.c (opendir, closedir): Undefine.
54472         * lib/javacomp.c (open, close): Undefine.
54473         * lib/mountlist.c (open, close, opendir, closedir): Undefine.
54474         * lib/openat-proc.c (open, close): Undefine.
54475         * lib/pagealign_alloc.c (open, close): Undefine.
54476         * lib/pipe.c (open, close): Undefine.
54477         * lib/progreloc.c (open, close): Undefine.
54478         * lib/savedir.c (opendir, closedir): Undefine.
54479         * lib/utime.c (open, close): Undefine.
54480         * MODULES.html.sh (Support for systems lacking POSIX:2001): Add fchdir.
54481
54482 2007-01-10  Bruno Haible  <bruno@clisp.org>
54483
54484         * lib/striconv.c (mem_cd_iconv): Align the temporary buffer.
54485
54486 2007-01-12  Eric Blake  <ebb9@byu.net>
54487
54488         Provide a robust <wchar.h>.  Further simplifications are now
54489         possible in other modules, but not included here.
54490         * modules/wchar: New module.
54491         * m4/wchar.m4: New file.
54492         * lib/wchar_.h: Likewise.
54493         * modules/mbchar (Depends-on): Depend on wchar, as the first use
54494         of the new module.
54495         * MODULES.html.sh (Extended multibyte and wide character utilities):
54496         New section.
54497
54498 2007-01-12  Paul Eggert  <eggert@cs.ucla.edu>
54499
54500         * lib/xreadlink.c (SYMLINK_MAX) [!defined SYMLINK_MAX]: Define
54501         to a reasonable default for memory allocation.
54502         (xreadlink): Don't allocate a huge buffer, to work around a buggy
54503         file system that reports garbage st_size values for symlinks.
54504         Problem reported by Liyang Hu.
54505
54506 2007-01-11  Simon Josefsson  <simon@josefsson.org>
54507
54508         * gnulib-tool (func_all_modules): Exclude all .* files (e.g.,
54509         Emacs .#* auto-save files).
54510
54511 2007-01-11  Bruno Haible  <bruno@clisp.org>
54512
54513         * gnulib-tool (func_all_modules): Exclude all files inside the CVS
54514         directory.
54515
54516 2007-01-10  Paul Eggert  <eggert@cs.ucla.edu>
54517
54518         Use @...@ consistently in lib/wctype_.h.
54519         * lib/wctype_.h [HAVE_WINT_T]: Go back to using @...@, but rely
54520         on it being set to 1 or 0.
54521         * m4/wctype.m4 (gl_WCTYPE_H): Set HAVE_WINT_T to 1 or 0, and
54522         go back to AC_SUBSTing it.
54523         * modules/wctype (Makefile.am): Undo previous change.
54524
54525 2007-01-10  Eric Blake  <ebb9@byu.net>
54526
54527         * lib/wctype_.h [HAVE_WINT_T]: Rely on AC_DEFINE.
54528         * m4/wctype.m4 (gl_WCTYPE_H): No need to AC_SUBST(HAVE_WINT_T).
54529         * modules/wctype (Makefile.am): Likewise.
54530         Reported by Chris McGuire.
54531
54532 2007-01-10  Jim Meyering  <jim@meyering.net>
54533
54534         fts.c: a small readability/maintainability improvement
54535         * lib/fts.c (fts_read): Make this code slightly more readable and
54536         maintainable by hoisting the "sp->fts_cur = p" assignments to
54537         immediately follow the statements that set P.  Derived from
54538         the patch by Miloslav Trmac in http://bugzilla.redhat.com/222089.
54539
54540 2007-01-10  Eric Blake  <ebb9@byu.net>
54541
54542         * lib/wctype_.h [HAVE_WINT_T]: Include <stddef.h> before
54543         <wchar.h>, to work around BSDI bug in BSD/OS 4.0.1.
54544         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Likewise.
54545         * m4/wint_t.m4 (gt_TYPE_WINT_T): Likewise.
54546         Reported by Chris McGuire.
54547
54548 2007-01-09  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
54549
54550         * gnulib-tool (func_all_modules): Use POSIX conforming escaping
54551         in sed script.
54552
54553 2007-01-09  Bruno Haible  <bruno@clisp.org>
54554
54555         * MODULES.html.sh: Accept options --cvs-urls, --git-urls.
54556         (repo_url_prefix, repo_url_suffix, repo_url_suffix_repl): New
54557         variables.
54558         (func_module): Use them.
54559
54560 2007-01-09  Bruno Haible  <bruno@clisp.org>
54561
54562         * modules/unistr/base: New file.
54563         * lib/unistr.h: New file.
54564
54565         * modules/unistr/u8-to-u16: New file.
54566         * lib/unistr/u8-to-u16.c: New file.
54567
54568         * modules/unistr/u8-to-u32: New file.
54569         * lib/unistr/u8-to-u32.c: New file.
54570
54571         * modules/unistr/u16-to-u8: New file.
54572         * lib/unistr/u16-to-u8.c: New file.
54573
54574         * modules/unistr/u16-to-u32: New file.
54575         * lib/unistr/u16-to-u32.c: New file.
54576
54577         * modules/unistr/u32-to-u8: New file.
54578         * lib/unistr/u32-to-u8.c: New file.
54579
54580         * modules/unistr/u32-to-u16: New file.
54581         * lib/unistr/u32-to-u16.c: New file.
54582
54583         * modules/unistr/u8-check: New file.
54584         * modules/unistr/u16-check: New file.
54585         * modules/unistr/u32-check: New file.
54586         * lib/unistr/u8-check.c: New file.
54587         * lib/unistr/u16-check.c: New file.
54588         * lib/unistr/u32-check.c: New file.
54589
54590         * modules/unistr/u8-chr: New file.
54591         * modules/unistr/u16-chr: New file.
54592         * modules/unistr/u32-chr: New file.
54593         * lib/unistr/u8-chr.c: New file.
54594         * lib/unistr/u16-chr.c: New file.
54595         * lib/unistr/u32-chr.c: New file.
54596
54597         * modules/unistr/u8-cmp: New file.
54598         * modules/unistr/u16-cmp: New file.
54599         * modules/unistr/u32-cmp: New file.
54600         * lib/unistr/u8-cmp.c: New file.
54601         * lib/unistr/u16-cmp.c: New file.
54602         * lib/unistr/u32-cmp.c: New file.
54603
54604         * modules/unistr/u8-cpy: New file.
54605         * modules/unistr/u16-cpy: New file.
54606         * modules/unistr/u32-cpy: New file.
54607         * lib/unistr/u8-cpy.c: New file.
54608         * lib/unistr/u16-cpy.c: New file.
54609         * lib/unistr/u32-cpy.c: New file.
54610         * lib/unistr/u-cpy.h: New file.
54611
54612         * modules/unistr/u8-cpy-alloc: New file.
54613         * modules/unistr/u16-cpy-alloc: New file.
54614         * modules/unistr/u32-cpy-alloc: New file.
54615         * lib/unistr/u8-cpy-alloc.c: New file.
54616         * lib/unistr/u16-cpy-alloc.c: New file.
54617         * lib/unistr/u32-cpy-alloc.c: New file.
54618         * lib/unistr/u-cpy-alloc.h: New file.
54619
54620         * modules/unistr/u8-endswith: New file.
54621         * modules/unistr/u16-endswith: New file.
54622         * modules/unistr/u32-endswith: New file.
54623         * lib/unistr/u8-endswith.c: New file.
54624         * lib/unistr/u16-endswith.c: New file.
54625         * lib/unistr/u32-endswith.c: New file.
54626         * lib/unistr/u-endswith.h: New file.
54627
54628         * modules/unistr/u8-mblen: New file.
54629         * modules/unistr/u16-mblen: New file.
54630         * modules/unistr/u32-mblen: New file.
54631         * lib/unistr/u8-mblen.c: New file.
54632         * lib/unistr/u16-mblen.c: New file.
54633         * lib/unistr/u32-mblen.c: New file.
54634
54635         * modules/unistr/u8-mbtouc: New file.
54636         * modules/unistr/u16-mbtouc: New file.
54637         * modules/unistr/u32-mbtouc: New file.
54638         * lib/unistr/u8-mbtouc.c: New file.
54639         * lib/unistr/u16-mbtouc.c: New file.
54640         * lib/unistr/u32-mbtouc.c: New file.
54641
54642         * modules/unistr/u8-mbtouc-safe: New file.
54643         * modules/unistr/u16-mbtouc-safe: New file.
54644         * modules/unistr/u32-mbtouc-safe: New file.
54645         * lib/unistr/u8-mbtouc-safe.c: New file.
54646         * lib/unistr/u16-mbtouc-safe.c: New file.
54647         * lib/unistr/u32-mbtouc-safe.c: New file.
54648
54649         * modules/unistr/u8-move: New file.
54650         * modules/unistr/u16-move: New file.
54651         * modules/unistr/u32-move: New file.
54652         * lib/unistr/u8-move.c: New file.
54653         * lib/unistr/u16-move.c: New file.
54654         * lib/unistr/u32-move.c: New file.
54655         * lib/unistr/u-move.h: New file.
54656
54657         * modules/unistr/u8-next: New file.
54658         * modules/unistr/u16-next: New file.
54659         * modules/unistr/u32-next: New file.
54660         * lib/unistr/u8-next.c: New file.
54661         * lib/unistr/u16-next.c: New file.
54662         * lib/unistr/u32-next.c: New file.
54663
54664         * modules/unistr/u8-prev: New file.
54665         * modules/unistr/u16-prev: New file.
54666         * modules/unistr/u32-prev: New file.
54667         * lib/unistr/u8-prev.c: New file.
54668         * lib/unistr/u16-prev.c: New file.
54669         * lib/unistr/u32-prev.c: New file.
54670
54671         * modules/unistr/u8-set: New file.
54672         * modules/unistr/u16-set: New file.
54673         * modules/unistr/u32-set: New file.
54674         * lib/unistr/u8-set.c: New file.
54675         * lib/unistr/u16-set.c: New file.
54676         * lib/unistr/u32-set.c: New file.
54677         * lib/unistr/u-set.h: New file.
54678
54679         * modules/unistr/u8-startswith: New file.
54680         * modules/unistr/u16-startswith: New file.
54681         * modules/unistr/u32-startswith: New file.
54682         * lib/unistr/u8-startswith.c: New file.
54683         * lib/unistr/u16-startswith.c: New file.
54684         * lib/unistr/u32-startswith.c: New file.
54685         * lib/unistr/u-startswith.h: New file.
54686
54687         * modules/unistr/u8-stpcpy: New file.
54688         * modules/unistr/u16-stpcpy: New file.
54689         * modules/unistr/u32-stpcpy: New file.
54690         * lib/unistr/u8-stpcpy.c: New file.
54691         * lib/unistr/u16-stpcpy.c: New file.
54692         * lib/unistr/u32-stpcpy.c: New file.
54693         * lib/unistr/u-stpcpy.h: New file.
54694
54695         * modules/unistr/u8-stpncpy: New file.
54696         * modules/unistr/u16-stpncpy: New file.
54697         * modules/unistr/u32-stpncpy: New file.
54698         * lib/unistr/u8-stpncpy.c: New file.
54699         * lib/unistr/u16-stpncpy.c: New file.
54700         * lib/unistr/u32-stpncpy.c: New file.
54701         * lib/unistr/u-stpncpy.h: New file.
54702
54703         * modules/unistr/u8-strcat: New file.
54704         * modules/unistr/u16-strcat: New file.
54705         * modules/unistr/u32-strcat: New file.
54706         * lib/unistr/u8-strcat.c: New file.
54707         * lib/unistr/u16-strcat.c: New file.
54708         * lib/unistr/u32-strcat.c: New file.
54709         * lib/unistr/u-strcat.h: New file.
54710
54711         * modules/unistr/u8-strchr: New file.
54712         * modules/unistr/u16-strchr: New file.
54713         * modules/unistr/u32-strchr: New file.
54714         * lib/unistr/u8-strchr.c: New file.
54715         * lib/unistr/u16-strchr.c: New file.
54716         * lib/unistr/u32-strchr.c: New file.
54717
54718         * modules/unistr/u8-strcmp: New file.
54719         * modules/unistr/u16-strcmp: New file.
54720         * modules/unistr/u32-strcmp: New file.
54721         * lib/unistr/u8-strcmp.c: New file.
54722         * lib/unistr/u16-strcmp.c: New file.
54723         * lib/unistr/u32-strcmp.c: New file.
54724
54725         * modules/unistr/u8-strcpy: New file.
54726         * modules/unistr/u16-strcpy: New file.
54727         * modules/unistr/u32-strcpy: New file.
54728         * lib/unistr/u8-strcpy.c: New file.
54729         * lib/unistr/u16-strcpy.c: New file.
54730         * lib/unistr/u32-strcpy.c: New file.
54731         * lib/unistr/u-strcpy.h: New file.
54732
54733         * modules/unistr/u8-strcspn: New file.
54734         * modules/unistr/u16-strcspn: New file.
54735         * modules/unistr/u32-strcspn: New file.
54736         * lib/unistr/u8-strcspn.c: New file.
54737         * lib/unistr/u16-strcspn.c: New file.
54738         * lib/unistr/u32-strcspn.c: New file.
54739         * lib/unistr/u-strcspn.h: New file.
54740
54741         * modules/unistr/u8-strdup: New file.
54742         * modules/unistr/u16-strdup: New file.
54743         * modules/unistr/u32-strdup: New file.
54744         * lib/unistr/u8-strdup.c: New file.
54745         * lib/unistr/u16-strdup.c: New file.
54746         * lib/unistr/u32-strdup.c: New file.
54747         * lib/unistr/u-strdup.h: New file.
54748
54749         * modules/unistr/u8-strlen: New file.
54750         * modules/unistr/u16-strlen: New file.
54751         * modules/unistr/u32-strlen: New file.
54752         * lib/unistr/u8-strlen.c: New file.
54753         * lib/unistr/u16-strlen.c: New file.
54754         * lib/unistr/u32-strlen.c: New file.
54755         * lib/unistr/u-strlen.h: New file.
54756
54757         * modules/unistr/u8-strmblen: New file.
54758         * modules/unistr/u16-strmblen: New file.
54759         * modules/unistr/u32-strmblen: New file.
54760         * lib/unistr/u8-strmblen.c: New file.
54761         * lib/unistr/u16-strmblen.c: New file.
54762         * lib/unistr/u32-strmblen.c: New file.
54763
54764         * modules/unistr/u8-strmbtouc: New file.
54765         * modules/unistr/u16-strmbtouc: New file.
54766         * modules/unistr/u32-strmbtouc: New file.
54767         * lib/unistr/u8-strmbtouc.c: New file.
54768         * lib/unistr/u16-strmbtouc.c: New file.
54769         * lib/unistr/u32-strmbtouc.c: New file.
54770
54771         * modules/unistr/u8-strncat: New file.
54772         * modules/unistr/u16-strncat: New file.
54773         * modules/unistr/u32-strncat: New file.
54774         * lib/unistr/u8-strncat.c: New file.
54775         * lib/unistr/u16-strncat.c: New file.
54776         * lib/unistr/u32-strncat.c: New file.
54777         * lib/unistr/u-strncat.h: New file.
54778
54779         * modules/unistr/u8-strncmp: New file.
54780         * modules/unistr/u16-strncmp: New file.
54781         * modules/unistr/u32-strncmp: New file.
54782         * lib/unistr/u8-strncmp.c: New file.
54783         * lib/unistr/u16-strncmp.c: New file.
54784         * lib/unistr/u32-strncmp.c: New file.
54785
54786         * modules/unistr/u8-strncpy: New file.
54787         * modules/unistr/u16-strncpy: New file.
54788         * modules/unistr/u32-strncpy: New file.
54789         * lib/unistr/u8-strncpy.c: New file.
54790         * lib/unistr/u16-strncpy.c: New file.
54791         * lib/unistr/u32-strncpy.c: New file.
54792         * lib/unistr/u-strncpy.h: New file.
54793
54794         * modules/unistr/u8-strnlen: New file.
54795         * modules/unistr/u16-strnlen: New file.
54796         * modules/unistr/u32-strnlen: New file.
54797         * lib/unistr/u8-strnlen.c: New file.
54798         * lib/unistr/u16-strnlen.c: New file.
54799         * lib/unistr/u32-strnlen.c: New file.
54800         * lib/unistr/u-strnlen.h: New file.
54801
54802         * modules/unistr/u8-strpbrk: New file.
54803         * modules/unistr/u16-strpbrk: New file.
54804         * modules/unistr/u32-strpbrk: New file.
54805         * lib/unistr/u8-strpbrk.c: New file.
54806         * lib/unistr/u16-strpbrk.c: New file.
54807         * lib/unistr/u32-strpbrk.c: New file.
54808         * lib/unistr/u-strpbrk.h: New file.
54809
54810         * modules/unistr/u8-strrchr: New file.
54811         * modules/unistr/u16-strrchr: New file.
54812         * modules/unistr/u32-strrchr: New file.
54813         * lib/unistr/u8-strrchr.c: New file.
54814         * lib/unistr/u16-strrchr.c: New file.
54815         * lib/unistr/u32-strrchr.c: New file.
54816
54817         * modules/unistr/u8-strspn: New file.
54818         * modules/unistr/u16-strspn: New file.
54819         * modules/unistr/u32-strspn: New file.
54820         * lib/unistr/u8-strspn.c: New file.
54821         * lib/unistr/u16-strspn.c: New file.
54822         * lib/unistr/u32-strspn.c: New file.
54823         * lib/unistr/u-strspn.h: New file.
54824
54825         * modules/unistr/u8-strstr: New file.
54826         * modules/unistr/u16-strstr: New file.
54827         * modules/unistr/u32-strstr: New file.
54828         * lib/unistr/u8-strstr.c: New file.
54829         * lib/unistr/u16-strstr.c: New file.
54830         * lib/unistr/u32-strstr.c: New file.
54831         * lib/unistr/u-strstr.h: New file.
54832
54833         * modules/unistr/u8-strtok: New file.
54834         * modules/unistr/u16-strtok: New file.
54835         * modules/unistr/u32-strtok: New file.
54836         * lib/unistr/u8-strtok.c: New file.
54837         * lib/unistr/u16-strtok.c: New file.
54838         * lib/unistr/u32-strtok.c: New file.
54839         * lib/unistr/u-strtok.h: New file.
54840
54841         * modules/unistr/u8-uctomb: New file.
54842         * modules/unistr/u16-uctomb: New file.
54843         * modules/unistr/u32-uctomb: New file.
54844         * lib/unistr/u8-uctomb.c: New file.
54845         * lib/unistr/u16-uctomb.c: New file.
54846         * lib/unistr/u32-uctomb.c: New file.
54847
54848         * MODULES.html.sh (Unicode string functions): Add the new modules.
54849
54850 2007-01-08  Bruno Haible  <bruno@clisp.org>
54851
54852         * gnulib-tool (func_all_modules): Use find, not ls, to traverse the
54853         modules directory. Filter out CVS, ChangeLog, COPYING, README also from
54854         subdirectories.
54855
54856 2007-01-08  Karl Berry  <karl@gnu.org>
54857
54858         * doc/error.texi: mention that main() fns must set program_name
54859         when progname is used.
54860
54861 2007-01-08  Paul Eggert  <eggert@cs.ucla.edu>
54862
54863         * m4/wctype.m4 (gl_WCTYPE_H): Compute ABSOLUTE_WCTYPE_H even if
54864         WCTYPE_H is empty, for the benefit of builds from non-distclean
54865         directories.  Problem reported by Eric Blake in
54866         <http://lists.gnu.org/archive/html/bug-gnulib/2007-01/msg00157.html>.
54867
54868 2007-01-08  Bruno Haible  <bruno@clisp.org>
54869
54870         * m4/canonicalize.m4 (AC_FUNC_CANONICALIZE_FILE_NAME): Remove
54871         PROVIDE_CANONICALIZE_FILENAME_MODE macro definition.
54872         * lib/canonicalize.h: Test GNULIB_CANONICALIZE instead of
54873         PROVIDE_CANONICALIZE_FILENAME_MODE.
54874         * modules/canonicalize (configure.ac): Use gl_MODULE_INDICATOR.
54875
54876 2007-01-08  Bruno Haible  <bruno@clisp.org>
54877
54878         * m4/fts.m4 (gl_FUNC_FTS_LGPL): Remove _LGPL_PACKAGE macro definition.
54879         * lib/fts_.h (_LGPL_PACKAGE): Remove macro.
54880         Use !GNULIB_FTS instead of _LGPL_PACKAGE.
54881         * lib/fts.c: Likewise.
54882         * modules/fts (configure.ac): Use gl_MODULE_INDICATOR.
54883
54884 2006-12-25  Bruno Haible  <bruno@clisp.org>
54885
54886         * modules/utf8-ucs4-safe: New file.
54887         * lib/utf8-ucs4-safe.h: New file.
54888         * lib/unistr/utf8-ucs4-safe.c: New file.
54889
54890         * modules/utf16-ucs4-safe: New file.
54891         * lib/utf16-ucs4-safe.h: New file.
54892         * lib/unistr/utf16-ucs4-safe.c: New file.
54893
54894         * MODULES.html.sh (Unicode string functions): Add the new modules.
54895
54896 2007-01-08  Bruno Haible  <bruno@clisp.org>
54897
54898         * modules/utf8-ucs4 (Files, lib_SOURCES): Add unistr/utf8-ucs4.c.
54899         (Depends-on): Add unitypes.
54900         * lib/utf8-ucs4.h: Add double-inclusion guard. Include unitypes.h.
54901         (u8_mbtouc_aux): Move out to separate file.
54902         (u8_mbtouc): Use ucs4_t, uint8_t types.
54903         * lib/unistr/utf8-ucs4.c: New file.
54904
54905         * modules/utf16-ucs4 (Files, lib_SOURCES): Add unistr/utf16-ucs4.c.
54906         (Depends-on): Add unitypes.
54907         * lib/utf16-ucs4.h: Add double-inclusion guard. Include unitypes.h.
54908         (u16_mbtouc_aux): Move out to separate file.
54909         (u16_mbtouc): Use ucs4_t, uint16_t types.
54910         * lib/unistr/utf16-ucs4.c: New file.
54911
54912         * modules/ucs4-utf8 (Files, lib_SOURCES): Add unistr/ucs4-utf8.c.
54913         (Depends-on): Add unitypes.
54914         * lib/ucs4-utf8.h: Add double-inclusion guard. Include unitypes.h.
54915         (u8_uctomb_aux): Move out to separate file.
54916         (u8_uctomb): Use ucs4_t, uint8_t types.
54917         * lib/unistr/ucs4-utf8.c: New file.
54918
54919         * modules/ucs4-utf16 (Files, lib_SOURCES): Add unistr/ucs4-utf16.c.
54920         (Depends-on): Add unitypes.
54921         * lib/ucs4-utf16.h: Add double-inclusion guard. Include unitypes.h.
54922         (u16_uctomb_aux): Move out to separate file.
54923         (u16_uctomb): Use ucs4_t, uint16_t types.
54924         * lib/unistr/ucs4-utf16.c: New file.
54925
54926 2006-12-25  Bruno Haible  <bruno@clisp.org>
54927
54928         * modules/unitypes: New file.
54929         * lib/unitypes.h: New file.
54930         * MODULES.html.sh (func_all_modules): New section "Unicode string
54931         functions". Move ucs4-utf8, ucs4-utf16, utf8-ucs4, utf16-ucs4 to
54932         this section. Add unitypes.
54933
54934 2007-01-08  Bruno Haible  <bruno@clisp.org>
54935
54936         Avoid variable names that conflict with those from libtool.
54937         * m4/lib-link.m4 (AC_LIB_RPATH, AC_LIB_LINKFLAGS_BODY,
54938         AC_LIB_LINKFLAGS_FROM_LIBS): Rename libext to acl_libext,
54939         shlibext to acl_shlibext, libname_spec to acl_libname_spec,
54940         library_names_spec to acl_library_names_spec, hardcode_* to
54941         acl_hardcode_*.
54942         Reported by Ralf Wildenhues.
54943
54944 2007-01-08  Bruno Haible  <bruno@clisp.org>
54945
54946         * m4/gc-arcfour.m4 (gl_GC_ARCFOUR): Remove GC_USE_ARCFOUR macro
54947         definition.
54948         * m4/gc-arctwo.m4 (gl_GC_ARCTWO): Remove GC_USE_ARCTWO macro
54949         definition.
54950         * m4/gc-des.m4 (gl_GC_DES): Remove GC_USE_DES macro definition.
54951         * m4/gc-hmac-md5.m4 (gl_GC_HMAC_MD5): Remove GC_USE_HMAC_MD5 macro
54952         definition.
54953         * m4/gc-hmac-sha1.m4 (gl_GC_HMAC_SHA1): Remove GC_USE_HMAC_SHA1 macro
54954         definition.
54955         * m4/gc-md2.m4 (gl_GC_MD2): Remove GC_USE_MD2 macro definition.
54956         * m4/gc-md4.m4 (gl_GC_MD4): Remove GC_USE_MD4 macro definition.
54957         * m4/gc-md5.m4 (gl_GC_MD5): Remove GC_USE_MD5 macro definition.
54958         * m4/gc-random.m4 (gl_GC_RANDOM): Remove GC_USE_RANDOM macro
54959         definition.
54960         * m4/gc-rijndael.m4 (gl_GC_RIJNDAEL): Remove GC_USE_RIJNDAEL macro
54961         definition.
54962         * m4/gc-sha1.m4 (gl_GC_SHA1): Remove GC_USE_SHA1 macro definition.
54963         * lib/gc-gnulib.c: Use GNULIB_GC_<algorithm> instead of
54964         GC_USE_<algorithm>.
54965         * lib/gc-libgcrypt.c: Likewise.
54966         * modules/gc-arcfour (configure.ac): Use gl_MODULE_INDICATOR.
54967         * modules/gc-arctwo (configure.ac): Likewise.
54968         * modules/gc-des (configure.ac): Likewise.
54969         * modules/gc-hmac-md5 (configure.ac): Likewise.
54970         * modules/gc-hmac-sha1 (configure.ac): Likewise.
54971         * modules/gc-md2 (configure.ac): Likewise.
54972         * modules/gc-md4 (configure.ac): Likewise.
54973         * modules/gc-md5 (configure.ac): Likewise.
54974         * modules/gc-random (configure.ac): Likewise.
54975         * modules/gc-rijndael (configure.ac): Likewise.
54976         * modules/gc-sha1 (configure.ac): Likewise.
54977
54978 2007-01-08  Bruno Haible  <bruno@clisp.org>
54979
54980         * m4/close-stream.m4 (gl_CLOSE_STREAM): Remove GNULIB_CLOSE_STREAM
54981         macro definition.
54982         * m4/fcntl-safer.m4 (gl_FCNTL_SAFER): Remove GNULIB_FCNTL_SAFER macro
54983         definition.
54984         * m4/stdio-safer.m4 (gl_FOPEN_SAFER): Remove GNULIB_FOPEN_SAFER macro
54985         definition.
54986         * modules/close-stream (configure.ac): Invoke gl_MODULE_INDICATOR.
54987         * modules/fcntl-safer (configure.ac): Likewise.
54988         * modules/fopen-safer (configure.ac): Likewise.
54989         * modules/fwriteerror (configure.ac): Likewise. Remove explicit
54990         GNULIB_FWRITEERROR macro definition.
54991
54992 2007-01-08  Bruno Haible  <bruno@clisp.org>
54993
54994         * m4/gnulib-common.m4: New file.
54995         * gnulib-tool (func_get_autoconf_snippet): Undo last change.
54996         (func_get_filelist): Add m4/gnulib-common.m4.
54997
54998 2007-01-08  Bruno Haible  <bruno@clisp.org>
54999
55000         * m4/lib-link.m4 (AC_LIB_LINKFLAGS_BODY): Simplify the sorting
55001         command.
55002
55003 2007-01-08  Jim Meyering  <jim@meyering.net>
55004
55005         Use a more robust test for a "can't happen" condition.
55006         * lib/fts.c (fts_read): Revert the change of 2006-11-22, since it
55007         narrowed the st_size value.  Presuming the "can't happen" condition
55008         is true, that narrowing could conceivably convert an invalid st_size
55009         value into a valid one.  Instead, use a change based on Matthew
55010         Woehlke's original patch.
55011
55012         Slight readability improvement: use an assert-like macro
55013         in place of literal "abort ()" uses.
55014         * lib/fts.c (fts_assert): Define.
55015         (fts_set_stat_required, cwd_advance_fd, fts_read, fd_ring_check):
55016         Use this macro instead of a bare 'abort'.
55017
55018 2007-01-05  Paul Eggert  <eggert@cs.ucla.edu>
55019
55020         Don't worry about using IRIX 5.3's wctype.h broken definitions;
55021         simply work around them.
55022         * lib/wctype_.h: Remove test for HAVE_WCTYPE_CTMP_BUG.
55023         (iswalnum, iswalpha, iswblank, iswcntrl, iswdigit, iswgraph, iswlower):
55024         (iswprint, iswpunct, iswspace, iswupper, iswxdigit): Undef before
55025         declaring.
55026         Don't bother to define as macros, since the standard doesn't require it.
55027         * m4/wctype.m4 (WCTYPE_H, ABSOLUTE_WCTYPE_H): Simplify, since we no
55028         longer worry about IRIX 5.3.
55029         (HAVE_WCTYPE_CTMP_BUG): Remove.
55030
55031 2007-01-04  Paul Eggert  <eggert@cs.ucla.edu>
55032
55033         * lib/wctype_.h (_ctmp_) [HAVE_WCTYPE_CTMP_BUG]: Now of type wchar_t,
55034         not wint_t.  Also, include <ctype.h>, to fix another IRIX bug.
55035         * m4/wctype.m4 (gl_WCTYPE_H): Likewise.
55036         Problems reported by Georg Schwarz for IRIX 5.3.
55037
55038         * gnulib-tool (autoconf_minversion): Take the maximum version number
55039         found, not the minimum.  Problem reported by James Youngman.
55040
55041 2007-01-03  Karl Berry  <karl@gnu.org>
55042
55043         * doc/error.texi: new file, explaining interaction with progname.
55044         * doc/gnulib.texi: include it.  Update copyright.
55045
55046 2007-01-03  Simon Josefsson  <simon@josefsson.org>
55047
55048         * gnulib-tool (func_create_testdir): Run AC_CANONICAL_BUILD and
55049         AC_CANONICAL_HOST, to improve autobuild outputs.
55050
55051 2007-01-03  Paolo Bonzini  <bonzini@gnu.org>
55052             Yoann Vandoorselaere <yoann.v@prelude-ids.com>
55053
55054         * lib/poll.c (poll): Use recv on Mac OS X to distinguish connected
55055         sockets, server sockets, and other file descriptors.  Count errors
55056         to compute the return value.  Reorder the code a bit to be easier
55057         to follow.  Don't set event bits that were not requested (except
55058         POLLERR and POLLHUP).
55059
55060 2007-01-01  Bruno Haible  <bruno@clisp.org>
55061
55062         * modules/lchmod (Include): Require lchmod.h, not lchown.h.
55063
55064 2007-01-03  Jim Meyering  <jim@meyering.net>
55065
55066         * modules/fts-lgpl (Depends-on): Add i-ring.  Reported by Bruno Haible.
55067
55068 2007-01-02  Bruno Haible  <bruno@clisp.org>
55069
55070         * modules/settime (Include): Require timespec.h.
55071         * modules/nanosleep (Include): Likewise.
55072
55073 2007-01-01  Bruno Haible  <bruno@clisp.org>
55074
55075         * gnulib-tool (func_emit_copyright_notice): Bump year.
55076         (func_get_autoconf_snippet): Emit a GNULIB_<modulename> macro.
55077
55078 2007-01-01  Bruno Haible  <bruno@clisp.org>
55079
55080         Improve support for OpenBSD.
55081         * build-aux/config.rpath (libname_spec): Export.
55082         (library_names_spec): New variable. Export.
55083         * m4/lib-link.m4 (AC_LIB_LINKFLAGS_BODY): Extract libname_spec and
55084         library_names_spec from the config.rpath output. Locate shared library
55085         through the name pattern in library_names_spec.
55086
55087 2007-01-01  Eric Blake  <ebb9@byu.net>
55088
55089         * lib/version-etc.c (COPYRIGHT_YEAR): Bump for new year.
55090
55091 2006-12-30  Paul Eggert  <eggert@cs.ucla.edu>
55092
55093         * gnulib-tool (SORT): Remove, since we no longer assume GNU sort.
55094         Rewrite so as not to assume GNU sort or "tail -1".  Also, don't
55095         assume the C locale, and avoid an "eval" that could cause trouble.
55096         Problem with SORT reported by Bob Proulx.
55097
55098         * lib/getpagesize.h (getpagesize) [defined __amigaos4__]:
55099         Define.  Trivial patch from Henning Nielsen Lund, originally
55100         sent to bug-grep@gnu.org today.
55101
55102 2006-12-29  Paul Eggert  <eggert@cs.ucla.edu>
55103
55104         * lib/acl.h: Include sys/types.h and sys/stat.h, for mode_t and
55105         struct stat.  Problem reported by Henning Nielsen Lund.
55106         * lib/acl.c: Include acl.h first, to check interface.  Don't
55107         bother to include sys/types.h and sys/stat.h again.
55108
55109 2006-12-28  Paul Eggert  <eggert@cs.ucla.edu>
55110
55111         Import the following change from libc; problem reported by
55112         Sven Verdoolaege.
55113
55114         2005-10-13  Ulrich Drepper  <drepper@redhat.com>
55115
55116         [BZ #1373]
55117         * lib/argp.h: Remove __NTH for __argp_usage inline function.
55118
55119 2006-12-28  Jim Meyering  <jim@meyering.net>
55120
55121         * build-aux/announce-gen: Do not assume that the package
55122         builds any of tar.gz, tar.bz2, and .xdelta files.
55123         Suggestion from Simon Josefsson.
55124
55125 2006-12-28  Simon Josefsson  <simon@josefsson.org>
55126
55127         * modules/announce-gen: New file.
55128
55129 2006-12-27  Paul Eggert  <eggert@cs.ucla.edu>
55130
55131         * lib/mbchar.h: Just include <wctype.h>; the wctype module
55132         handles its gotchas now.
55133         * lib/mbswidth.c: Likewise.
55134         * lib/wcwidth.h: Likewise.
55135         * m4/mbchar.m4 (gl_MBCHAR): Don't bother checking for wctype.h
55136         and iswcntrl; the wctype module does this stuff now.
55137         * m4/mbswidth.m4 (gl_MBSWIDTH): Likewise.
55138         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Likewise.
55139         * modules/mbchar (Depends-on): Add wctype.
55140         * modules/mbswidth (Depends-on): Likewise.
55141         * modules/wcwidth (Depends-on): Likewise.
55142
55143 2006-12-27  Eric Blake  <ebb9@byu.net>
55144
55145         * lib/fnmatch.c: Reinstate inclusion of <wchar.h>, since this
55146         module uses more than what <wctype.h> is required to provide.
55147
55148 2006-12-26  Eric Blake  <ebb9@byu.net>
55149
55150         * gnulib-tool (sed_extract_prog): Avoid space-tab.
55151
55152 2006-12-26  Eric Blake  <ebb9@byu.net>
55153
55154         * modules/absolute-header: New module.
55155         * modules/fcntl (Depends-on): Depend on it.
55156         * modules/inttypes (Depends-on): Likewise.
55157         * modules/stdint (Depends-on): Likewise.
55158         * modules/sys_stat (Depends-on): Likewise.
55159         * modules/wctype (Depends-on): Likewise.
55160         * MODULES.html.sh (Support for building libraries and
55161         executables): Document it.
55162
55163 2006-12-25  Paul Eggert  <eggert@cs.ucla.edu>
55164
55165         * gnulib-tool (SED): Remove, undoing previous change.
55166         The problem was that it broke coreutils on Solaris, because
55167         "sed --posix" leaked into a makefile.
55168         (sed): New alias, if 'alias' and GNU sed.
55169
55170 2006-12-24  Jim Meyering  <jim@meyering.net>
55171
55172         Work around an fchownat bug in glibc-2.4:
55173         http://lists.ubuntu.com/archives/ubuntu-users/2006-September/093218.html
55174         This bug would cause "chown -RP ... DIR" to follow symlinks in DIR,
55175         in spite of the -P option.
55176         * m4/openat.m4 (gl_FUNC_FCHOWNAT, gl_FUNC_FCHOWNAT_DEREF_BUG):
55177         New macros.
55178         (gl_PREREQ_OPENAT): Require gl_FUNC_FCHOWNAT.
55179         * modules/openat (Files): Add lib/fchownat.c.
55180         * lib/openat.c (fchownat): Don't define here.  Move to...
55181         * lib/fchownat.c: ...this new file.
55182
55183 2006-12-23  Paul Eggert  <eggert@cs.ucla.edu>
55184
55185         Fix bug reported by Bruno Haible in
55186         <http://lists.gnu.org/archive/html/bug-gnulib/2006-12/msg00228.html>
55187         where quotearg.c didn't compile on Mac OS X 10.2 because it
55188         lacks <wchar.h> and wint_t.
55189         * lib/wctype_.h (__wctype_wint_t): New type.
55190         Include <stdio.h>, <time.h>, <wchar.h> only if HAVE_WINT_T.
55191         (iswalnum, iswalpha, iswblank, iswcntrl, iswdigit, iswgraph):
55192         (iswlower, iswprint, iswpunct, iswspace, iswupper, ixwxdigit):
55193         Arg is now of type __wctype_wint_t, not wint_t.
55194         * m4/wctype.m4 (gl_WCTYPE_H): Require gt_TYPE_WINT_T, and
55195         substitute HAVE_WINT_T.
55196         * modules/wctype (Files): Add m4/wint_t.m4.
55197         (wctype.h): Substitute HAVE_WINT_T.
55198
55199 2006-12-23  Bruno Haible  <bruno@clisp.org>
55200
55201         * lib/safe-read.h [C++]: Wrap declarations in extern "C".
55202
55203 2006-12-23  Bruno Haible  <bruno@clisp.org>
55204
55205         * lib/canonicalize-lgpl.c (__realpath): Test HAVE_READLINK instead of
55206         S_ISLNK.
55207         Needed because gnulib's sys/stat.h replacement defines S_ISLNK on
55208         mingw.
55209
55210 2006-12-22  Bruno Haible  <bruno@clisp.org>
55211
55212         * lib/copy-file.c: Include acl.h.
55213         (copy_file_preserving) [USE_ACL]: Use copy_acl instead of chmod.
55214         Close the file descriptors only after being done with copy_acl.
55215         * modules/copy-file (Depends-on): Add acl.
55216
55217 2006-12-22  Bruno Haible  <bruno@clisp.org>
55218
55219         * gnulib-tool (SED): New variable.
55220         Use $SED instead of sed everywhere.
55221
55222 2006-12-22  Bruno Haible  <bruno@clisp.org>
55223
55224         * modules/no-c++: New file.
55225         * m4/no-c++.m4: New file.
55226         * MODULES.html.sh (Support for building libraries and executables):
55227         Add no-c++.
55228
55229 2006-12-22  Paul Eggert  <eggert@cs.ucla.edu>
55230
55231         * m4/mktime.m4 (AC_FUNC_MKTIME): Sync from Autoconf.
55232         Include <limits.h>, and use its INT_MAX to rewrite the
55233         j loop so that it does not overflow 'int'.  Problem reported by
55234         Ralf Wildenhues in
55235         <http://lists.gnu.org/archive/html/bug-gnulib/2006-12/msg00084.html>.
55236         Play it safe by shifting left by 1 rather than multiplying by 2,
55237         as GCC is less likely to optimize this away when the value
55238         is signed (when it assumes overflow leads to undefined behavior).
55239         Also, don't assume time_t uses two's complement.
55240
55241 2006-12-21  Paul Eggert  <eggert@cs.ucla.edu>
55242
55243         * MODULES.html.sh: New module wctype.
55244         * lib/wctype_.h, m4/wctype.m4, modules/wctype: New files.
55245         * lib/fnmatch.c: Don't bother to include <wchar.h> before
55246         <wctype.h>, since the new wctype module should fix this.
55247         * lib/quotearg.c: Include <wctype.h> unconditionally, since
55248         the wctype module should arrange for it.
55249         * lib/regex_internal.h: Likewise.
55250         * m4/quotearg.m4 (gl_QUOTEARG): Don't check for wctype.h or iswprint,
55251         since the wctype module should handle this now.
55252         * m4/regex.m4 (gl_PREREQ_REGEX): Don't check for wctype.h.
55253         * modules/fnmatch (Depends-on): Add wctype.
55254         * modules/quotearg (Depends-on): Likewise.
55255         * modules/regex (Depends-on): Likewise.
55256
55257 2006-12-19  Bruno Haible  <bruno@clisp.org>
55258
55259         * lib/strdup.h [C++]: Wrap definitions in extern "C".
55260         Suggested by Lorenzo Bettini <bettini@dsi.unifi.it>.
55261
55262 2006-12-19  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
55263
55264         * modules/savewd (Depends-on): Fix dependency on fcntl.
55265
55266 2006-12-18  Paul Eggert  <eggert@cs.ucla.edu>
55267
55268         * m4/stdint.m4 (gl_STDINT_H): Set STDINT_H to empty if stdint.h
55269         conforms to C99, rather than relying on the user's environment
55270         setting of STDINT_H.
55271
55272 2006-12-18  Paul Eggert  <eggert@cs.ucla.edu>
55273         and Eric Blake  <ebb9@byu.net>
55274
55275         * lib/dirname.h (DOUBLE_SLASH_IS_DISTINCT_ROOT): Default to 0, not 1.
55276         This is more consistent with the other defines here.
55277         * m4/double-slash-root.m4 (gl_DOUBLE_SLASH_ROOT):
55278         Port to z/OS.  Problem reported by Paul Gilmartin.
55279         Change local vars to use gl_ prefix rather than ac_.
55280         Don't define DOUBLE_SLASH_IS_DISTINCT_ROOT to 0, for consistency
55281         with other defines.
55282         * modules/double-slash-root: New module.
55283         * modules/dirname (Files): Remove m4/double-slash-root.m4.
55284         (Depends-on): Add double-slash-root.
55285         * MODULES.html.sh (File system functions): Mention new module.
55286
55287 2006-12-14  Paul Eggert  <eggert@cs.ucla.edu>
55288
55289         * lib/yesno.c [!ENABLE_NLS]: Don't include getline.h.
55290         (yesno) [!ENABLE_NLS]: Don't invoke getline or rpmatch.
55291         This is for the benefit of gzip, which doesn't do i18n.
55292
55293 2006-12-12  Jim Meyering  <jim@meyering.net>
55294
55295         * m4/acl.m4 (gl_ACL_GET_FILE): Fix logic error.
55296         Reported by Andreas Schwab <schwab@suse.de>.
55297
55298 2006-12-12  Bruno Haible  <bruno@clisp.org>
55299
55300         Merge these changes.
55301         2006-09-05  Bruno Haible  <bruno@clisp.org>
55302         * lib/iconvme.c (iconv_string): No need to save and restore errno when
55303         iconv_alloc succeeded.
55304         (iconv_alloc): Don't assume that malloc() or realloc(), when failing,
55305         sets errno to ENOMEM. (malloc on GNU/kFreeBSD doesn't.) No need to
55306         test for " && dest " at the end - dest is always != NULL there. Call
55307         iconv with 4xNULL arguments initially, to reset the state. Call iconv
55308         with 2xNULL arguments, also to flush the state storage. Handle the
55309         IRIX iconv behaviour. Realloc the final result, to throw away unused
55310         memory.
55311
55312 2006-12-11  Paul Eggert  <eggert@cs.ucla.edu>
55313
55314         * m4/openat.m4 (gl_FUNC_OPENAT): Don't compile mkdirat
55315         and fchmodat unconditionally, since glibc 2.4 has them.
55316         Problem reported by Arkadiusz Miskiewicz.
55317
55318 2006-12-10  Bruno Haible  <bruno@clisp.org>
55319
55320         * gnulib-tool (func_import): Show the include files only for those
55321         modules that are copied and specified.
55322         Reported by Karl Berry.
55323
55324 2006-12-08  Jim Meyering  <jim@meyering.net>
55325
55326         * build-aux/announce-gen ($VERSION): Don't use of $Revision...$.
55327         Instead, use Emacs' time-stamp write hook.  Note that the time is UTC.
55328
55329         * build-aux/announce-gen: Add two new options, both optional:
55330         --bootstrap-tools=TOOL_LIST
55331               a comma-separated list of tools, e.g.,
55332               autoconf,automake,bison,gnulib
55333         --gnulib-snapshot-date=DATE
55334               if gnulib is in the bootstrap tool list,
55335               then report this as the snapshot date.
55336               If not specified, use the current date/time.
55337               If you specify a date here, be sure it's UTC.
55338
55339 2006-12-05  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
55340
55341         * tests/test-argp-2.sh: Fix test to match actual output.
55342         (func_compare): Fix sed script to be portable.
55343
55344 2006-12-05  Paul Eggert  <eggert@cs.ucla.edu>
55345
55346         * lib/utimens.c (futimens) [HAVE_BUGGY_NFS_TIME_STAMPS]: Add a
55347         workaround for this case.  It is not autoconfigured now; offhand
55348         it's hard to see how to autoconfigure it.
55349
55350 2006-12-03  Paul Eggert  <eggert@cs.ucla.edu>
55351
55352         * lib/mkdir-p.c (make_dir_parents): Fix race condition when making
55353         a directory that is about to be chowned.  Such a directory's
55354         initial file permissions should permit the owner only and this
55355         should not be changed until after the chown, since the group and
55356         other bits would be incorrect if they granted permission before
55357         the chown.
55358
55359         Fix porting problem for iswctype reported by Georg Schwarz in:
55360         http://lists.gnu.org/archive/html/bug-coreutils/2006-12/msg00017.html
55361         * lib/fnmatch.c (WIDE_CHAR_SUPPORT): Require HAVE_ISWCTYPE, too.
55362         * lib/regex_internal.h (RE_ENABLE_I18N): Likewise.
55363         * m4/fnmatch.m4 (_AC_LIBOBJ_FNMATCH): Check for iswctype, too.
55364         * m4/regex.m4 (gl_PREREQ_REGEX): Likewise.
55365
55366 2006-12-03  Jim Meyering  <jim@meyering.net>
55367
55368         * lib/fts.c (fts_load): Don't set sp->fts_dev here, since
55369         p->fts_statp may not yet be defined.
55370         (fts_read): Instead, set it in the caller, once p->fts_statp is
55371         sure to be defined, and corresponds to a top-level directory.
55372         This bug made du -x fail.  Here's the coreutils test case:
55373         http://git.sv.gnu.org/gitweb/?p=coreutils.git;a=commit;h=ba45154d8e9f
55374         Reported by Mike Frysinger.
55375
55376 2006-12-01  Jim Meyering  <jim@meyering.net>
55377
55378         * modules/savewd (Depends-on): Add fcntl_h to avoid self-test
55379         build failure due to missing definition of HAVE_WORKING_O_NOFOLLOW.
55380         Reported by Simon Josefsson.
55381
55382 2006-11-30  Jim Meyering  <jim@meyering.net>
55383
55384         * m4/warning.m4: Use the all-permissive copyright notice
55385         recommended by RMS (rather than LGPL).
55386         * m4/vararrays.m4: Likewise.
55387         * m4/flexmember.m4: Likewise.
55388
55389 2006-11-29  Bruno Haible  <bruno@clisp.org>
55390
55391         * gnulib-tool (func_emit_lib_Makefile_am): Initialize also
55392         noinst_LIBRARIES. Augment noinst_LIBRARIES and noinst_LTLIBRARIES
55393         using +=.
55394         Reported by Simon Josefsson <simon@josefsson.org>.
55395
55396 2006-11-28  James Youngman <jay@gnu.org>
55397
55398         * README: Advise users that they might find the bug-gnulib@gnu.org
55399         and autotools-announce@gnu.org mailing lists useful.
55400
55401 2006-11-28  Bruno Haible  <bruno@clisp.org>
55402
55403         * m4/ptrdiff_max.m4: Remove file.
55404
55405 2006-11-21  Bruno Haible  <bruno@clisp.org>
55406
55407         * m4/eoverflow.m4 (gl_EOVERFLOW): Use AC_COMPUTE_INT instead of
55408         _AC_COMPUTE_INT.
55409         (AC_COMPUTE_INT): Add fallback definition for autoconf < 2.61.
55410         * m4/ptrdiff_max.m4 (gl_PTRDIFF_MAX): Use AC_COMPUTE_INT instead of
55411         _AC_COMPUTE_INT.
55412         (AC_COMPUTE_INT): Add fallback definition for autoconf < 2.61.
55413         * m4/size_max.m4 (gl_SIZE_MAX): Use AC_COMPUTE_INT instead of
55414         _AC_COMPUTE_INT.
55415         (AC_COMPUTE_INT): Add fallback definition for autoconf < 2.61.
55416
55417 2006-11-28  Jim Meyering  <jim@meyering.net>
55418
55419         * lib/regcomp.c (parse_branch): Rename local, exp->expr, to avoid
55420         warning from "gcc -Wshadow" about shadowing the builtin.
55421
55422 2006-11-27  Bruno Haible  <bruno@clisp.org>
55423
55424         * m4/stdint.m4 (gl_STDINT_BITSIZEOF): Use AC_COMPUTE_INT instead of
55425         _AC_COMPUTE_INT.
55426         (AC_COMPUTE_INT): Add fallback definition for autoconf < 2.61.
55427
55428 2006-11-27  Bruno Haible  <bruno@clisp.org>
55429             Paul Eggert  <eggert@cs.ucla.edu>
55430
55431         * lib/regex.h (__restrict_arr): Redo logic of #if, for clarity.
55432
55433 2006-11-26  Bruno Haible  <bruno@clisp.org>
55434
55435         * gnulib-tool (func_emit_lib_Makefile_am): Initialize also
55436         noinst_LTLIBRARIES.
55437
55438 2006-11-27  Paul Eggert  <eggert@cs.ucla.edu>
55439             Bruno Haible  <bruno@clisp.org>
55440
55441         * lib/gettext.h (_LIBGETTEXT_HAVE_VARIABLE_SIZE_ARRAYS): Define to 0
55442         if compiling with "gcc -ansi".
55443
55444 2006-11-26  Paul Eggert  <eggert@cs.ucla.edu>
55445
55446         Fix some incompatibilities with gcc -ansi -pedantic.
55447         * lib/regex.h (__restrict_arr): Don't use the [restrict] syntax
55448         if compiling pedantically with GCC, unless it's C99 or later.
55449         Don't trust sys/cdefs.h's definition of __restrict_arr, either, as
55450         it mishandles gcc -ansi -pedantic as well.
55451         * lib/regex_internal.h (re_token_t): Don't use enum bitfields
55452         if gcc -pedantic.
55453         * lib/regexec.c (check_node_accept_bytes): Don't use auto
55454         initializers for struct if -pedantic, unless it's C99 or later.
55455
55456 2006-11-25  Nix  <nix@esperi.org.uk>  (tiny change)
55457
55458         * m4/fcntl_h.m4 (gl_FCNTL_H): Test the atime, not the mtime.
55459         Don't close an fd more than once. Identical atimes indicate
55460         success, not failure.
55461
55462 2006-11-22  Robinson Mittmann <bob@hoplon.com>  (tiny change)
55463
55464         * lib/sincosl.c (kernel_sinl): Fix typo in threshold.
55465
55466 2006-11-23  Jim Meyering  <jim@meyering.net>
55467
55468         * build-aux/announce-gen: New file.  From coreutils.
55469
55470 2006-11-22  Jim Meyering  <jim@meyering.net>
55471
55472         Work around a compile-time error from the HP-UX 11.00 /bin/cc.
55473         * lib/fts.c (enum Fts_stat): Give this previously-anon enum a name.
55474         (fts_read): Use a temporary to narrow the overused st_size member
55475         before using it in a switch statement.  Reported by Matthew Woehlke.
55476
55477         * m4/clock_time.m4 (gl_CLOCK_TIME): Quote AC_SUBST argument.
55478         * m4/euidaccess.m4 (gl_PREREQ_EUIDACCESS): Likewise.
55479
55480 2006-11-20  Bruno Haible  <bruno@clisp.org>
55481
55482         * gettext.m4 (AM_GNU_GETTEXT): Revert 2005-07-28 patch: Use
55483         changequote instead of pairs of brackets.
55484         Reported by Andreas Schwab <schwab@suse.de>.
55485
55486 2006-11-21  Jim Meyering  <jim@meyering.net>
55487
55488         * lib/fts.c (fts_safe_changedir): Move a declaration "up",
55489         so as to remain compatible with older compilers.
55490         Patch from Michael Deutschmann.
55491
55492 2006-11-20  Paul Eggert  <eggert@cs.ucla.edu>
55493
55494         * MODULES.html.sh (File system functions): Add openat.
55495
55496         * lib/openat.h (rpl_fstatat): New macro, if
55497         [HAVE_OPENAT && ! LSTAT_FOLLOWS_SLASHED_SYMLINK.
55498         (fstatat): Define to rpl_fstatat under the same conditions,
55499         unless COMPILING_FSTATAT.
55500         * m4/openat.m4 (gl_FUNC_OPENAT): Compile fstatat.c too, if fstatat
55501         seems to have the bug.
55502         * lib/fstatat.c: New file.
55503         * modules/openat (Files): Add it.
55504
55505 2006-11-20  Bruno Haible  <bruno@clisp.org>
55506
55507         * Makefile: New file.
55508
55509 2006-11-20  Jim Meyering  <jim@meyering.net>
55510
55511         The beginnings of syntax-related checks for gnulib.
55512         * lib/Makefile: New file.
55513         * lib/t-idcache: New script.  Ensure that the two halves of
55514         idcache.c stay in sync.
55515
55516         * lib/idcache.c: Adjust comments in user- and group- portions to
55517         be more accurate, and to be consistent with one another.
55518
55519 2006-11-20  Jim Meyering  <jim@meyering.net>
55520
55521         * lib/idcache.c: Restore most of the 2006-11-06 patch, so as to
55522         continue using the flexible array member (thus, this module performs
55523         half as many malloc calls), with the addition that...
55524         (getgroup, getuser): Consistently record a non-match via an empty
55525         "name" string, and map an empty string match to a NULL return value.
55526         * modules/idcache (Depends-on): Re-add flexmember.
55527
55528         * lib/idcache.c (getuser): Remove all uses of the register keyword.
55529         (getuidbyname, getgroup, getgidbyname): Likewise.
55530
55531         Use cleaner syntax: NULL rather than 0.
55532         * lib/idcache.c (getuidbyname, getgidbyname): Return NULL, not 0.
55533
55534 2006-11-20  Paul Eggert  <eggert@cs.ucla.edu>
55535
55536         * lib/idcache.c: Undo most recent patch, dated 2006-11-06.
55537         It mishandled the case where the group was missing.
55538         Problem reported by Greg Schafer.
55539         * modules/idcache: Likewise.
55540
55541 2006-11-18  Jim Meyering  <jim@meyering.net>
55542
55543         * check-module (%exempt_header): Add exception for some
55544         conditionally-included headers.
55545
55546         * modules/i-ring (Depends-on): Add verify.
55547         (License): Change to LGPL.
55548
55549 2006-11-16  Paul Eggert  <eggert@cs.ucla.edu>
55550
55551         * modules/getaddinfo (Depends-on): Remove inttostr; add snprintf.
55552         * lib/getaddrinfo.c: Include snprintf.h rather than intprops.h
55553         and inttostr.h.  Use snprintf rather than uinttostr, so that
55554         LGPLed code doesn't depend on GPLed.
55555
55556 2006-11-17  Paul Eggert  <eggert@cs.ucla.edu>
55557
55558         * modules/inline (License): Change from GPL to LGPL.
55559
55560 2006-11-17  Jim Meyering  <jim@meyering.net>
55561
55562         * modules/d-type (License): Switch to LGPL.
55563
55564 2006-11-15  Bruno Haible  <bruno@clisp.org>
55565
55566         * m4/alloca.m4 (gl_FUNC_ALLOCA): Fix the AC_CACHE_CHECK message.
55567
55568 2006-11-15  Eric Blake  <ebb9@byu.net>
55569
55570         * m4/allocsa.m4 (gl_ALLOCSA): Don't invoke macro already picked up by
55571         the module dependency.
55572
55573 2006-11-15  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
55574             Bruno Haible  <bruno@clisp.org>
55575
55576         * gnulib-tool (func_create_testdir): Add license consistency check.
55577
55578 2006-11-15  Eric Blake  <ebb9@byu.net>
55579
55580         * m4/alloca.m4 (gl_FUNC_ALLOCA): Use AC_CACHE_CHECK to avoid a
55581         random "(cached)" in configure output.
55582
55583 2006-11-14  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
55584
55585         * m4/inttypes.m4 (gl_INTTYPES_H): Use AC_CACHE_CHECK so that the
55586         test for conforming inttypes.h is both announced and cached.
55587
55588         * MODULES.html.sh (seen_modules, seen_files): New variables.
55589         (func_module): Rewrite to use a few less gnulib-tool and sed
55590         invocations.  Avoid a couple of quadratic algorithms for ...
55591         (missed_modules, missed_files): ... these, with ...
55592         (func_append, func_tmpdir): ... these new functions, from
55593         gnulib-tool.  Analogously, install traps for cleanup.
55594
55595         * tests/test-gc.c (main): Remove unused variables.
55596         * tests/test-read-file.c: Include stdlib.h, for 'free'.
55597
55598 2006-11-14  Paul Eggert  <eggert@cs.ucla.edu>
55599
55600         * modules/inttostr (License): Change to LGPL.
55601
55602 2006-11-14  Eric Blake  <ebb9@byu.net>
55603
55604         * modules/tempname (License): Change to LGPL.
55605
55606 2006-11-14  Eric Blake  <ebb9@byu.net>
55607
55608         * doc/functions.texi (Function Portability): *printf functions on
55609         Cygwin now understand all POSIX size specifiers.
55610
55611 2006-11-14  Bruno Haible  <bruno@clisp.org>
55612
55613         * modules/c-ctype (License): Change to LGPL.
55614
55615 2006-11-12  Bruno Haible  <bruno@clisp.org>
55616
55617         * m4/lib-link.m4 (AC_LIB_LINKFLAGS, AC_LIB_HAVE_LINKFLAGS,
55618         AC_LIB_LINKFLAGS_BODY): Also set a LIB${NAME}_PREFIX variable. Needed
55619         for GNOME libraries, for which the include files are installed in
55620         subdirectories of $prefix/include.
55621
55622 2006-11-12  Bruno Haible  <bruno@clisp.org>
55623
55624         * m4/lib-link.m4: Require at least autoconf-2.54.
55625         (AC_LIB_LINKFLAGS_BODY) [autoconf < 2.61]: Turn dots into the library
55626         name to underscores for the --with option.
55627
55628 2006-11-13  Bruno Haible  <bruno@clisp.org>
55629
55630         * gnulib-tool (func_create_testdir): Set gl_source_base correctly in
55631         the tests directory.
55632         Reported by Ralf Wildenhues.
55633
55634 2006-11-13  Bruno Haible  <bruno@clisp.org>
55635
55636         * gnulib-tool (func_emit_initmacro_start): Also override AC_LIBSOURCES.
55637         (func_emit_initmacro_end): Undo the override here.
55638         (func_emit_initmacro_done): Emit a definition for gl_LIBSOURCES.
55639         Works around the famous automake error in coreutils.
55640
55641 2006-11-13  Eric Blake  <ebb9@byu.net>
55642
55643         * lib/gl_anytree_oset.h (gl_tree_search_atleast): Return the
55644         element, not its node.
55645
55646 2006-11-12  Bruno Haible  <bruno@clisp.org>
55647
55648         * gnulib-tool (func_emit_lib_Makefile_am): Replace occurrences of
55649         '$(top_srcdir)/build-aux/', taking into account the real auxdir.
55650
55651 2006-11-12  Bruno Haible  <bruno@clisp.org>
55652
55653         * gnulib-tool: New option --local-symlink.
55654         (func_usage): Document it.
55655         (lsymbolic): New variable.
55656         (func_import, func_create_testdir): If --symlink was not specified,
55657         test whether --local-symlink was specified and the file comes from
55658         the local_gnulib_dir.
55659
55660 2006-11-12  Bruno Haible  <bruno@clisp.org>
55661
55662         * gnulib-tool (func_ln): New function.
55663         (func_ln_if_changed, func_create_testdir): Use it instead of "ln -s".
55664
55665 2006-11-12  Bruno Haible  <bruno@clisp.org>
55666
55667         Finish support for source files in subdirectories.
55668         * gnulib-tool (func_emit_lib_Makefile_am): If some of the source files
55669         are in subdirectories, set uses_subdirs and add 'subdir-objects' to
55670         AUTOMAKE_OPTIONS.
55671         (func_import, func_create_testdir): Invoke AM_PROG_CC_C_O in this case.
55672
55673 2006-11-12  Bruno Haible  <bruno@clisp.org>
55674
55675         * gnulib-tool (func_get_automake_snippet): Synthesize also an
55676         EXTRA_lib_SOURCES augmentation.
55677         (func_emit_lib_Makefile_am): Initialize EXTRA_lib..._SOURCES to empty.
55678
55679 2006-11-12  Jim Meyering  <jim@meyering.net>
55680
55681         Make fts (in FTS_CWDFD mode) more efficient by caching a few open
55682         file descriptors.  This also averts a failure on systems with
55683         native openat support when a traversed directory lacks "x" access.
55684         * lib/fts_.h: Include "i-ring.h"
55685         (struct FTS) [fts_fd_ring]: New member.
55686         * lib/fts.c (RESTORE_INITIAL_CWD): Also call fd_ring_clear.
55687         (FCHDIR): Add parentheses.
55688         (fd_ring_check, fd_ring_print) [!FTS_DEBUG]: Define away.
55689         (cwd_advance_fd): Add a 3rd parameter.  Adjust all callers.
55690         When descending, rather than simply closing the previous
55691         fts_cwd_fd value, push that file descriptor onto the ring.
55692         (same_fd, fd_ring_print, fd_ring_check) [FTS_DEBUG]: New functions.
55693         (fts_open): Initialize the new fd_ring member.
55694         (fts_close): Clear the ring.
55695         (fts_safe_changedir): When possible, use our new fd_ring to skip
55696         the diropen and fstat and dev/ino comparison that would normally
55697         accompany a virtual `chdir ("..")'.
55698
55699         * modules/fts (Depends-on): Add i-ring.
55700         * modules/i-ring: New module.
55701         * lib/i-ring.c, lib/i-ring.h, lib/i-ring-test.c: New files.
55702         * m4/i-ring.m4: New file.
55703
55704 2006-11-12  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
55705
55706         * gnulib-tool (func_create_testdir): Fix replacement of
55707         `build-aux' in configure.ac.  Run autotools in gltests
55708         subdirectory.
55709         (func_create_testdir, func_create_megatestdir, test): There is
55710         no need for '--force' in most autotool invocations in a new
55711         tree.  Actually fail the whole test if any of the tools, or the
55712         configure or make stages fail.
55713
55714         Sync from Automake.
55715         * build-aux/gnupload: Revert last change.  Add pointer to upload
55716         instructions of the GNU Maintenance Instructions.
55717         Suggestion by Karl Berry.
55718
55719 2006-11-10  Jim Meyering  <jim@meyering.net>
55720
55721         * lib/fts.c [FTS_DEBUG]: Don't try to print a pointer via %s.
55722
55723 2006-11-09  Paul Eggert  <eggert@cs.ucla.edu>
55724
55725         * lib/gettext.h (dgettext, dcgettext, ngettext) [! ENABLE_NLS]:
55726         (dngettext, dcngettext, bindtextdomain) [! ENABLE_NLS]:
55727         (bind_textdomain_codeset) [! ENABLE_NLS]:
55728         Evaluate all the arguments.  That way, callers get compatible behavior
55729         if the arguments have side effects.  Also, it avoids some GCC
55730         diagnostics in some cases; Joel E. Denny reported problems when Bison
55731         was configured with --enable-gcc-warnigs.
55732
55733 2006-11-10  Jim Meyering  <jim@meyering.net>
55734
55735         * m4/inline.m4 (gl_INLINE): Check with the compiler, not cpp, so that
55736         relevant options in CFLAGS (like -O, -fno-inline) are taken into
55737         account.
55738
55739 2006-11-10  Jim Meyering  <jim@meyering.net>
55740
55741         * modules/inline: New file/module.
55742         * modules/xalloc (Files): Remove m4/inline.m4.
55743         (Depends-on): Add inline, instead.
55744         * modules/oset: Likewise.
55745         * modules/list: Likewise.
55746
55747 2006-11-09  Paul Eggert  <eggert@cs.ucla.edu>
55748
55749         * lib/stdint_.h (uintmax_t): Fix typo: int64_t -> uint64_t.
55750         Problem reported by Matthew Woehlke.
55751
55752 2006-11-09  Bruno Haible  <bruno@clisp.org>
55753
55754         * lib/tempname.c (gen_tempname): Remove variant that invokes
55755         __gen_tempname.
55756         * m4/tempname.m4 (gl_FUNC_GEN_TEMPNAME): Don't test for
55757         __gen_tempname.
55758
55759 2006-11-08  Bruno Haible  <bruno@clisp.org>
55760
55761         * m4/longlong.m4 (AC_TYPE_LONG_LONG_INT): Set ac_cv_type_long_long_int
55762         to 'yes' instead of 'cross-compiling'.
55763
55764 2006-11-08  Paul Eggert  <eggert@cs.ucla.edu>
55765
55766         * lib/quotearg.h (quotearg_free): New decl.
55767         * lib/quotearg.c (quotearg_free): New function.
55768         (slot0, nslots, slotvec0, slotvec):
55769         Now file-scope so that quotearg_free can get at them.
55770
55771 2006-11-08  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
55772
55773         Sync from Automake.
55774         * build-aux/gnupload: Add missing 'gnu' to example URL.
55775         Report by Karl Berry.
55776
55777 2006-11-08  Bruno Haible  <bruno@clisp.org>
55778
55779         * m4/inline.m4 (gl_INLINE): Also test __NO_INLINE__.
55780         Suggested by Paul Eggert.
55781
55782 2006-11-08  Jim Meyering  <jim@meyering.net>
55783
55784         * lib/fts.c [!_LGPL_PACKAGE]: Don't include fcntl--.h twice.
55785         It's already included if !_LIBC.
55786         (fts_safe_changedir): Add a comment.
55787
55788 2006-11-07  Paul Eggert  <eggert@cs.ucla.edu>
55789
55790         * m4/longlong.m4 (AC_TYPE_LONG_LONG_INT): Detect bug in
55791         Tandem NonStop Kernel (OSS) cc -O circa 2004, reported by
55792         Matthew Woehlke.
55793
55794         * lib/xalloc.h (XMALLOC, XNMALLOC, XZALLOC, XCALLOC): Move
55795         definitions up, to avoid colliding with change below.
55796         (static_inline) [HAVE_INLINE]: New macro.
55797         (xnmalloc, xnrealloc, x2nrealloc, xcharalloc):
55798         Provide extern decls when !HAVE_INLINE.  Do not define unless
55799         static_inline is defined, either by us or by xmalloc.c.  Use
55800         static_inline rather than static inline.
55801         (XCALLOC): Optimize sizeof(T) = 1 case.
55802         * lib/xmalloc.c (static_inline) [!HAVE_INLINE]: New macro.
55803
55804 2006-11-07  Bruno Haible  <bruno@clisp.org>
55805
55806         * lib/xalloc.h (XNMALLOC): Restore optimization of sizeof(T) = 1 case.
55807         * m4/xalloc.m4 (gl_PREREQ_XALLOC): Require gl_INLINE instead of
55808         AC_C_INLINE.
55809         * modules/xalloc (Files): Add m4/inline.m4.
55810
55811 2006-11-07  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
55812
55813         * README: Fix typo.
55814         * doc/gnulib.texi (Miscellaneous Notes): Likewise, rename...
55815         (Miscellanous Notes): ...from this.
55816
55817 2006-11-07  Paul Eggert  <eggert@cs.ucla.edu>
55818
55819         * m4/flexmember.m4 (AC_C_FLEXIBLE_ARRAY_MEMBER):
55820         Mention that offsetof should be used instead of sizeof.
55821         From Bruno Haible.
55822
55823 2006-11-07  Bruno Haible  <bruno@clisp.org>
55824
55825         * lib/w32spawn.h (prepare_spawn): Use XNMALLOC instead of xmalloc.
55826
55827 2006-11-06  Paul Eggert  <eggert@cs.ucla.edu>
55828
55829         Simplify xmalloc expressions. Add overflow check in xmalloc arguments.
55830         * lib/gl_anyavltree_list2.h (create_subtree_with_contents):
55831         (gl_tree_create, gl_tree_add_first, gl_tree_add_last):
55832         (gl_tree_add_before, gl_tree_add_after):
55833         Use XMALLOC instead of xmalloc, and XCALLOC instead of xzalloc.
55834         * lib/gl_anyhash_list2.h (hash_resize): Likewise.
55835         * lib/gl_anylinked_list2.h (gl_linked_create_empty, gl_linked_create):
55836         (gl_linked_add_first, gl_linked_add_last, gl_linked_add_before):
55837         (gl_linked_add_after, gl_linked_add_at): Likewise.
55838         * lib/gl_anyrbtree_list2.h (create_subtree_with_contents):
55839         (gl_tree_create, gl_tree_add_first, gl_tree_add_last):
55840         (gl_tree_add_before, gl_tree_add_after): Likewise.
55841         * lib/gl_anytree_list2.h (gl_tree_create_empty): Likewise.
55842         * lib/gl_anytree_oset.h (gl_tree_create_empty): Likewise.
55843         * lib/gl_anytreehash_list1.h (add_to_bucket): Likewise.
55844
55845 2006-11-06  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
55846
55847         * lib/gl_oset.h: Use C comment style, not C++ comment style.
55848
55849 2006-11-06  Bruno Haible  <bruno@clisp.org>
55850
55851         * m4/inline.m4: New file.
55852         * m4/gl_list.m4 (gl_LIST): Require gl_INLINE.
55853         * modules/list (Files): Add m4/inline.m4.
55854         * modules/oset (Files): Likewise.
55855
55856 2006-11-06  Paul Eggert  <eggert@cs.ucla.edu>
55857
55858         * lib/idcache.c: Include <stddef.h>, for offsetof.
55859         (struct userid.name): Change from char * to a flexible array member.
55860         All uses changed.
55861         * modules/idcache (Depends-on): Add flexmember.
55862
55863         * MODULES.html.sh (Core language properties): New module flexmember.
55864         * modules/flexmember, m4/flexmember.m4: New files.
55865
55866         * lib/xalloc.h (xnmalloc, xnrealloc, x2nrealloc): Now static
55867         inline functions that are identical with the old xnmalloc_inline,
55868         xnrealloc_inline, x2nrealloc_inline of lib/xmalloc.c.  This is so
55869         that we can avoid some unnecessary integer multiplications and
55870         divisions in the common case where the element size is known at
55871         compile time.
55872         (XNMALLOC) [HAVE_INLINE]: Remove special case, which is no longer
55873         needed.
55874         (xnboundedmalloc): Remove.
55875         (XMALLOC, XNMALLOC, XZALLOC, XCALLOC): Use lower-case letters for
55876         arguments, for consistency with rest of this header.
55877         (xcharalloc): Rewrite using XNMALLOC.
55878         * lib/xmalloc.c (xnmalloc_inline, xnmalloc, xnrealloc_inline):
55879         (xnrealloc, x2nrealloc_inline, x2nrealloc): Remove.  The *_inline
55880         versions have been moved to lib/xalloc.h and renamed to be the
55881         non-*_inline versions.
55882         (xmalloc, xrealloc): Implement without reference to the xnmalloc
55883         and xnrealloc functions, since those functions are now inline and
55884         now call us.
55885         (x2realloc): Invoke x2realloc, not x2realloc_inline, to accommodate
55886         renaming described above.
55887         * m4/xalloc.m4 (gl_PREREQ_XMALLOC): Remove AC_C_INLINE since
55888         xmalloc.c no longer uses inline directly.  gl_PREREQ_XALLOC now
55889         captures the dependency in AC_C_INLINE.
55890
55891         New module canonicalize-lgpl, proposed by Charles Wilson in
55892         <http://lists.gnu.org/archive/html/bug-gnulib/2006-11/msg00020.html>
55893         with a few small changes afterwards.
55894         * MODULES.html.sh (File system functions): New module
55895         canonicalize-lgpl.
55896         * lib/canonicalize.h: Add comments for canonicalize_filename_mode
55897         and canonicalize_file_name.
55898         * lib/canonicalize-lgpl.c, m4/canonicalize-lgpl.m4:
55899         * modules/canonicalize-lgpl: New files.
55900
55901 2006-11-05  Bruno Haible  <bruno@clisp.org>
55902
55903         * gnulib-tool (func_import, func_create_testdir): Create directories
55904         also for files in subdirectories of lib/.
55905
55906 2006-11-05  Bruno Haible  <bruno@clisp.org>
55907
55908         * lib/gl_array_list.c (gl_array_iterator_next): Make pointer decrement
55909         ANSI C compliant.
55910
55911 2006-11-03  Bruno Haible  <bruno@clisp.org>
55912
55913         Simplify xmalloc expressions. Add overflow check in xmalloc arguments.
55914         * m4/xalloc.m4 (gl_PREREQ_XALLOC): Require AC_C_INLINE.
55915         * lib/xalloc.h (XMALLOC, XNMALLOC, XZALLOC, XCALLOC): New macros.
55916         (xnboundedmalloc): New inline function.
55917         * lib/classpath.c (new_classpath): Use XNMALLOC instead of xmalloc.
55918         * lib/clean-temp.c (create_temp_dir): Use XNMALLOC, XMALLOC instead of
55919         xmalloc.
55920         * lib/concatpath.c (concatenated_pathname): Use XNMALLOC instead of
55921         xmalloc.
55922         * lib/fatal-signal.c (at_fatal_signal): Use XNMALLOC instead of xmalloc.
55923         * lib/findprog.c (find_in_path): Use XNMALLOC instead of xmalloc.
55924         * lib/gl_array_list.c (gl_array_create_empty): Use XMALLOC instead of
55925         xmalloc.
55926         (gl_array_create): Use XNMALLOC, XMALLOC instead of xmalloc.
55927         * lib/gl_array_oset.c (gl_array_create_empty): Use XNMALLOC instead of
55928         xmalloc.
55929         * lib/gl_avltree_oset.c (gl_tree_add_first, gl_tree_add_before,
55930         gl_tree_add_after): Use XMALLOC instead of xmalloc.
55931         * lib/gl_carray_list.c (gl_carray_create_empty): Use XMALLOC instead of
55932         xmalloc.
55933         (gl_carray_create): Use XNMALLOC, XMALLOC instead of xmalloc.
55934         * lib/gl_rbtree_oset.c (gl_tree_add_first, gl_tree_add_before,
55935         gl_tree_add_after): Use XMALLOC instead of xmalloc.
55936         * lib/gl_sublist.c (gl_sublist_create): Use XMALLOC instead of xmalloc.
55937         * lib/pagealign_alloc.c (new_memnode): Use XMALLOC instead of xmalloc.
55938         * lib/sh-quote.c (shell_quote_argv): Use XNMALLOC instead of xmalloc.
55939         * lib/xvasprintf.c (xstrcat): Use XNMALLOC instead of xmalloc.
55940
55941 2006-11-03  Bruno Haible  <bruno@clisp.org>
55942
55943         * lib/c-ctype.h [C++]: Define functions without name mangling.
55944         * lib/fwriteerror.h [C++]: Likewise.
55945         * lib/gcd.h [C++]: Likewise.
55946         * lib/linebreak.h [C++]: Likewise.
55947
55948 2006-11-03  Paul Eggert  <eggert@cs.ucla.edu>
55949
55950         * lib/canonicalize.h: (canonicalize_mode_t, CAN_EXISTING):
55951         (CAN_ALL_BUT_LAST, CAN_MISSING, canonicalize_filename_mode):
55952         Define only if PROVIDE_CANONICALIZE_FILENAME_MODE is defined.
55953         * m4/canonicalize.m4 (AC_FUNC_CANONICALIZE_FILE_NAME):
55954         Check for functions and headers just once.
55955         Check for declaration of canonicalize_file_name.
55956         Define PROVIDE_CANONICALIZE_FILENAME_MODE.
55957
55958 2006-11-02  Charles Wilson  <cygwin@cwilson.fastmail.fm>
55959
55960         * gnulib-tool (func_import): Fix typo in actioncmd.
55961
55962 2006-11-02  Bruno Haible  <bruno@clisp.org>
55963
55964         * gnulib-tool (func_get_automake_snippet): Interpret a backslash-
55965         newline sequence in the Makefile.am snippet as a space, like "make"
55966         does.
55967         Reported by Roger Persson <perrog@gmail.com>.
55968
55969 2006-11-01  Bruno Haible  <bruno@clisp.org>
55970
55971         * m4/strcase.m4 (gl_FUNC_STRNCASECMP): Check whether strncasecmp is
55972         already declared in <string.h>.
55973         * lib/strcase.h (strncasecmp): Don't declare it if yes.
55974
55975 2006-11-01  Bruno Haible  <bruno@clisp.org>
55976
55977         * m4/strcase.m4 (gl_FUNC_STRCASECMP): Don't define strcasecmp here.
55978         * lib/strcase.h: Include <string.h>.
55979         (strcasecmp): Define to rpl_strcasecmp here.
55980
55981 2006-11-01  Bruno Haible  <bruno@clisp.org>
55982
55983         * lib/printf-parse.c (PRINTF_PARSE): Cast malloc/realloc results.
55984
55985 2006-11-01  Eric Blake  <ebb9@byu.net>
55986
55987         * lib/mkstemp-safer.c (mkstemp_safer): Allow C++ compilation.
55988
55989         * m4/mkstemp.m4 (gl_FUNC_MKSTEMP): Allow C++ configuration.
55990
55991 2006-10-29  Bruno Haible  <bruno@clisp.org>
55992
55993         Make it compile in C++ mode.
55994         * lib/full-write.c (full_rw): Add a cast.
55995
55996 2006-11-01  Bruno Haible  <bruno@clisp.org>
55997
55998         * gnulib-tool (func_get_automake_snippet): Change sed_combine_lines to
55999         be POSIX compliant.
56000         Reported by Roger Persson <perrog@gmail.com>.
56001
56002 2006-11-01  Eric Blake  <ebb9@byu.net>
56003
56004         * lib/getopt_.h: Fix comments.
56005
56006 2006-10-31  Eric Blake  <ebb9@byu.net>
56007
56008         * modules/tmpdir (Depends-on): Add sys_stat.
56009         * modules/mkdtemp (Depends-on): Add tempname, drop unistd.
56010         * lib/mkdtemp.c (gen_tempname): Remove; tempname covers this.
56011         * lib/tmpdir.c (S_ISDIR): Simplify, thanks to sys_stat.
56012         * m4/mkdtemp.m4 (gl_PREREQ_MKDTEMP): Simplify, thanks to
56013         tempname.
56014
56015 2006-10-31  Paul Eggert  <eggert@cs.ucla.edu>
56016
56017         Avoid some C++ diagnostics reported by Bruno Haible.
56018         * lib/quotearg.c (clone_quoting_options): Use xmemdup rather than
56019         xmalloc.
56020         (quotearg_alloc): Use xcharalloc rather than xmalloc.
56021         (struct slotvec): Move to top level.
56022         (quotearg_n_options): Rewrite to avoid xmalloc.
56023         * lib/xalloc.h (xcharalloc): New function.
56024         * (xrealloc, xnrealloc, x2realloc, x2nrealloc, xmemdup):
56025         [defined __cplusplus]: Add function template that provides result
56026         type propagation.  This part of the change is from Bruno Haible.
56027
56028 2006-10-29  Bruno Haible  <bruno@clisp.org>
56029
56030         Make it compile in C++ mode.
56031         * lib/striconv.c (mem_cd_iconv): Cast malloc/realloc result.
56032         * lib/strnlen1.c (strnlen1): Cast memchr result.
56033         * lib/mbchar.h (mb_copy): Rename arguments to 'new_mbc', 'old_mbc'.
56034         * lib/clean-temp.c (string_equals, string_hash): Add casts.
56035         (create_temp_dir): Rename local variable 'template'.
56036         (compile_csharp_using_sscli): Add cast.
56037         * lib/fatal-signal.c (at_fatal_signal): Cast xmalloc result.
56038         * lib/findprog.c (find_in_path): Likewise.
56039         * lib/linebreak.c (mbs_width_linebreaks): Cast malloc result.
56040         * lib/wait-process.c (register_slave_subprocess): Likewise.
56041
56042 2006-10-22  Bruno Haible  <bruno@clisp.org>
56043
56044         * modules/tsearch: New file.
56045         * lib/tsearch.h: New file.
56046         * lib/tsearch.c: New file, from glibc-2.5 with small modifications.
56047         * m4/tsearch.m4: New file.
56048         * MODULES.html.sh (Support for systems lacking POSIX:2001): Add tsearch.
56049
56050 2006-10-29  Eric Blake  <ebb9@byu.net>
56051
56052         * lib/arcfour.c: Assume config.h.
56053         * lib/arctwo.c: Likewise.
56054         * lib/base64.c: Likewise.
56055         * lib/check-version.c: Likewise.
56056         * lib/crc.c: Likewise.
56057         * lib/des.c: Likewise.
56058         * lib/gc-gnulib.c: Likewise.
56059         * lib/gc-libgcrypt.c: Likewise.
56060         * lib/gc-pbkdf2-sha1.c: Likewise.
56061         * lib/getaddrinfo.c: Likewise.
56062         * lib/getdelim.c: Likewise.
56063         * lib/getline.c: Likewise.
56064         * lib/hmac-md5.c: Likewise.
56065         * lib/hmac-sha1.c: Likewise.
56066         * lib/iconvme.c: Likewise.
56067         * lib/md2.c: Likewise.
56068         * lib/md4.c: Likewise.
56069         * lib/memxor.c: Likewise.
56070         * lib/read-file.c: Likewise.
56071         * lib/readline.c: Likewise.
56072         * lib/rijndael-alg-fst.c: Likewise.
56073         * lib/rijndael-api-fst.c: Likewise.
56074         * lib/xgetdomainname.c: Likewise.
56075
56076 2006-10-28  Eric Blake  <ebb9@byu.net>
56077
56078         * lib/xstrndup.c: Assume config.h.
56079
56080 2006-10-27  Paul Eggert  <eggert@cs.ucla.edu>
56081
56082         Move stat.h-substitute stuff from lib/stat-macros.h to lib/stat_.h.
56083         stat-macros.h is now for our own macros, whereas stat_h is for
56084         macros in the <sys/stat.h> name space.
56085         * lib/stat-macros.h: Remove copyright notice, as this file is now tiny.
56086         (STAT_MACROS_H): Remove.
56087         (S_IFMT, S_ISBLK, S_ISCHR, S_ISDIR, S_ISFIFO, S_ISLNK, S_ISNAM):
56088         (S_ISMPB, S_ISMPC, S_ISNWK, S_ISREG, S_ISSOCK, S_ISDOOR, S_ISPORT):
56089         (S_TYPEISMQ, S_TYPEISTMO, S_TYPEISSEM, S_TYPEISSHM, S_ISCTG, S_ISOFD):
56090         (S_ISOFL, S_ISWHT, S_ISUID, S_ISGID, S_ISVTX, S_IRUSR, S_IRGRP):
56091         (S_IROTH, S_IWUSR, S_IWGRP, S_IWOTH, S_IXUSR, S_IXGRP, S_IXOTH):
56092         (S_IRWXU, S_IRWXG, S_IRWXO, S_IXUGO, S_IRWXUGO):
56093         Move these macros to ...
56094         * lib/stat_.h: here.  Don't include stat-macros.h.
56095         * lib/canonicalize.c: Don't include stat-macros.h.
56096         * lib/chown.c: Likewise.
56097         * lib/euidaccess.c: Likewise.
56098         * lib/file-type.c: Likewise.
56099         * lib/filemode.c: Likewise.
56100         * lib/glob.c: Likewise.
56101         * lib/isapipe.c: Likewise.
56102         * lib/lchown.c: Likewise.
56103         * lib/lstat.c: Likewise.
56104         * lib/mkdir-p.c: Likewise.
56105         * lib/rmdir.c: Likewise.
56106         * m4/lchown.m4 (gl_FUNC_LCHOWN): Don't require gl_STAT_MACROS.
56107         * m4/sys_stat_h.m4 (gl_HEADER_SYS_STAT_H): Don't check for io.h
56108         unless mkdir isn't declared, to speed up 'configure'.
56109         Always create sys/stat.h, since it's unlikely any real sys/stat.h
56110         would define all the S_* symbols.
56111         * modules/canonicalize (Depends-on):
56112         Depend on sys_stat, not stat-macros.
56113         * modules/chown: Likewise.
56114         * modules/euidaccess: Likewise.
56115         * modules/filemode: Likewise.
56116         * modules/file-type: Likewise.
56117         * modules/glob: Likewise.
56118         * modules/isapipe: Likewise.
56119         * modules/lchown: Likewise.
56120         * modules/lstat: Likewise.
56121         * modules/mkancesdirs: Likewise.
56122         * modules/rmdir: Likewise.
56123         * modules/mkdir-p (Depends-on): Also depend on sys_stat.
56124         * modules/modechange: Likewise.
56125         * modules/stat-macros (Files): Remove m4/stat-macros.m4.
56126         (configure.ac): Remove gl_STAT_MACROS.
56127         * modules/sys_stat (Depends-on): Remove stat-macros.
56128
56129 2006-10-27  Bruno Haible  <bruno@clisp.org>
56130
56131         * m4/signed.m4: Remove file.
56132         * m4/vasnprintf.m4 (gl_PREREQ_PRINTF_ARGS_: Remove bh_C_SIGNED
56133         invocation.
56134         * modules/vasnprintf (Files): Remove m4/signed.m4.
56135
56136 2006-10-27  Bruno Haible  <bruno@clisp.org>
56137
56138         Update to GNU gettext 0.16.
56139         * modules/gettext (Files): Add m4/intl.m4, m4/intldir.m4. Remove
56140         m4/inttypes-h.m4, m4/signed.m4.
56141         * m4/gettext.m4: Update to GNU gettext 0.16.
56142         * m4/intl.m4: New file, from GNU gettext.
56143         * m4/intldir.m4: New file, from GNU gettext.
56144         * config/srclist.txt: Update
56145
56146 2006-10-27  Eric Blake  <ebb9@byu.net>
56147
56148         * MODULES.html.sh: Document tempname.
56149         * modules/mkstemp (Depends-on): Add tempname, and drop transitive
56150         dependencies.
56151         (Files): Move lib/tempname.c...
56152         * modules/tempname: ...to this new module.
56153         * m4/mkstemp.m4 (gl_FUNC_MKSTEMP): Remove tempname checks.
56154         (gl_PREREQ_TEMPNAME): Move...
56155         * m4/tempname.m4: ...to this new file.
56156         * lib/mkstemp.c (includes) [!_LIBC]: Use tempname.h.
56157         * modules/sys_stat (Depends-on): Add stat-macros.
56158         * lib/stat_.h (includes): Pick up stat macros.
56159         * m4/sys_stat_h.m4 (gl_HEADER_SYS_STAT_H): Replace <sys/stat.h>
56160         if stat macros are broken.
56161         * lib/tempname.c (includes): No need to include "stat-macros.h".
56162         (__gen_tempname) [!_LIBC]: Expose as gen_tempname.
56163         (direxists, __path_search) [!_LIBC]: Don't compile these in
56164         gnulib; the tmpdir module covers that.
56165         * lib/tempname.h: New file.
56166
56167 2006-10-26  Paul Eggert  <eggert@cs.ucla.edu>
56168
56169         * COPYING: Explain how gnulib-tool converts licence headers.
56170         Almost all wording by Eric Blake.
56171
56172 2006-10-25  Paul Eggert  <eggert@cs.ucla.edu>
56173
56174         * lib/mbchar.h (is_basic_table): Make read-only.
56175         * lib/mbchar.c (is_basic_table): Likewise.
56176         Reported by John Darrington.
56177
56178 2006-10-25  Bruno Haible  <bruno@clisp.org>
56179
56180         * lib/progname.h (set_program_name): Undefine before defining.
56181
56182 2006-10-25  Bruno Haible  <bruno@clisp.org>
56183
56184         * lib/gettext.h (_LIBGETTEXT_HAVE_VARIABLE_SIZE_ARRAYS): Define to
56185         false for non-gcc C++ compilers.
56186         Reported by Nelson H. F. Beebe <beebe@math.utah.edu>.
56187
56188 2006-10-24  Bruno Haible  <bruno@clisp.org>
56189
56190         * lib/striconv.c (mem_cd_iconv, str_cd_iconv): Treat all non-GNU
56191         iconv implementations like Irix iconv.
56192
56193 2006-10-24  Paul Eggert  <eggert@cs.ucla.edu>
56194
56195         * modules/vararrays: New file.
56196         * m4/vararrays.m4: New file, taken from diffutils.
56197         * MODULES.html.sh: New module vararrays.
56198
56199 2006-10-24  Karl Berry  <karl@gnu.org>
56200
56201         * doc/gnulib-intro.texi: --- instead of --; non-naive naive.
56202         Don't call GNU Unix.
56203
56204 2006-10-24  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
56205
56206         * users.txt: Add Libtool.
56207
56208         Sync from Libtool:
56209
56210         2006-10-24  Paul Eggert  <eggert@cs.ucla.edu>
56211
56212         * lib/argz.c: Remove check for HAVE_CONFIG_H, to conform
56213         to gnulib's policy of including config.h unconditionally.
56214
56215 2006-10-24  Bruno Haible  <bruno@clisp.org>
56216
56217         * modules/wcwidth (Files): Add m4/wint_t.m4.
56218         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Require gt_TYPE_WINT_T.
56219         * lib/wcwidth.h (iswprint): Use 'int' if 'wint_t' is not defined.
56220
56221 2006-10-24  Paul Eggert  <eggert@cs.ucla.edu>
56222
56223         * lib/getdate.y (yyerror): Make the arguments pointer-to-const,
56224         to pacify GCC with some -W flags enabled.  Problem reported by
56225         Bruno Haible.
56226
56227 2006-10-24  Jim Meyering  <jim@meyering.net>
56228
56229         * MODULES.html.sh: Remove uinttostr.  It's not a module.
56230         Reported by Karl Berry.
56231
56232 2006-10-23  Bruno Haible  <bruno@clisp.org>
56233
56234         * lib/fts.c (fts_build): Move variable declaration, for C89 compliance.
56235
56236 2006-10-24  Bruno Haible  <bruno@clisp.org>
56237
56238         * lib/gl_list.h: Use C comment style, not C++ comment style.
56239
56240 2006-10-23  Eric Blake  <ebb9@byu.net>
56241
56242         * lib/getaddrinfo.c (includes): Add missing include.
56243
56244 2006-10-23  Bruno Haible  <bruno@clisp.org>
56245             Paul Eggert  <eggert@cs.ucla.edu>
56246
56247         Ability to rename obstack_free.
56248         * lib/obstack.h (__obstack_free): New macro. Declare instead of
56249         obstack_free.
56250         (obstack_free): Invoke the __obstack_free macro.
56251         * lib/obstack.c (obstack_free): Use __obstack_free macro.
56252
56253 2006-10-23  Bruno Haible  <bruno@clisp.org>
56254             Paul Eggert  <eggert@cs.ucla.edu>
56255
56256         * lib/argp.h (argp_parse, __argp_parse): Comment out the identifiers
56257         __argc, __argv from the declaration. (They are defined as macros on
56258         mingw.)
56259
56260 2006-10-22  Bruno Haible  <bruno@clisp.org>
56261
56262         * doc/gnulib-intro.texi: New file.
56263         * doc/gnulib.texi: Include it.
56264
56265 2006-10-21  Bruno Haible  <bruno@clisp.org>
56266
56267         * doc/gnulib.texi: Split the chapter "Gnulib" into 3 chapters
56268         "Introduction", "Miscellanous Notes", "Particular Modules".
56269
56270 2006-10-21  Bruno Haible  <bruno@clisp.org>
56271
56272         * gnulib-tool (func_emit_lib_Makefile_am, func_emit_tests_Makefile_am):
56273         Change mostlyclean-local rule to avoid sh syntax error from bash
56274         versions 2.00..2.05 when $(MOSTLYCLEANDIRS) is empty.
56275
56276 2006-10-23  Jim Meyering  <jim@meyering.net>
56277
56278         * lib/getaddrinfo.c (getnameinfo): Use new lightweight uinttostr,
56279         in place of snprintf.
56280
56281         * modules/inttostr (Files): Add lib/uinttostr.c.
56282         * lib/uinttostr.c (inttostr): New file/function.
56283         * lib/inttostr.h (uinttostr): Declare.
56284         * m4/inttostr.m4: Add AC_LIBOBJ([uinttostr]).
56285         * MODULES.html.sh (Numeric conversion functions <stdlib.h>):
56286         Add uinttostr.
56287         * modules/getaddrinfo (Depends-on): Remove snprintf.  Add inttostr.
56288
56289 2006-10-21  Paul Eggert  <eggert@cs.ucla.edu>
56290
56291         * lib/canonicalize.c (ELOOP): Define if not already defined.
56292         Problem reported by Bruno Haible in
56293         <http://lists.gnu.org/archive/html/bug-gnulib/2006-10/msg00282.html>.
56294
56295 2006-10-21  Paul Eggert  <eggert@cs.ucla.edu>
56296
56297         * lib/stdint_.h [defined _AIX]: Don't include <sys/types.h>.
56298         Problem reported by Perry Smith and Ville Laurikari.
56299
56300         * lib/getndelim2.c (SSIZE_MAX): Use same defn that getdelim.c
56301         uses.
56302
56303 2006-10-19  Bruno Haible  <bruno@clisp.org>
56304
56305         * lib/getndelim2.c (SSIZE_MAX): Provide fallback definition. Needed
56306         for mingw.
56307
56308 2006-10-19  Bruno Haible  <bruno@clisp.org>
56309
56310         * lib/openat-priv.h (EOPNOTSUPP): Provide fallback definition.
56311         Needed for mingw.
56312
56313 2006-10-19  Bruno Haible  <bruno@clisp.org>
56314
56315         * m4/size_max.m4 (gl_SIZE_MAX): Cache the result.
56316
56317 2006-10-19  Bruno Haible  <bruno@clisp.org>
56318
56319         * m4/allocsa.m4 (gl_ALLOCSA): Invoke gl_FUNC_ALLOCA, don't AC_REQUIRE
56320         it.
56321
56322 2006-10-19  Bruno Haible  <bruno@clisp.org>
56323
56324         * m4/alloca.m4 (gl_FUNC_ALLOCA): Cache the result of the AC_EGREP_CPP
56325         invocation.
56326
56327 2006-10-19  Bruno Haible  <bruno@clisp.org>
56328
56329         * gnulib-tool (func_create_testdir): Don't include ftruncate and
56330         mountlist by default.
56331
56332 2006-10-16  Bruno Haible  <bruno@clisp.org>
56333
56334         * lib/c-strstr.c: Include c-strstr.h.
56335
56336 2006-10-18  Charles Wilson  <cygwin@cwilson.fastmail.fm>
56337
56338         * gnulib-tool: Don't clobber $sourcebase when $local_gnulib_dir ends
56339         in a slash.
56340
56341 2006-10-18  Bruno Haible  <bruno@clisp.org>
56342
56343         * lib/lock.h [C++]: Wrap definitions in extern "C".
56344
56345 2006-10-18  Bruno Haible  <bruno@clisp.org>
56346
56347         * gnulib-tool (func_emit_initmacro_end): Remove duplicates from the
56348         gl_LIBOBJS list.
56349
56350 2006-10-18  Bruno Haible  <bruno@clisp.org>
56351
56352         * lib/findprog.c (find_in_path): Avoid "gcc -Wwrite-strings" warning.
56353
56354 2006-10-19  Paul Eggert  <eggert@cs.ucla.edu>
56355
56356         * lib/xstrtol.h: Include gettext.h.
56357         (_STRTOL_ERROR): Wrap English-language formats inside gettext.
56358         Problem reported by Eric Blake.
56359         * modules/xstrtol (Depends-on): Add gettext-h.
56360
56361 2006-10-19  Paul Eggert  <eggert@cs.ucla.edu>  (tiny change)
56362
56363         * lib/strftime.c (advance): New macro.
56364         (add): Use it to avoid adding 0 to a FILE *.  FILE can be an
56365         incomplete type, so you can't add 0 to it.  Problem and patch
56366         reported by Eelco Dolstra for dietlibc.
56367
56368 2006-10-18  Jim Meyering  <jim@meyering.net>
56369
56370         * lib/readutmp.c (desirable_utmp_entry): Use "bool" as the
56371         type for a local, and rename it: s/up/user_proc/.
56372
56373 2006-10-18  Sergey Poznyakoff  <gray@gnu.org.ua>
56374
56375         * lib/readutmp.c (desirable_utmp_entry): Implement new flag:
56376         READ_UTMP_USER_PROCESS.
56377         * lib/readutmp.h (READ_UTMP_USER_PROCESS): New flag
56378
56379 2006-10-17  Paul Eggert  <eggert@cs.ucla.edu>
56380
56381         * lib/localcharset.c: Do not check HAVE_SETLOCALE.
56382         * m4/localcharset.m4 (gl_LOCALCHARSET): Don't check for setlocale.
56383
56384 2006-10-17  Eric Blake  <ebb9@byu.net>
56385
56386         * lib/sigprocmask.c (sigprocmask): Fix typo.
56387
56388         * m4/signalblocking.m4 (gl_PREREQ_SIGPROCMASK): Fix typo.
56389
56390         * modules/clean-temp (Makefile.am): Don't add to make output...
56391         (configure.ac): ...instead define SIGNAL_SAFE_LIST inside
56392         config.h.
56393
56394 2006-10-17  Bruno Haible  <bruno@clisp.org>
56395
56396         * lib/gettext.h (gettext, ngettext, pgettext, npgettext): Define
56397         differently if DEFAULT_TEXT_DOMAIN is set.
56398
56399 2006-10-16  Bruno Haible  <bruno@clisp.org>
56400
56401         * lib/clean-temp.c: Include fwriteerror.h.
56402
56403 2006-10-16  Bruno Haible  <bruno@clisp.org>
56404
56405         * getndelim2.m4 (gl_GETNDELIM2): Remove 2003-10-23 hack.
56406
56407 2006-10-16  Bruno Haible  <bruno@clisp.org>
56408
56409         * m4/signalblocking.m4 (gl_PREREQ_SIGPROCMASK): Also test for sigset_t.
56410         * lib/sigprocmask.h: Include <sys/types.h>.
56411         (sigset_t): Use the system's definition if present.
56412
56413 2006-10-17  Eric Blake  <ebb9@byu.net>
56414
56415         * lib/xvasprintf.c (includes): Assume config.h.
56416         * lib/xasprintf.c (includes): Likewise.
56417
56418 2006-10-16  Paul Eggert  <eggert@cs.ucla.edu>
56419
56420         * lib/fsusage.c (PROPAGATE_ALL_ONES): Don't assume uintmax_t is
56421         at least as wide as intmax_t.
56422
56423 2006-10-16  Alexandre Duret-Lutz  <adl@gnu.org>
56424
56425         (Imported from Automake.)
56426         * build-aux/gnupload: Update to version 1.1 of directive file.
56427
56428 2006-10-16  Eric Blake  <ebb9@byu.net>
56429
56430         * modules/configmake (Makefile.am): Add pkglibexecdir support, to
56431         match Automake 1.10a.
56432
56433 2006-10-14  Bruno Haible  <bruno@clisp.org>
56434
56435         * modules/sigprocmask: New file.
56436         * lib/sigprocmask.h: New file.
56437         * lib/sigprocmask.c: New file.
56438         * m4/signalblocking.m4 (gl_SIGNALBLOCKING): Renamed from
56439         gt_SIGNALBLOCKING. When not defining HAVE_POSIX_SIGNALBLOCKING,
56440         request sigprocmask.o.
56441         (gl_PREREQ_SIGPROCMASK): New macro.
56442         * modules/fatal-signal (Files): Remove m4/signalblocking.m4.
56443         (Depends-on): Add sigprocmask.
56444         * m4/fatal-signal.m4 (gl_FATAL_SIGNAL): Don't require
56445         gt_SIGNALBLOCKING. Test for 'raise' only once.
56446         * lib/fatal-signal.c: Include sigprocmask.h.
56447         (fatal_signal_set, init_fatal_signal_set, block_fatal_signals,
56448         unblock_fatal_signals): Define always.
56449         * MODULES.html.sh (Support for systems lacking POSIX:2001): Add
56450         sigprocmask.
56451
56452 2006-10-14  Paul Eggert  <eggert@cs.ucla.edu>
56453
56454         Sync from Automake.
56455         * build-aux/install-sh (posix_mkdir): Reject FreeBSD 6.1 mkdir -p -m,
56456         which incorrectly sets the mode of an existing destination
56457         directory.  In some cases the unpatched install-sh could do the
56458         equivalent of "chmod 777 /" or "chmod 0 /" on a buggy FreeBSD
56459         system.  We hope this is rare in practice, but it's clearly worth
56460         fixing.  Problem reported by Alex Unleashed in
56461         <http://lists.gnu.org/archive/html/bug-autoconf/2006-10/msg00012.html>.
56462         Also, don't bother to check for -m bugs unless we're using -m;
56463         suggested by Stepan Kasal.
56464
56465 2006-10-14  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
56466
56467         Sync from Automake.
56468         * build-aux/depcomp (gcc3): Put dependency extraction flags before the
56469         `-c' flag, so they appear at the same position as in %FASTDEP%
56470         mode in depend2.am.  Fixes build failure for FreeBSD's c89,
56471         which ignores unknown options only after the first non-option.
56472         Bug report against M4 by Nelson H. F. Beebe.
56473
56474 2006-10-13  Jim Meyering  <jim@meyering.net>
56475
56476         Fix a bug in yesterday's change.
56477         * lib/fts.c (fts_open): When using FTS_XDEV|FTS_NOSTAT,
56478         p->fts_statp->st_dev would be used uninitialized.
56479         Ensures that we always call fts_stat on the very first entry.
56480         Miklos Szeredi reported that find -xdev stopped working.
56481
56482 2006-10-12  Bruno Haible  <bruno@clisp.org>
56483
56484         * gnulib-tool (func_get_automake_snippet): Append an automatically
56485         computed EXTRA_DIST augmentation.
56486         * modules/acl (Makefile.am): Remove EXTRA_DIST augmentation.
56487         * modules/alloca-opt (Makefile.am): Likewise.
56488         * modules/allocsa (Makefile.am): Likewise.
56489         * modules/arcfour (Makefile.am): Likewise.
56490         * modules/arctwo (Makefile.am): Likewise.
56491         * modules/argmatch (Makefile.am): Likewise.
56492         * modules/argz (Makefile.am): Likewise.
56493         * modules/atexit (Makefile.am): Likewise.
56494         * modules/backupfile (Makefile.am): Likewise.
56495         * modules/byteswap (Makefile.am): Likewise.
56496         * modules/c-strtod (Makefile.am): Likewise.
56497         * modules/c-strtold (Makefile.am): Likewise.
56498         * modules/calloc (Makefile.am): Likewise.
56499         * modules/canon-host (Makefile.am): Likewise.
56500         * modules/canonicalize (Makefile.am): Likewise.
56501         * modules/chdir-long (Makefile.am): Likewise.
56502         * modules/chdir-safer (Makefile.am): Likewise.
56503         * modules/check-version (Makefile.am): Likewise.
56504         * modules/chown (Makefile.am): Likewise.
56505         * modules/cloexec (Makefile.am): Likewise.
56506         * modules/close-stream (Makefile.am): Likewise.
56507         * modules/closeout (Makefile.am): Likewise.
56508         * modules/crc (Makefile.am): Likewise.
56509         * modules/csharpexec (Makefile.am): Likewise.
56510         * modules/cycle-check (Makefile.am): Likewise.
56511         * modules/des (Makefile.am): Likewise.
56512         * modules/dev-ino (Makefile.am): Likewise.
56513         * modules/dirfd (Makefile.am): Likewise.
56514         * modules/dirname (Makefile.am): Likewise.
56515         * modules/dup2 (Makefile.am): Likewise.
56516         * modules/eealloc (Makefile.am): Likewise.
56517         * modules/error (Makefile.am): Likewise.
56518         * modules/euidaccess (Makefile.am): Likewise.
56519         * modules/exclude (Makefile.am): Likewise.
56520         * modules/exitfail (Makefile.am): Likewise.
56521         * modules/fcntl-safer (Makefile.am): Likewise.
56522         * modules/fcntl (Makefile.am): Likewise.
56523         * modules/file-type (Makefile.am): Likewise.
56524         * modules/fileblocks (Makefile.am): Likewise.
56525         * modules/filemode (Makefile.am): Likewise.
56526         * modules/filenamecat (Makefile.am): Likewise.
56527         * modules/fnmatch (Makefile.am): Likewise.
56528         * modules/fopen-safer (Makefile.am): Likewise.
56529         * modules/fpending (Makefile.am): Likewise.
56530         * modules/fprintftime (Makefile.am): Likewise.
56531         * modules/free (Makefile.am): Likewise.
56532         * modules/fsusage (Makefile.am): Likewise.
56533         * modules/ftruncate (Makefile.am): Likewise.
56534         * modules/fts (Makefile.am): Likewise.
56535         * modules/gc-arcfour (Makefile.am): Likewise.
56536         * modules/gc-des (Makefile.am): Likewise.
56537         * modules/gc-hmac-md5 (Makefile.am): Likewise.
56538         * modules/gc-hmac-sha1 (Makefile.am): Likewise.
56539         * modules/gc-md4 (Makefile.am): Likewise.
56540         * modules/gc-pbkdf2-sha1 (Makefile.am): Likewise.
56541         * modules/gc-sha1 (Makefile.am): Likewise.
56542         * modules/gc (Makefile.am): Likewise.
56543         * modules/getaddrinfo (Makefile.am): Likewise.
56544         * modules/getcwd (Makefile.am): Likewise.
56545         * modules/getdelim (Makefile.am): Likewise.
56546         * modules/getdomainname (Makefile.am): Likewise.
56547         * modules/getgroups (Makefile.am): Likewise.
56548         * modules/gethostname (Makefile.am): Likewise.
56549         * modules/gethrxtime (Makefile.am): Likewise.
56550         * modules/getline (Makefile.am): Likewise.
56551         * modules/getloadavg (Makefile.am): Likewise.
56552         * modules/getlogin_r (Makefile.am): Likewise.
56553         * modules/getndelim2 (Makefile.am): Likewise.
56554         * modules/getopt (Makefile.am): Likewise.
56555         * modules/getpagesize (Makefile.am): Likewise.
56556         * modules/getpass-gnu (Makefile.am): Likewise.
56557         * modules/getpass (Makefile.am): Likewise.
56558         * modules/getsubopt (Makefile.am): Likewise.
56559         * modules/gettime (Makefile.am): Likewise.
56560         * modules/gettimeofday (Makefile.am): Likewise.
56561         * modules/getugroups (Makefile.am): Likewise.
56562         * modules/getusershell (Makefile.am): Likewise.
56563         * modules/glob (Makefile.am): Likewise.
56564         * modules/group-member (Makefile.am): Likewise.
56565         * modules/hard-locale (Makefile.am): Likewise.
56566         * modules/hash (Makefile.am): Likewise.
56567         * modules/hmac-md5 (Makefile.am): Likewise.
56568         * modules/hmac-sha1 (Makefile.am): Likewise.
56569         * modules/human (Makefile.am): Likewise.
56570         * modules/idcache (Makefile.am): Likewise.
56571         * modules/imaxabs (Makefile.am): Likewise.
56572         * modules/imaxdiv (Makefile.am): Likewise.
56573         * modules/inet_ntop (Makefile.am): Likewise.
56574         * modules/inet_pton (Makefile.am): Likewise.
56575         * modules/intprops (Makefile.am): Likewise.
56576         * modules/inttostr (Makefile.am): Likewise.
56577         * modules/inttypes (Makefile.am): Likewise.
56578         * modules/isapipe (Makefile.am): Likewise.
56579         * modules/javaversion (Makefile.am): Likewise.
56580         * modules/lchmod (Makefile.am): Likewise.
56581         * modules/lchown (Makefile.am): Likewise.
56582         * modules/localcharset (Makefile.am): Likewise.
56583         * modules/long-options (Makefile.am): Likewise.
56584         * modules/lstat (Makefile.am): Likewise.
56585         * modules/malloc (Makefile.am): Likewise.
56586         * modules/mathl (Makefile.am): Likewise.
56587         * modules/mbchar (Makefile.am): Likewise.
56588         * modules/md2 (Makefile.am): Likewise.
56589         * modules/md4 (Makefile.am): Likewise.
56590         * modules/md5 (Makefile.am): Likewise.
56591         * modules/memcasecmp (Makefile.am): Likewise.
56592         * modules/memchr (Makefile.am): Likewise.
56593         * modules/memcmp (Makefile.am): Likewise.
56594         * modules/memcoll (Makefile.am): Likewise.
56595         * modules/memcpy (Makefile.am): Likewise.
56596         * modules/memmem (Makefile.am): Likewise.
56597         * modules/memmove (Makefile.am): Likewise.
56598         * modules/mempcpy (Makefile.am): Likewise.
56599         * modules/memrchr (Makefile.am): Likewise.
56600         * modules/memset (Makefile.am): Likewise.
56601         * modules/memxor (Makefile.am): Likewise.
56602         * modules/mkancesdirs (Makefile.am): Likewise.
56603         * modules/mkdir-p (Makefile.am): Likewise.
56604         * modules/mkdir (Makefile.am): Likewise.
56605         * modules/mkdtemp (Makefile.am): Likewise.
56606         * modules/mkstemp (Makefile.am): Likewise.
56607         * modules/mktime (Makefile.am): Likewise.
56608         * modules/modechange (Makefile.am): Likewise.
56609         * modules/mountlist (Makefile.am): Likewise.
56610         * modules/nanosleep (Makefile.am): Likewise.
56611         * modules/obstack (Makefile.am): Likewise.
56612         * modules/openat (Makefile.am): Likewise.
56613         * modules/pagealign_alloc (Makefile.am): Likewise.
56614         * modules/pathmax (Makefile.am): Likewise.
56615         * modules/physmem (Makefile.am): Likewise.
56616         * modules/poll (Makefile.am): Likewise.
56617         * modules/posixtm (Makefile.am): Likewise.
56618         * modules/posixver (Makefile.am): Likewise.
56619         * modules/putenv (Makefile.am): Likewise.
56620         * modules/quote (Makefile.am): Likewise.
56621         * modules/quotearg (Makefile.am): Likewise.
56622         * modules/raise (Makefile.am): Likewise.
56623         * modules/read-file (Makefile.am): Likewise.
56624         * modules/readline (Makefile.am): Likewise.
56625         * modules/readlink (Makefile.am): Likewise.
56626         * modules/readtokens (Makefile.am): Likewise.
56627         * modules/readutmp (Makefile.am): Likewise.
56628         * modules/realloc (Makefile.am): Likewise.
56629         * modules/regex (Makefile.am): Likewise.
56630         * modules/rename-dest-slash (Makefile.am): Likewise.
56631         * modules/rename (Makefile.am): Likewise.
56632         * modules/rijndael (Makefile.am): Likewise.
56633         * modules/rmdir (Makefile.am): Likewise.
56634         * modules/rpmatch (Makefile.am): Likewise.
56635         * modules/safe-read (Makefile.am): Likewise.
56636         * modules/safe-write (Makefile.am): Likewise.
56637         * modules/same-inode (Makefile.am): Likewise.
56638         * modules/same (Makefile.am): Likewise.
56639         * modules/save-cwd (Makefile.am): Likewise.
56640         * modules/savedir (Makefile.am): Likewise.
56641         * modules/setenv (Makefile.am): Likewise.
56642         * modules/settime (Makefile.am): Likewise.
56643         * modules/sha1 (Makefile.am): Likewise.
56644         * modules/sig2str (Makefile.am): Likewise.
56645         * modules/snprintf (Makefile.am): Likewise.
56646         * modules/stat-macros (Makefile.am): Likewise.
56647         * modules/stat-time (Makefile.am): Likewise.
56648         * modules/stdbool (Makefile.am): Likewise.
56649         * modules/stdint (Makefile.am): Likewise.
56650         * modules/stdlib-safer (Makefile.am): Likewise.
56651         * modules/stpcpy (Makefile.am): Likewise.
56652         * modules/stpncpy (Makefile.am): Likewise.
56653         * modules/strcase (Makefile.am): Likewise.
56654         * modules/strcasestr (Makefile.am): Likewise.
56655         * modules/strchrnul (Makefile.am): Likewise.
56656         * modules/strcspn (Makefile.am): Likewise.
56657         * modules/strdup (Makefile.am): Likewise.
56658         * modules/strerror (Makefile.am): Likewise.
56659         * modules/strftime (Makefile.am): Likewise.
56660         * modules/strndup (Makefile.am): Likewise.
56661         * modules/strnlen (Makefile.am): Likewise.
56662         * modules/strpbrk (Makefile.am): Likewise.
56663         * modules/strsep (Makefile.am): Likewise.
56664         * modules/strstr (Makefile.am): Likewise.
56665         * modules/strtod (Makefile.am): Likewise.
56666         * modules/strtoimax (Makefile.am): Likewise.
56667         * modules/strtok_r (Makefile.am): Likewise.
56668         * modules/strtol (Makefile.am): Likewise.
56669         * modules/strtoll (Makefile.am): Likewise.
56670         * modules/strtoul (Makefile.am): Likewise.
56671         * modules/strtoull (Makefile.am): Likewise.
56672         * modules/strtoumax (Makefile.am): Likewise.
56673         * modules/strverscmp (Makefile.am): Likewise.
56674         * modules/sys_socket (Makefile.am): Likewise.
56675         * modules/sys_stat (Makefile.am): Likewise.
56676         * modules/sysexits (Makefile.am): Likewise.
56677         * modules/time_r (Makefile.am): Likewise.
56678         * modules/timegm (Makefile.am): Likewise.
56679         * modules/timespec (Makefile.am): Likewise.
56680         * modules/tmpfile-safer (Makefile.am): Likewise.
56681         * modules/trim (Makefile.am): Likewise.
56682         * modules/unistd-safer (Makefile.am): Likewise.
56683         * modules/unlinkdir (Makefile.am): Likewise.
56684         * modules/unlocked-io (Makefile.am): Likewise.
56685         * modules/userspec (Makefile.am): Likewise.
56686         * modules/utime (Makefile.am): Likewise.
56687         * modules/utimecmp (Makefile.am): Likewise.
56688         * modules/utimens (Makefile.am): Likewise.
56689         * modules/vasnprintf (Makefile.am): Likewise.
56690         * modules/vasprintf (Makefile.am): Likewise.
56691         * modules/vsnprintf (Makefile.am): Likewise.
56692         * modules/xalloc (Makefile.am): Likewise.
56693         * modules/xgetcwd (Makefile.am): Likewise.
56694         * modules/xnanosleep (Makefile.am): Likewise.
56695         * modules/xreadlink (Makefile.am): Likewise.
56696         * modules/xstrtod (Makefile.am): Likewise.
56697         * modules/xstrtol (Makefile.am): Likewise.
56698         * modules/xstrtold (Makefile.am): Likewise.
56699         * modules/yesno (Makefile.am): Likewise.
56700         * modules/getdate (Makefile.am): Don't add getdate.h to EXTRA_DIST.
56701
56702 2006-10-12  Paul Eggert  <eggert@cs.ucla.edu>
56703
56704         * modules/error (Makefile.am): Distribute files through
56705         EXTRA_DIST, not lib_SOURCES.
56706
56707 2006-10-12  Eric Blake  <ebb9@byu.net>
56708
56709         * modules/error (Makefile.am): Distribute files in /lib.
56710         * modules/obstack (Makefile.am): Likewise.
56711
56712 2006-10-12  Bruno Haible  <bruno@clisp.org>
56713
56714         * modules/acl (Makefile.am): Distribute all files in lib/ through
56715         EXTRA_DIST.
56716         * modules/arcfour (Makefile.am): Likewise.
56717         * modules/arctwo (Makefile.am): Likewise.
56718         * modules/argmatch (Makefile.am): Likewise.
56719         * modules/argz (Makefile.am): Likewise.
56720         * modules/atexit (Makefile.am): Likewise.
56721         * modules/backupfile (Makefile.am): Likewise.
56722         * modules/c-strtod (Makefile.am): Likewise.
56723         * modules/c-strtold (Makefile.am): Likewise.
56724         * modules/calloc (Makefile.am): Likewise.
56725         * modules/canon-host (Makefile.am): Likewise.
56726         * modules/canonicalize (Makefile.am): Likewise.
56727         * modules/chdir-long (Makefile.am): Likewise.
56728         * modules/chdir-safer (Makefile.am): Likewise.
56729         * modules/check-version (Makefile.am): Likewise.
56730         * modules/chown (Makefile.am): Likewise.
56731         * modules/cloexec (Makefile.am): Likewise.
56732         * modules/close-stream (Makefile.am): Likewise.
56733         * modules/closeout (Makefile.am): Likewise.
56734         * modules/crc (Makefile.am): Likewise.
56735         * modules/cycle-check (Makefile.am): Likewise.
56736         * modules/des (Makefile.am): Likewise.
56737         * modules/dirfd (Makefile.am): Likewise.
56738         * modules/dirname (Makefile.am): Likewise.
56739         * modules/dup2 (Makefile.am): Likewise.
56740         * modules/euidaccess (Makefile.am): Likewise.
56741         * modules/exclude (Makefile.am): Likewise.
56742         * modules/exitfail (Makefile.am): Likewise.
56743         * modules/fcntl-safer (Makefile.am): Likewise.
56744         * modules/file-type (Makefile.am): Likewise.
56745         * modules/fileblocks (Makefile.am): Likewise.
56746         * modules/filemode (Makefile.am): Likewise.
56747         * modules/filenamecat (Makefile.am): Likewise.
56748         * modules/fnmatch (Makefile.am): Likewise.
56749         * modules/fopen-safer (Makefile.am): Likewise.
56750         * modules/fpending (Makefile.am): Likewise.
56751         * modules/fprintftime (Makefile.am): Likewise.
56752         * modules/free (Makefile.am): Likewise.
56753         * modules/fsusage (Makefile.am): Likewise.
56754         * modules/ftruncate (Makefile.am): Likewise.
56755         * modules/fts (Makefile.am): Likewise.
56756         * modules/gc (Makefile.am): Likewise.
56757         * modules/gc-pbkdf2-sha1 (Makefile.am): Likewise.
56758         * modules/getaddrinfo (Makefile.am): Likewise.
56759         * modules/getcwd (Makefile.am): Likewise.
56760         * modules/getdelim (Makefile.am): Likewise.
56761         * modules/getdomainname (Makefile.am): Likewise.
56762         * modules/getgroups (Makefile.am): Likewise.
56763         * modules/gethostname (Makefile.am): Likewise.
56764         * modules/gethrxtime (Makefile.am): Likewise.
56765         * modules/getline (Makefile.am): Likewise.
56766         * modules/getloadavg (Makefile.am): Likewise.
56767         * modules/getlogin_r (Makefile.am): Likewise.
56768         * modules/getopt (Makefile.am): Likewise.
56769         * modules/getpass (Makefile.am): Likewise.
56770         * modules/getpass-gnu (Makefile.am): Likewise.
56771         * modules/getsubopt (Makefile.am): Likewise.
56772         * modules/gettime (Makefile.am): Likewise.
56773         * modules/gettimeofday (Makefile.am): Likewise.
56774         * modules/getugroups (Makefile.am): Likewise.
56775         * modules/getusershell (Makefile.am): Likewise.
56776         * modules/glob (Makefile.am): Likewise.
56777         * modules/group-member (Makefile.am): Likewise.
56778         * modules/hard-locale (Makefile.am): Likewise.
56779         * modules/hash (Makefile.am): Likewise.
56780         * modules/hmac-md5 (Makefile.am): Likewise.
56781         * modules/hmac-sha1 (Makefile.am): Likewise.
56782         * modules/human (Makefile.am): Likewise.
56783         * modules/idcache (Makefile.am): Likewise.
56784         * modules/imaxabs (Makefile.am): Likewise.
56785         * modules/imaxdiv (Makefile.am): Likewise.
56786         * modules/inet_ntop (Makefile.am): Likewise.
56787         * modules/inet_pton (Makefile.am): Likewise.
56788         * modules/inttostr (Makefile.am): Likewise.
56789         * modules/isapipe (Makefile.am): Likewise.
56790         * modules/lchown (Makefile.am): Likewise.
56791         * modules/long-options (Makefile.am): Likewise.
56792         * modules/lstat (Makefile.am): Likewise.
56793         * modules/malloc (Makefile.am): Likewise.
56794         * modules/mathl (Makefile.am): Likewise.
56795         * modules/mbchar (Makefile.am): Likewise.
56796         * modules/md2 (Makefile.am): Likewise.
56797         * modules/md4 (Makefile.am): Likewise.
56798         * modules/md5 (Makefile.am): Likewise.
56799         * modules/memcasecmp (Makefile.am): Likewise.
56800         * modules/memchr (Makefile.am): Likewise.
56801         * modules/memcmp (Makefile.am): Likewise.
56802         * modules/memcoll (Makefile.am): Likewise.
56803         * modules/memcpy (Makefile.am): Likewise.
56804         * modules/memmem (Makefile.am): Likewise.
56805         * modules/memmove (Makefile.am): Likewise.
56806         * modules/mempcpy (Makefile.am): Likewise.
56807         * modules/memrchr (Makefile.am): Likewise.
56808         * modules/memset (Makefile.am): Likewise.
56809         * modules/memxor (Makefile.am): Likewise.
56810         * modules/mkancesdirs (Makefile.am): Likewise.
56811         * modules/mkdir (Makefile.am): Likewise.
56812         * modules/mkdir-p (Makefile.am): Likewise.
56813         * modules/mkdtemp (Makefile.am): Likewise.
56814         * modules/mkstemp (Makefile.am): Likewise.
56815         * modules/mktime (Makefile.am): Likewise.
56816         * modules/modechange (Makefile.am): Likewise.
56817         * modules/mountlist (Makefile.am): Likewise.
56818         * modules/nanosleep (Makefile.am): Likewise.
56819         * modules/openat (Makefile.am): Likewise.
56820         * modules/pagealign_alloc (Makefile.am): Likewise.
56821         * modules/physmem (Makefile.am): Likewise.
56822         * modules/poll (Makefile.am): Likewise.
56823         * modules/posixtm (Makefile.am): Likewise.
56824         * modules/posixver (Makefile.am): Likewise.
56825         * modules/putenv (Makefile.am): Likewise.
56826         * modules/quote (Makefile.am): Likewise.
56827         * modules/quotearg (Makefile.am): Likewise.
56828         * modules/raise (Makefile.am): Likewise.
56829         * modules/read-file (Makefile.am): Likewise.
56830         * modules/readline (Makefile.am): Likewise.
56831         * modules/readlink (Makefile.am): Likewise.
56832         * modules/readtokens (Makefile.am): Likewise.
56833         * modules/readutmp (Makefile.am): Likewise.
56834         * modules/realloc (Makefile.am): Likewise.
56835         * modules/regex (Makefile.am): Likewise.
56836         * modules/rename (Makefile.am): Likewise.
56837         * modules/rename-dest-slash (Makefile.am): Likewise.
56838         * modules/rijndael (Makefile.am): Likewise.
56839         * modules/rmdir (Makefile.am): Likewise.
56840         * modules/rpmatch (Makefile.am): Likewise.
56841         * modules/safe-read (Makefile.am): Likewise.
56842         * modules/safe-write (Makefile.am): Likewise.
56843         * modules/same (Makefile.am): Likewise.
56844         * modules/save-cwd (Makefile.am): Likewise.
56845         * modules/savedir (Makefile.am): Likewise.
56846         * modules/setenv (Makefile.am): Likewise.
56847         * modules/settime (Makefile.am): Likewise.
56848         * modules/sha1 (Makefile.am): Likewise.
56849         * modules/sig2str (Makefile.am): Likewise.
56850         * modules/snprintf (Makefile.am): Likewise.
56851         * modules/stdlib-safer (Makefile.am): Likewise.
56852         * modules/stpcpy (Makefile.am): Likewise.
56853         * modules/stpncpy (Makefile.am): Likewise.
56854         * modules/strcase (Makefile.am): Likewise.
56855         * modules/strcasestr (Makefile.am): Likewise.
56856         * modules/strchrnul (Makefile.am): Likewise.
56857         * modules/strcspn (Makefile.am): Likewise.
56858         * modules/strdup (Makefile.am): Likewise.
56859         * modules/strerror (Makefile.am): Likewise.
56860         * modules/strftime (Makefile.am): Likewise.
56861         * modules/strndup (Makefile.am): Likewise.
56862         * modules/strnlen (Makefile.am): Likewise.
56863         * modules/strpbrk (Makefile.am): Likewise.
56864         * modules/strsep (Makefile.am): Likewise.
56865         * modules/strstr (Makefile.am): Likewise.
56866         * modules/strtod (Makefile.am): Likewise.
56867         * modules/strtoimax (Makefile.am): Likewise.
56868         * modules/strtok_r (Makefile.am): Likewise.
56869         * modules/strtol (Makefile.am): Likewise.
56870         * modules/strtoll (Makefile.am): Likewise.
56871         * modules/strtoul (Makefile.am): Likewise.
56872         * modules/strtoull (Makefile.am): Likewise.
56873         * modules/strtoumax (Makefile.am): Likewise.
56874         * modules/strverscmp (Makefile.am): Likewise.
56875         * modules/time_r (Makefile.am): Likewise.
56876         * modules/timegm (Makefile.am): Likewise.
56877         * modules/tmpfile-safer (Makefile.am): Likewise.
56878         * modules/unistd-safer (Makefile.am): Likewise.
56879         * modules/unlinkdir (Makefile.am): Likewise.
56880         * modules/userspec (Makefile.am): Likewise.
56881         * modules/utime (Makefile.am): Likewise.
56882         * modules/utimecmp (Makefile.am): Likewise.
56883         * modules/utimens (Makefile.am): Likewise.
56884         * modules/vasnprintf (Makefile.am): Likewise.
56885         * modules/vasprintf (Makefile.am): Likewise.
56886         * modules/vsnprintf (Makefile.am): Likewise.
56887         * modules/xalloc (Makefile.am): Likewise.
56888         * modules/xgetcwd (Makefile.am): Likewise.
56889         * modules/xnanosleep (Makefile.am): Likewise.
56890         * modules/xreadlink (Makefile.am): Likewise.
56891         * modules/xstrtod (Makefile.am): Likewise.
56892         * modules/xstrtol (Makefile.am): Likewise.
56893         * modules/xstrtold (Makefile.am): Likewise.
56894         * modules/yesno (Makefile.am): Likewise.
56895
56896 2006-10-12  Jim Meyering  <jim@meyering.net>
56897
56898         * m4/getloadavg.m4: Revert the change below.
56899
56900         * m4/getloadavg.m4 (gl_GETLOADAVG): Test for the existence of
56901         lib/getloadavg.c using "ls -L", not "test -f".  The latter would
56902         fail with a symlink, which is what coreutils' ./bootstrap now
56903         creates by default.
56904
56905 2006-10-12  Bruno Haible  <bruno@clisp.org>
56906
56907         * lib/inttypes_.h (_LONG_LONG_FORMAT_PREFIX): Don't define for MSVC or
56908         mingw.
56909         (_PRI64_PREFIX, _PRIu64_PREFIX, _SCN64_PREFIX, _SCNu64_PREFIX): Handle
56910         MSVC and mingw explicitly.
56911
56912 2006-10-11  Simon Josefsson  <jas@extundo.com>
56913             Bruno Haible  <bruno@clisp.org>
56914
56915         Add support for multiple gnulib-tool invocations in the scope of a
56916         single configure.ac file.
56917         * gnulib-tool (func_emit_lib_Makefile_am): In the _LIBADD variable,
56918         use a private [LT]LIBOBJS variant. Define a _DEPENDENCIES variable
56919         with the same contents as the _LIBADD variable.
56920         (func_emit_initmacro_start, func_emit_initmacro_end,
56921         func_emit_initmacro_done): New functions.
56922         (func_import, func_create_testdir): Invoke them. Allow the identifiers
56923         gl_LIBOBJS and gl_LTLIBOBJS.
56924
56925 2006-10-11  Bruno Haible  <bruno@clisp.org>
56926
56927         * gnulib-tool (GETTEXTPATH, AUTOHEADER, AUTOPOINT): New variables.
56928         (func_create_testdir): Don't create po/Makefile.am, don't invoke
56929         autoreconf. Instead, invoke autopoint explicitly but move back the
56930         *.m4 files from gnulib.
56931
56932 2006-10-11  Bruno Haible  <bruno@clisp.org>
56933
56934         * gnulib-tool (func_usage): Make module names after --create-testdir
56935         optional.
56936         (func_create_testdir): If no module was specified, use nearly all
56937         modules.
56938
56939 2006-10-12  Jim Meyering  <jim@meyering.net>
56940
56941         Big performance improvement for fts-based tools that use FTS_NOSTAT.
56942         Avoid spurious inode-mismatch problems on non-POSIX file systems.
56943         Details: http://article.gmane.org/gmane.comp.lib.gnulib.bugs/7416
56944         * lib/fts_.h (FTS_DEFER_STAT): Define new flag.
56945         (FTS_OPTIONMASK): Extend the mask to reflect this addition.
56946         * lib/fts.c (DT_IS_KNOWN, DT_MUST_BE): Define.
56947         (FTS_NO_STAT_REQUIRED, FTS_STAT_REQUIRED): Define.
56948         (fts_set_stat_required): New function.
56949         (fts_open): Defer the calls to fts_stat, if possible or requested.
56950         Move the code that maps a command-line fts_info value FTS_DOT to FTS_D
56951         into fts_stat itself.
56952         (fts_read): Perform any required (deferred) fts_stat call.
56953         (fts_build): Likewise, for the directory we're about to open and read.
56954         In the readdir loop, carefully decide whether each entry will require
56955         an eventual call to fts_stat, using dirent.d_type info if available.
56956         (fts_stat): Move the test for whether to honor FTS_COMFOLLOW on
56957         a command line argument into this function.  Update all callers.
56958         Map a return value of FTS_DOT to FTS_D for a command line argument.
56959         * modules/fts (Depends-on): Add d-type.  Alphabetize.
56960         Thanks to Miklos Szeredi for his tenacity and for the initial
56961         bug report about "find" failing on a FUSE-based file system.
56962
56963         * lib/fts.c (fts_open): Use consistent indentation.
56964
56965 2006-10-12  Paul Eggert  <eggert@cs.ucla.edu>
56966
56967         * m4/extensions.m4 (AC_USE_SYSTEM_EXTENSIONS): Renamed from
56968         gl_USE_SYSTEM_EXTENSIONS, to fix a coreutils bootstrap failure
56969         reported by Jim Meyering.  All uses of cache variables renamed
56970         to match Autoconf's.
56971         (gl_USE_SYSTEM_EXTENSIONS): New macro, which simply requires
56972         the other one.
56973
56974         * m4/rename-dest-slash.m4 (gl_FUNC_RENAME_TRAILING_DEST_SLASH):
56975         Fix misspelling in diagnostic.
56976
56977 2006-10-11  Paul Eggert  <eggert@cs.ucla.edu>
56978
56979         * lib/mkdir-p.c (HAVE_FCHMOD): Define to false if not already
56980         defined.  Problem reported by Matthew Woehlke.
56981
56982         * lib/inttypes_.h (_LONG_LONG_FORMAT_PREFIX): New macro.
56983         Add support for Tandem NonStop R series.
56984         (_PRI64_PREFIX, _PRIu64_PREFIX, _SCN64_PREFIX, _SCNu64_PREFIX):
56985         Use new macro.
56986
56987         * lib/rename-dest-slash.c: Include stdbool.h but not string.h.
56988         (has_trailing_slash): Omit size arg; all callers changed.
56989         Omit 'inline', since it doesn't help performance and we'd
56990         need to configure it.
56991         Don't count //, ///, etc. as having a trailing slash.
56992         As a side effect, this removes a C99ism reported by Matthew Woehlke.
56993         (rpl_rename_dest_slash): On failure, use rename's errno rather
56994         than (in some cases) an incorrect or junk errno.
56995         Simplify code by removing need to compute length; this does
56996         cause it to make two passes instead of one over the file name,
56997         but it's worth it.
56998
56999         * m4/extensions.m4 (gl_USE_SYSTEM_EXTENSIONS): Undo previous
57000         change, since Autoconf's version may no longer be appropriate now
57001         that we are using CVS Autoconf's version.  Add support for Tandem.
57002
57003 2006-10-11  Paul Eggert  <eggert@cs.ucla.edu>
57004             Bruno Haible  <bruno@clisp.org>
57005
57006         * lib/allocsa.h (sa_alignment_longlong, sa_alignment_max): Test
57007         HAVE_LONG_LONG_INT instead of HAVE_LONG_LONG.
57008         * m4/allocsa.m4 (gl_ALLOCSA): Invoke AC_TYPE_LONG_LONG_INT instead of
57009         gl_AC_TYPE_LONG_LONG.
57010
57011         * lib/printf-args.h (arg_type, argument): Test HAVE_LONG_LONG_INT
57012         instead of HAVE_LONG_LONG.
57013         * lib/printf-args.c (printf_fetchargs): Likewise.
57014         * lib/printf-parse.c (PRINTF_PARSE): Likewise.
57015         * lib/vasnprintf.c (VASNPRINTF): Likewise.
57016         * m4/vasnprintf.m4 (gl_PREREQ_PRINTF_ARGS, gl_PREREQ_PRINTF_PARSE,
57017         gl_PREREQ_VASNPRINTF): Invoke AC_TYPE_LONG_LONG_INT instead of
57018         gl_AC_TYPE_LONG_LONG.
57019
57020 2006-10-11  Bruno Haible  <bruno@clisp.org>
57021
57022         * m4/longlong.m4: Add comments.
57023         * m4/ulonglong.m4: Likewise.
57024
57025 2006-10-10  Bruno Haible  <bruno@clisp.org>
57026
57027         Make it possible to #define stpcpy, strdup to aliases.
57028         * lib/stpcpy.c (stpcpy) [!_LIBC]: Don't undefine.
57029         * lib/strdup.c (strdup) [!_LIBC]: Don't undefine.
57030
57031 2006-10-10  Bruno Haible  <bruno@clisp.org>
57032
57033         Make it possible to #define gcd to an alias.
57034         * lib/gcd.c: Include config.h.
57035
57036 2006-10-10  Bruno Haible  <bruno@clisp.org>
57037
57038         Make it possible to #define c_isascii to an alias.
57039         * lib/c-ctype.h: Don't define the macros if NO_C_CTYPE_MACROS is
57040         defined. Undefine the macros before defining them, to avoid gcc
57041         warnings.
57042         * lib/c-ctype.c: Include config.h. Don't undefine the macros; instead,
57043         define NO_C_CTYPE_MACROS early.
57044
57045 2006-10-10  Bruno Haible  <bruno@clisp.org>
57046
57047         Make it possible to #define set_program_name to an alias.
57048         * lib/progname.c: Don't undefine set_program_name; instead, undefine
57049         ENABLE_RELOCATABLE early.
57050
57051 2006-10-10  Paul Eggert  <eggert@cs.ucla.edu>
57052
57053         Port to Tandem NSK OSS, which has 64-bit signed int but at most
57054         32-bit unsigned int.  Problem reported by Matthew Woehlke in:
57055         http://lists.gnu.org/archive/html/bug-coreutils/2006-10/msg00062.html
57056         More generally, don't assume that 64-bit signed int is available
57057         if unsigned int is, and vice versa.
57058         * lib/inttypes_.h (_PRIu64_PREFIX, _SCNu64_PREFIX): Depend on
57059         unsigned symbols, not on their signed counterparts.
57060         * lib/stdint_.h (uint64_t, uint_least64_t, uint_fast64_t, uintmax_t):
57061         (UINT64_MAX, UINT_LEAST64_MAX, UINT_FAST64_MAX, UINTMAX_MAX):
57062         (UINT64_C, UINTMAX_C):
57063         Likewise.
57064         * lib/strtoimax.c (strtoll): Depend on signed symbols, not their
57065         unsigned counterparts.
57066         (Have_long_long, Unsigned): New macros.
57067         (Int): Renamed from INT.
57068         (strtoimax): Use the new macros.
57069         * m4/stdint.m4 (gl_STDINT_H): Require AC_TYPE_UNSIGNED_LONG_LONG_INT
57070         and substitute HAVE_UNSIGNED_LONG_LONG_INT.
57071         * modules/inttypes (inttypes.h): Substitute
57072         HAVE_UNSIGNED_LONG_LONG_INT.
57073         * modules/stdint (stdint.h): Likewise.
57074         (Files): Add m4/ulonglong.m4.
57075
57076 2006-10-10  Bruno Haible  <bruno@clisp.org>
57077
57078         Fix a gcc -Wshadow warning.
57079         * lib/gl_anyhash_list2.h (hash_resize): Rename local variable 'index'
57080         to 'bucket'.
57081         * lib/gl_anylinked_list2.h (gl_linked_search_from_to,
57082         gl_linked_indexof_from_to): Likewise.
57083         * lib/gl_linkedhash_list.c (add_to_bucket, remove_from_bucket):
57084         Likewise.
57085         * lib/gl_anytreehash_list1.h (add_to_bucket, remove_from_bucket):
57086         Likewise.
57087         * lib/gl_anytreehash_list2.h (gl_tree_search_from_to): Likewise.
57088         Reported by Eric Blake.
57089
57090 2006-10-09  Paul Eggert  <eggert@cs.ucla.edu>
57091
57092         * lib/filemode.h [HAVE_DECL_STRMODE]: Include unistd.h too,
57093         for NetBSD.  Problem reported by Bruno Haible.
57094
57095 2006-10-09  Jim Meyering  <jim@meyering.net>
57096
57097         * lib/lchown.c: Include <sys/stat.h> before "stat-macros.h".
57098         Patch from Bruno Haible.
57099
57100 2006-10-09  Jim Meyering  <jim@meyering.net>
57101
57102         * lib/fts-cycle.c (leave_dir): When "leaving" a top level directory due
57103         to FTS_SKIP, don't copy the parent's uninitialized dev/ino values.
57104         Trigger with e.g., mkdir d && valgrind ./chmod u+rwx d d
57105
57106 2006-10-08  Paul Eggert  <eggert@cs.ucla.edu>
57107
57108         Don't include <config.h> twice; this doesn't work in some cases,
57109         e.g., when config.h has "#define intmax_t long long int" and
57110         we include <config.h>, <inttypes.h>, <config.h> in that order.
57111         Problem reported by Matthew Woehlke in:
57112         http://lists.gnu.org/archive/html/bug-coreutils/2006-10/msg00073.html
57113         * lib/fprintftime.c: Don't include config.h or fprintftime.h.
57114         * lib/fts-cycle.c: Don't include config.h.
57115         * lib/strftime.c: Include fprintftime.h if FPRINTFTIME is defined.
57116         * lib/xstrtoimax.c: Remove copyright notice since it's short tnow.
57117         Don't include config.h or xstrtol.h.  Define STRTOL_T_MINIMUM
57118         and STRTOL_T_MAXIMUM unconditionally, since we now assume gnulib
57119         inttypes.h.
57120         * lib/xstrtoumax.c: Likewise.
57121         * lib/xstrtol.c: Include config.h and xstrtol.h after defining
57122         __strtol and the like, so that this module is more like its siblings.
57123         (STRTOL_T_MINIMUM, STRTOL_T_MAXIMUM) [! defined STRTOL_T_MINIMUM]:
57124         Remove; no longer needed now that we assume gnulib inttypes.h.
57125
57126 2006-10-08  Bruno Haible  <bruno@clisp.org>
57127
57128         * doc/gnulib-tool.texi: Emphasize the drawbacks of the --symlink
57129         option.
57130
57131 2006-10-07  Jim Meyering  <jim@meyering.net>
57132
57133         * modules/inttypes (inttypes.h): Revert what seems to have been
57134         an inadvertent part of today's change: use "|", not "/" in the
57135         substitution for the "/"-containing string, $(ABSOLUTE_INTTYPES_H).
57136
57137 2006-10-07  Bruno Haible  <bruno@clisp.org>
57138
57139         * modules/sublist: New file.
57140
57141 2006-10-07  Bruno Haible  <bruno@clisp.org>
57142
57143         * modules/alloca-opt (alloca.h): Add a "DO NOT EDIT" comment.
57144         * modules/argz (argz.h): Likewise.
57145         * modules/arpa_inet (arpa/inet.h): Likewise.
57146         * modules/byteswap (byteswap.h): Likewise.
57147         * modules/configmake (configmake.h): Likewise.
57148         * modules/fcntl (fcntl.h): Likewise.
57149         * modules/fnmatch (fnmatch.h): Likewise.
57150         * modules/getopt (getopt.h): Likewise.
57151         * modules/glob (glob.h): Likewise.
57152         * modules/inttypes (inttypes.h): Likewise.
57153         * modules/netinet_in (netinet/in.h): Likewise.
57154         * modules/poll (poll.h): Likewise.
57155         * modules/stdbool (stdbool.h): Likewise.
57156         * modules/stdint (stdint.h): Likewise.
57157         * modules/sys_select (sys/select.h): Likewise.
57158         * modules/sys_socket (sys/socket.h): Likewise.
57159         * modules/sys_stat (sys/stat.h): Likewise.
57160         * modules/sysexits (sysexits.h): Likewise.
57161         * modules/unistd (unistd.h): Likewise.
57162         * gnulib-tool (func_emit_lib_Makefile_am, func_emit_tests_Makefile_am):
57163         Add a "DO NOT EDIT" comment to the generated file.
57164         (func_import): Likewise for gnulib-comp.m4.
57165
57166 2006-10-07  Bruno Haible  <bruno@clisp.org>
57167
57168         * lib/gl_sublist.h: New file.
57169         * lib/gl_sublist.c: New file.
57170
57171 2006-10-06  Paul Eggert  <eggert@cs.ucla.edu>
57172
57173         * lib/mkancesdirs.c (mkancesdirs): Pass to MAKE_DIR both the full file
57174         name (relative to the original working directory) and the file
57175         name component (relative to the temporary working directory).  All
57176         callers changed.
57177         * lib/mkancesdirs.h (mkancesdirs): Adjust prototype to match.
57178         * lib/mkdir-p.c (make_dir_parents): Likewise.
57179         * lib/mkdir-p.h (make_dir_parents): Likewise.
57180
57181 2006-10-06  Eric Blake  <ebb9@byu.net>
57182
57183         Define several macros for use by the clean-temp module.
57184         * m4/close-stream.m4 (gl_CLOSE_STREAM): Define GNULIB_CLOSE_STREAM.
57185         * m4/fcntl-safer.m4 (gl_FCNTL_SAFER): Define GNULIB_FCNTL_SAFER.
57186         * m4/stdio-safer.m4 (gl_FOPEN_SAFER): Define GNULIB_FOPEN_SAFER.
57187
57188         * lib/clean-temp.h (close_stream_temp): New declaration.
57189         * lib/clean-temp.c (includes): Pull in headers according to what
57190         other modules are in use.
57191         (close_stream_temp) [GNULIB_CLOSE_STREAM]: New function.
57192
57193 2006-10-06  Bruno Haible  <bruno@clisp.org>
57194
57195         * lib/javacomp.c (write_temp_file): Use fopen_temp, fwriteerror_temp
57196         instead of fopen, fwriteerror.
57197
57198 2006-10-06  Bruno Haible  <bruno@clisp.org>
57199
57200         * lib/clean-temp.h (cleanup_temp_file, cleanup_temp_subdir,
57201         cleanup_temp_dir_contents, cleanup_temp_dir): Change return type to
57202         int.
57203         * lib/clean-temp.c (do_unlink, do_rmdir, cleanup_temp_file,
57204         cleanup_temp_subdir, cleanup_temp_dir_contents, cleanup_temp_dir):
57205         Return an error indicator.
57206         Suggested by Eric Blake.
57207
57208 2006-10-06  Bruno Haible  <bruno@clisp.org>
57209
57210         * lib/clean-temp.c (PATH_MAX): Provide a fallback for GNU Hurd.
57211         Reported by Eric Blake.
57212
57213 2006-10-06  Bruno Haible  <bruno@clisp.org>
57214
57215         * modules/closeout (Description): Mention stderr too.
57216
57217 2006-10-06  Bruno Haible  <bruno@clisp.org>
57218         and Paul Eggert  <eggert@cs.ucla.edu>
57219
57220         * lib/closeout.c (close_stdout): Also close stderr.
57221         * lib/closeout.h: Update comment.
57222
57223 2006-10-05  Paul Eggert  <eggert@cs.ucla.edu>
57224
57225         Fix some Darwin-7.9.0 porting problems reported by Bruno Haible in
57226         <http://lists.gnu.org/archive/html/bug-coreutils/2006-10/msg00063.html>.
57227         * lib/dirchownmod.c: Include lchown.h.
57228         * lib/lchown.c: Don't include files that lchown.h now includes.
57229         Don't declare chown, since lchown.h now does that.
57230         * lib/lchown.h: Include errno.h, sys/types.h, unistd.h.
57231         (lchown): Define to rpl_chown if lchown is declared but
57232         does not exist.  Declare using a prototype if lchown is not
57233         declared.  Add a copyright notice.
57234         * lib/mkstemp.h: Include <unistd.h>.
57235         * lib/openat.c: Include lchown.h.
57236
57237         * lib/fcntl_.h (O_NOFOLLOW): Don't depend on O_NOFOLLOW_IS_INEFFECTIVE;
57238         we now test for that separately.
57239         * lib/fts.c (fts_safe_changedir): Inspect HAVE_WORKING_O_NOFOLLOW
57240         rather than O_NOFOLLOW, when testing whether it's possible to
57241         avoid a race condition reliably.
57242         * lib/savewd.c (savewd_chdir): Likewise.
57243
57244         Remove macros that are no longer needed now that stdint.h is
57245         reliable.
57246         * lib/fsusage.c (UINTMAX_MAX): Remove.
57247         * lib/human.c (SIZE_MAX, UINTMAX_MAX): Remove.
57248         * lib/utimecmp.c (SIZE_MAX): Remove.
57249
57250         * m4/lchown.m4 (gl_FUNC_LCHOWN): Check whether lchown is declared.
57251
57252         * m4/fcntl_h.m4 (gl_FCNTL_H): Define HAVE_WORKING_O_NOFOLLOW instead
57253         of O_NOFOLLOW_IS_INEFFECTIVE.  Define HAVE_WORKING_O_NOATIME if
57254         O_NOATIME works.
57255
57256 2006-10-05  Bruno Haible  <bruno@clisp.org>
57257
57258         * lib/gl_list.h (gl_sortedlist_search_from_to,
57259         gl_sortedlist_indexof_from_to): New declarations.
57260         (gl_list_implementation): New fields sortedlist_search_from_to,
57261         sortedlist_indexof_from_to.
57262         (gl_sortedlist_search_from_to, gl_sortedlist_indexof_from_to): New
57263         inline functions.
57264         * lib/gl_list.c (gl_sortedlist_search_from_to,
57265         gl_sortedlist_indexof_from_to): New functions.
57266         * lib/gl_array_list.c (gl_array_sortedlist_indexof_from_to): New
57267         function.
57268         (gl_array_sortedlist_indexof, gl_array_sortedlist_search): Use it.
57269         (gl_array_sortedlist_search_from_to): New function.
57270         (gl_array_list_implementation): Update.
57271         * lib/gl_carray_list.c (gl_carray_sortedlist_indexof_from_to): New
57272         function.
57273         (gl_carray_sortedlist_indexof, gl_carray_sortedlist_search): Use it.
57274         (gl_carray_sortedlist_search_from_to): New function.
57275         (gl_carray_list_implementation): Update.
57276         * lib/gl_anylinked_list2.h (gl_linked_sortedlist_search_from_to,
57277         gl_linked_sortedlist_indexof_from_to): New functions.
57278         * lib/gl_linked_list.c (gl_linked_list_implementation): Update.
57279         * lib/gl_linkedhash_list.c (gl_linkedhash_list_implementation): Update.
57280         * lib/gl_anytree_list2.h (gl_tree_sortedlist_search_from_to,
57281         gl_tree_sortedlist_indexof_from_to): New functions.
57282         * lib/gl_avltree_list.c (gl_avltree_list_implementation): Update.
57283         * lib/gl_avltreehash_list.c (gl_avltreehash_list_implementation):
57284         Update.
57285         * lib/gl_rbtree_list.c (gl_rbtree_list_implementation): Update.
57286         * lib/gl_rbtreehash_list.c (gl_avltreehash_list_implementation):
57287         Update.
57288
57289 2006-10-05  Bruno Haible  <bruno@clisp.org>
57290
57291         * lib/gl_list.h (gl_list_search_from, gl_list_search_from_to,
57292         gl_list_indexof_from, gl_list_indexof_from_to): New declarations.
57293         (struct gl_list_implementation): Add fields search_from_to,
57294         indexof_from_to. Remove fields search, indexof.
57295         (gl_list_search): Use the search_from_to method.
57296         (gl_list_search_from, gl_list_search_from_to): New functions.
57297         (gl_list_indexof): Use the indexof_from_to method.
57298         (gl_list_indexof_from, gl_list_indexof_from_to): New functions.
57299         * lib/gl_list.c (gl_list_search): Use the search_from_to method.
57300         (gl_list_search_from, gl_list_search_from_to): New functions.
57301         (gl_list_indexof): Use the indexof_from_to method.
57302         (gl_list_indexof_from, gl_list_indexof_from_to): New functions.
57303         * lib/gl_array_list.c (gl_array_indexof_from_to): Renamed from
57304         gl_array_indexof. Add start_index, end_index arguments.
57305         (gl_array_search_from_to): Renamed from gl_array_search. Add
57306         start_index, end_index arguments.
57307         (gl_array_remove, gl_array_list_implementation): Update.
57308         * lib/gl_carray_list.c (gl_carray_indexof_from_to): Renamed from
57309         gl_carray_indexof. Add start_index, end_index arguments.
57310         (gl_carray_search_from_to): Renamed from gl_carray_search. Add
57311         start_index, end_index arguments.
57312         (gl_carray_remove, gl_carray_list_implementation): Update.
57313         * lib/gl_anylinked_list2.h (gl_linked_search_from_to): Renamed from
57314         gl_linked_search. Add start_index, end_index arguments.
57315         (gl_linked_indexof_from_to): Renamed from gl_linked_indexof. Add
57316         start_index, end_index arguments.
57317         (gl_linked_remove): Update.
57318         * lib/gl_linked_list.c (gl_linked_list_implementation): Update.
57319         * lib/gl_linkedhash_list.c (gl_linkedhash_list_implementation): Update.
57320         * lib/gl_anytree_list1.h (iterstack_item_t): Change type of 'rightp'
57321         field to 'size_t'.
57322         * lib/gl_anytree_list2.h (gl_tree_search_from_to): Renamed from
57323         gl_tree_search. Add start_index, end_index arguments.
57324         (gl_tree_indexof_from_to): Renamed from gl_tree_indexof. Add
57325         start_index, end_index arguments.
57326         (gl_tree_remove): Update.
57327         * lib/gl_avltree_list.c (gl_avltree_list_implementation): Update.
57328         * lib/gl_rbtree_list.c (gl_rbtree_list_implementation): Update.
57329         * lib/gl_anytreehash_list1.h (compare_position_threshold): New
57330         function.
57331         * lib/gl_anytreehash_list2.h (gl_tree_search_from_to): Renamed from
57332         gl_tree_search. Add start_index, end_index arguments.
57333         (gl_tree_indexof_from_to): Renamed from gl_tree_indexof. Add
57334         start_index, end_index arguments.
57335         * lib/gl_avltreehash_list.c (gl_avltreehash_list_implementation):
57336         Update.
57337         * lib/gl_rbtreehash_list.c (gl_rbtreehash_list_implementation): Update.
57338
57339 2006-10-05  Bruno Haible  <bruno@clisp.org>
57340
57341         * modules/fwriteerror (configure.ac): Define GNULIB_FWRITEERROR.
57342
57343         * lib/clean-temp.h (open_temp, fopen_temp, close_temp, fclose_temp,
57344         fwriteerror_temp): New declarations.
57345         * lib/clean-temp.c (uintptr_t): Provide fallback definition.
57346         (descriptors): New variable.
57347         (cleanup): First, close the descriptors.
57348         (register_fd, unregister_fd, open_temp, fopen_temp, close_temp,
57349         fclose_temp, fwriteerror_temp): New functions.
57350
57351 2006-10-04  Jim Meyering  <jim@meyering.net>
57352
57353         * lib/fts.c (fts_open): Tiny comment change.
57354
57355 2006-10-04  Bruno Haible  <bruno@clisp.org>
57356
57357         Make it possible to invoke AC_GNU_SOURCE after gl_LOCK_EARLY.
57358         * m4/lock.m4 (gl_LOCK_EARLY_BODY): New macro, extracted code from
57359         gl_LOCK_BODY.
57360         (gl_LOCK_EARLY): Require gl_LOCK_EARLY_BODY, not gl_LOCK_BODY.
57361         (gl_LOCK_BODY): Remove settings of CPPFLAGS, now done in
57362         gl_LOCK_EARLY_BODY.
57363         (gl_LOCK): Require gl_LOCK_BODY.
57364
57365 2006-10-04  Bruno Haible  <bruno@clisp.org>
57366
57367         * lib/gl_oset.h (gl_setelement_threshold_fn): New type.
57368         (gl_oset_search_atleast): New declaration.
57369         (struct gl_oset_implementation): Add field 'search_atleast'.
57370         (gl_oset_search_atleast): New inline function.
57371         * lib/gl_oset.c (gl_oset_search_atleast): New function.
57372         * lib/gl_array_oset.c (gl_array_search_atleast): New function.
57373         (gl_array_oset_implementation): Update.
57374         * lib/gl_anytree_oset.h (gl_tree_search_atleast): New function.
57375         * lib/gl_avltree_oset.c (gl_avltree_oset_implementation): Update.
57376         * lib/gl_rbtree_oset.c (gl_rbtree_oset_implementation): Update.
57377
57378 2006-10-04  Bruno Haible  <bruno@clisp.org>
57379
57380         * lib/fatal-signal.c (fatal_signals) [WOE32]: Add the SIGBREAK signal.
57381
57382 2006-10-03  Bruno Haible  <bruno@clisp.org>
57383
57384         * lib/gl_rbtreehash_list.c (gl_rbtreehash_list_implementation): Renamed
57385         from gl_avltreehash_list_implementation.
57386
57387 2006-10-03  Bruno Haible  <bruno@clisp.org>
57388
57389         * lib/gl_oset.c (gl_oset_add): Fix return type.
57390
57391 2006-10-02  Paolo Bonzini  <bonzini@gnu.org>  (tiny change)
57392
57393         * lib/quotearg.c (mbstate_t) [!HAVE_MBRTOWC]: #define to int.
57394
57395 2006-10-02  Eric Blake  <ebb9@byu.net>
57396
57397         * modules/strnlen (Depends-on): Add extensions.
57398
57399 2006-10-02  Eric Blake  <ebb9@byu.net>
57400
57401         * m4/extensions.m4 (gl_USE_SYSTEM_EXTENSIONS): Use autoconf's
57402         definition in 2.60+.
57403
57404 2006-10-02  Dmitry V. Levin  <ldv@altlinux.org>
57405
57406         * lib/fts.c (fts_close, fts_build, fts_palloc): Remove redundant
57407         checks.
57408
57409 2006-10-02  Bruno Haible  <bruno@clisp.org>
57410
57411         * gnulib-tool (func_emit_lib_Makefile_am): Don't add no-dependencies
57412         to the AUTOMAKE_OPTIONS.
57413         Reported by Jim Meyering.
57414
57415 2006-09-29  Paul Eggert  <eggert@cs.ucla.edu>
57416
57417         Work around bug in Solaris 10 /proc file system:
57418         /proc/self/fd/NNN/.. isn't the parent directory of
57419         the directory whose file descriptor is NNN.  This needs to
57420         be worked around at run time, not compile time, since a
57421         program might be built on Solaris 8, where things work, and
57422         run on Solaris 10.
57423         * lib/openat-priv.h (BUILD_PROC_NAME): Remove.  All callers changed
57424         to use the following interface instead:
57425         (OPENAT_BUFFER_SIZE): New macro.
57426         (openat_proc_name): New function.
57427         * lib/at-func.c (AT_FUNC_NAME): Adjust to above changes.
57428         * lib/openat.c (openat_permissive, openat_needs_fchdir, fdopendir):
57429         Likewise.
57430         * lib/openat-proc.c: New file.
57431         * modules/openat (Files): Add lib/openat-proc.c.
57432         (Depends-on): Add same-inode, stdbool.
57433         * m4/openat.m4 (gl_FUNC_OPENAT): Add AC_LIBOBJ(openat-proc).
57434
57435 2006-09-29  Bruno Haible  <bruno@clisp.org>
57436
57437         * lib/fwriteerror.h (fwriteerror_no_ebadf): New declaration.
57438         * lib/(do_fwriteerror): Renamed from fwriteerror. Add ignore_ebadf
57439         argument. Set stdout_closed before testing for ferror, not after.
57440         (fwriteerror, fwriteerror_no_ebadf): New functions.
57441
57442 2006-09-28  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
57443
57444         * m4/intmax.m4 (gt_TYPE_INTMAX_T): Avoid unused variables warning.
57445
57446 2006-09-28  Paolo Bonzini  <bonzini@gnu.org>
57447
57448         * lib/poll.c (rpl_poll) [__APPLE__]: Use FIONREAD instead of MSG_PEEK.
57449         * m4/poll.m4: Look for sys/ioctl.h and sys/filio.h.
57450
57451 2006-09-28  Jim Meyering  <jim@meyering.net>
57452
57453         * lib/mkdir-p.c: Include "dirchownmod.h", not "dirchownmod.c".
57454         Include <unistd.h>.
57455
57456 2006-09-28  Bruno Haible  <bruno@clisp.org>
57457
57458         * modules/avltreehash-list (Depends-on): Add stdint, remove size_max.
57459         * modules/linkedhash-list (Depends-on): Likewise.
57460         * modules/rbtreehash-list (Depends-on): Likewise.
57461
57462 2006-09-28  Bruno Haible  <bruno@clisp.org>
57463
57464         * lib/strndup.h: Simplify the redefinition of strndup.
57465         (_GL_CONCAT, _GL_XCONCAT, __STRNDUP_ID): Remove macros.
57466         * m4/strndup.m4 (gl_FUNC_STRNDUP): Don't define __STRNDUP_PREFIX.
57467
57468 2006-09-28  Bruno Haible  <bruno@clisp.org>
57469
57470         * lib/gl_avltreehash_list.c: Include <stdint.h> instead of size_max.h.
57471         * lib/gl_linkedhash_list.c: Likewise.
57472         * lib/gl_rbtreehash_list.c: Likewise.
57473
57474 2006-09-27  Paul Eggert  <eggert@cs.ucla.edu>
57475
57476         * lib/canon-host.c (canon_host_r): Work around bug in Darwin 7.9.0
57477         getaddrinfo.
57478
57479         * lib/__fpending.h: Don't include <stdio_ext.h> unless
57480         HAVE_DECL___FPENDING.  This avoids a bug with lsbcc, where
57481         it causes <stdio_ext.h> to cause a compile-time error.
57482         Problem reported by Nelson H. F. Beebe.
57483         * lib/getpass.c: Likewise, except for HAVE_DECL___FSETLOCKING instead
57484         of HAVE_DECL___PENDING.
57485
57486         * m4/fpending.m4 (gl_FUNC_FPENDING): Check for stdio_ext at most once.
57487         * m4/getpass.m4 (gl_PREREQ_GETPASS): Check for __fsetlocking's
57488         declaration.
57489
57490 2006-09-27  Jim Meyering  <jim@meyering.net>
57491
57492         This file could end up with a definition for a function
57493         named __strndup, rather than rpl_strndup on a system with
57494         incomplete weak_alias support.
57495         * lib/strndup.c (strndup): Rename from __strndup.
57496         Remove #defines that used to map __strndup to strndup.
57497         Don't use K&R prototypes.
57498         Remove LIBC-related code, since this file is not sync'd with glibc.
57499         * lib/strndup.h: Revamp, accordingly.
57500         * m4/strndup.m4: Modernize.
57501
57502 2006-09-26  Paul Eggert  <eggert@cs.ucla.edu>
57503
57504         * modules/savewd (Depends-on): Add 'raise'.
57505         * lib/savewd.c: Include <signal.h>, for 'raise'.
57506
57507 2006-09-26  Jim Meyering  <jim@meyering.net>
57508
57509         * m4/acl.m4 (AC_FUNC_ACL): Disable ACL support altogether
57510         when we detect Darwin 8.7.0's acl_get_file bug.
57511         Rearrange to perform the new (below) run-test while $LIBS
57512         contains any acl-related library.  Set USE_ACL at the end.
57513         (gl_ACL_GET_FILE): New function.
57514
57515 2006-09-26  Eric Blake  <ebb9@byu.net>
57516
57517         * lib/verror.c: Include <config.h> unconditionally.
57518
57519 2006-09-25  Paul Eggert  <eggert@cs.ucla.edu>
57520
57521         * modules/clock-time (Maintainer): Add self.
57522         * modules/getlogin_r (Depends-on): Add extensions.
57523
57524 2006-09-25  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
57525
57526         * modules/clock-time: New module.
57527         * modules/nanosleep (Depends-on): Add clock-time.
57528         * modules/gethrxtime (Depends-on): Likewise.
57529         * modules/gettime (Depends-on): Likewise.
57530         * modules/settime (Depends-on): Likewise.
57531
57532         * modules/fts-lgpl: Depend on openat.
57533         * modules/mkancesdirs: Depend on savewd.
57534         * modules/mkdir-p: Likewise.
57535
57536 2006-09-25  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
57537
57538         * m4/host-os.m4 (gl_HOST_OS): Require AC_CANONICAL_HOST.
57539
57540         * m4/chdir-long.m4 (gl_FUNC_CHDIR_LONG): Rename cache variable from
57541         `gl_have_arbitrary_file_name_length_limit' to
57542         `gl_cv_have_arbitrary_file_name_length_limit', so that caching
57543         actually works between configure runs.
57544
57545 2006-09-25  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
57546             Bruno Haible  <bruno@clisp.org>
57547
57548         * m4/stpncpy.m4 (gl_FUNC_STPNCPY): Include <string.h>.
57549
57550 2006-09-25  Jim Meyering  <jim@meyering.net>
57551
57552         * m4/fcntl_h.m4 (gl_FCNTL_H): Fix typo in test for failed open.
57553         This typo caused coreutils/tests/dd/misc to fail on Darwin 8.7.0.
57554
57555 2006-09-25  Eric Blake  <ebb9@byu.net>
57556
57557         * gnulib-tool (func_import, func_create_testdir): Fix typos in
57558         exec's in 2006-09-18 patch when shuffling fds.
57559
57560 2006-09-25  Bruno Haible  <bruno@clisp.org>
57561
57562         * m4/getloadavg.m4 (gl_GETLOADAVG): Fix directory in error message.
57563         Reported by Jim Meyering.
57564
57565 2006-09-24  Jim Meyering  <jim@meyering.net>
57566
57567         * m4/ls-mntd-fs.m4 (gl_LIST_MOUNTED_FILE_SYSTEMS): Don't use '>' to
57568         compare a pointer against a literal "0".  That caused failures with
57569         at least HP-UX's hpcc.
57570
57571 2006-09-22  Simon Josefsson  <jas@extundo.com>
57572
57573         * modules/gc-sha1:
57574         * modules/gc-md4:
57575         * modules/gc-hmac-sha1:
57576         * modules/gc-hmac-md5:
57577         * modules/gc-des:
57578         * modules/gc-arcfour: Distribute more files.
57579
57580 2006-09-22  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
57581
57582         * lib/gl_anylinked_list2.h [lint] (gl_linked_iterator)
57583         (gl_linked_iterator_from_to): Initialize struct completely.
57584         * lib/gl_anytree_list2.h [lint] (gl_tree_iterator): Likewise.
57585         (gl_tree_iterator_from_to): Likewise
57586         * lib/gl_anytree_oset.h [lint] (gl_tree_iterator): Likewise.
57587         * lib/gl_array_list.c [lint] (gl_array_iterator)
57588         (gl_array_iterator_from_to): Likewise.
57589         * lib/gl_array_oset.c [lint] (gl_array_iterator): Likewise.
57590         * lib/gl_carray_list.c [lint] (gl_carray_iterator)
57591         (gl_carray_iterator_from_to): Likewise.
57592
57593         * lib/gc-gnulib.c [GC_USE_HMAC_SHA1]: include hmac.h for hmac_sha1.
57594         * lib/md4.c (md4_process_block): Remove unused variable.
57595         * lib/rijndael-api-fst.c (rijndaelBlockDecrypt): GCC suggests
57596         parentheses for clarity.
57597
57598 2006-09-22  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
57599
57600         * modules/bison-i18n (Depends-on): Add gettext.
57601
57602 2006-09-22  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
57603
57604         * m4/fsusage.m4 (gl_STATFS_TRUNCATES): Avoid unused variable.
57605         * m4/getdate.m4 (gl_C_COMPOUND_LITERALS): Likewise.
57606         * m4/jm-winsz1.m4 (gl_HEADER_TIOCGWINSZ_IN_TERMIOS_H): Likewise;
57607         also add missing comma that caused broken test.
57608         * m4/link-follow.m4 (gl_AC_FUNC_LINK_FOLLOWS_SYMLINK): Include
57609         stdlib.h, for `abort'.
57610         * m4/ls-mntd-fs.m4 (gl_LIST_MOUNTED_FILE_SYSTEMS): Avoid unused
57611         variables.
57612         * m4/mkdir-slash.m4 (gl_FUNC_MKDIR_TRAILING_SLASH): Check for and
57613         include unistd.h if present, for `rmdir'.
57614         * m4/physmem.m4 (gl_SYS__SYSTEM_CONFIGURATION): Avoid unused
57615         variables.
57616         * m4/putenv.m4 (gl_FUNC_PUTENV): Rewrite using AC_RUN_IFELSE, and
57617         in the process include standard headers for prototypes.
57618         * m4/readutmp.m4 (gl_READUTMP): Require AC_GNU_SOURCE, so utmpxname
57619         gets declared on GNU/Linux.
57620         * m4/rmdir-errno.m4 (gl_FUNC_RMDIR_NOTEMPTY): Check for and include
57621         unistd.h, for `rmdir'.
57622         * m4/time_r.m4 (gl_TIME_R): Avoid unused variables.
57623
57624         * m4/fnmatch.m4 (_AC_FUNC_FNMATCH_IF): Avoid expression that is
57625         always true.
57626         * m4/strndup.m4 (gl_FUNC_STRNDUP): include stdlib.h, for `free'.
57627
57628         * m4/sockpfaf.m4 (gl_SOCKET_FAMILIES): Avoid gcc -Wall warnings.
57629
57630 2006-09-22  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
57631
57632         * gnulib-tool (func_version): Create output all at once.  This
57633         may help avoid triggering unnecessary SIGPIPEs, and at any
57634         rate it doesn't hurt.
57635
57636 2006-09-22  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
57637             Bruno Haible  <bruno@clisp.org>
57638
57639         * m4/lock.m4 (gl_LOCK_BODY): Avoid unused variables warning.
57640         * m4/mbswidth.m4 (gl_MBSWIDTH): Likewise.
57641         * m4/signed.m4 (bh_C_SIGNED): Likewise.
57642
57643         * m4/vasprintf.m4 (gl_PREREQ_VASPRINTF_H): New macro.
57644         (gl_FUNC_VASPRINTF): Invoke it.
57645
57646 2006-09-22  Bruno Haible  <bruno@clisp.org>
57647
57648         * m4/getloadavg.m4 (gl_GETLOADAVG): Expect the directory of
57649         getloadavg.c as first argument.
57650
57651 2006-09-22  Bruno Haible  <bruno@clisp.org>
57652
57653         * gnulib-tool (func_import, func_create_testdir): Set gl_source_base
57654         at the beginning of the gl_INIT macro.
57655         * modules/getloadavg (configure.ac): Pass $gl_source_base to
57656         gl_GETLOADAVG.
57657
57658 2006-09-22  Bruno Haible  <bruno@clisp.org>
57659
57660         * gnulib-tool (func_create_megatestdir): Don't include the config-h
57661         module.
57662         Suggested by Ralf Wildenhues.
57663
57664 2006-09-20  Paul Eggert  <eggert@cs.ucla.edu>
57665
57666         Import this patch from libc:
57667
57668         2006-09-06  Jakub Jelinek  <jakub@redhat.com>
57669
57670         * lib/regex_internal.c (re_string_reconstruct): Handle
57671         offset < pstr->valid_raw_len && pstr->offsets_needed case.
57672         Ensure no bytes read before raw_mbs array.  Pass a saved copy of
57673         pstr->valid_len - 1 rather than pstr->valid_raw_len - 1 to
57674         re_string_context_at.
57675
57676         * m4/regex.m4 (gl_REGEX): Check for locale.h, since the test
57677         now requires it.
57678         (gl_PREREQ_REGEX): Don't check for locale.h any more, since
57679         gl_REGEX now does it for us.
57680         (gl_REGEX): Add test taken from
57681         http://sourceware.org/ml/libc-hacker/2006-09/msg00008.html.
57682
57683         * m4/mkstemp.m4 (gl_FUNC_MKSTEMP): Require AC_SYS_LARGEFILE.
57684         Check that large offsets work.  Modernize Autoconf usages.
57685         Prefer "yes" to mean a good thing rather than a bad.
57686         Don't put "#define mkstemp" in config.h, as this might interfere
57687         with standard system headers that "#define mkstemp mkstemp64".
57688
57689         * modules/mkstemp (Depends-on): Add extensions, so that
57690         mkstemp is visible on some platforms.
57691         (Makefile.am): Add mkstemp.h to EXTRA_DIST.
57692         (Include): Change to "mkstemp.h" from <stdlib.h>.
57693         (Files): Add mkstemp.h.
57694
57695         * lib/mkstemp.h: New file, since some standard headers
57696         #define mkstemp.
57697         * lib/mkstemp.c: Revamp to put the !_LIBC code together.
57698         Include "mkstemp.h".
57699         Make the _LIBC code resemble glibc original more,
57700         e.g., use K&R style.
57701         * lib/mkstemp-safer.c: Include "mkstemp.h" instead of <stdlib.h>.
57702         (mkstemp): Remove, since mkstemp.h does this for us.
57703         * lib/stdlib--.h: Include mkstemp.h.
57704
57705         Import this patch from libc:
57706
57707         2006-04-07  Ulrich Drepper  <drepper@redhat.com>
57708
57709         * lib/tempname.c (__gen_tempname): Change attempts_min
57710         into a macro.  Use preprocessor to decide how to initialize
57711         attempts [Coverity CID 67].
57712
57713 2006-09-20  Bruno Haible  <bruno@clisp.org>
57714
57715         * lib/mkdtemp.c: Import from libc.
57716         2006-04-07  Ulrich Drepper  <drepper@redhat.com>
57717                 * sysdeps/posix/tempname.c (__gen_tempname): Change
57718                 attempts_min into a macro.  Use preprocessor to decide how to
57719                 initialize attempts [Coverity CID 67].
57720         2001-11-27  Paul Eggert  <eggert@twinsun.com>
57721                 * sysdeps/posix/tempname.c (__gen_tempname): Try at least
57722                 ATTEMPTS_MIN or TMP_MAX times, whichever is greater.
57723
57724 2006-09-19  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
57725
57726         * gnulib-tool (func_exit): New function, to allow to pass the
57727         exit status portably through the trap.  Use everywhere.
57728         (--help, --version): Signal a write error.
57729         (trap): catch SIGPIPE, for write errors.
57730         Exit at the end of the trap, with the correct exit status.
57731
57732 2006-09-19  Karl Berry  <karl@gnu.org>
57733
57734         * doc/gnulib.texi: note about the license texinfo files.
57735
57736 2006-09-19  Eric Blake  <ebb9@byu.net>
57737
57738         * gnulib-tool: Avoid space-tab.
57739
57740 2006-09-18  Paul Eggert  <eggert@cs.ucla.edu>
57741
57742         * lib/getaddrinfo.c (getaddrinfo) [defined HAVE_IPV6]: Fix typo
57743         that prevented coreutils 6.1 from building.  Problem reported
57744         by Petter Reinholdtsen.
57745
57746 2006-09-18  Paul Eggert  <eggert@cs.ucla.edu>
57747
57748         * gnulib-tool (avoidlist): Fix typo that broke options like
57749         --avoid=lock that are used by coreutils bootstrap.
57750
57751 2006-09-18  Mark D. Baushke  <mdb@gnu.org>
57752
57753         * m4/inttypes.m4 (gl_INTTYPES_H): Quote "test" args
57754         more systematically.
57755
57756 2006-09-18  Jim Meyering  <jim@meyering.net>
57757
57758         * lib/savewd.c (savewd_restore): Don't shadow: s/status/child_status/.
57759
57760 2006-09-18  Bruno Haible  <bruno@clisp.org>
57761
57762         * modules/inttypes (Files): Remove m4/inttypes-h.m4.
57763
57764 2006-09-18  Bruno Haible  <bruno@clisp.org>
57765
57766         * m4/inttypes-h.m4 (gl_HEADER_INTTYPES_H): Remove macro.
57767         * m4/inttypes-pri.m4: Require autoconf >= 2.52.
57768         (gt_INTTYPES_PRI): Invoke AC_CHECK_HEADERS on inttypes.h. Test
57769         ac_cv_header_inttypes_h instead of gl_cv_header_inttypes_h.
57770         * m4/gettext.m4: Require autoconf >= 2.52.
57771         (gt_INTL_SUBDIR_CORE): Invoke AC_CHECK_HEADERS on inttypes.h.
57772         * m4/inttypes.m4 (gl_INTTYPES_H): Test ac_cv_header_inttypes_h instead
57773         of gl_cv_header_inttypes_h.
57774
57775 2006-09-18  Bruno Haible  <bruno@clisp.org>
57776
57777         * lib/javaversion.c: Include configmake.h.
57778
57779 2006-09-18  Bruno Haible  <bruno@clisp.org>
57780
57781         * gnulib-tool (func_import, func_create_testdir): Use exec tricks to
57782         avoid that the while loops be executed in a subshell.
57783
57784 2006-09-18  Bruno Haible  <bruno@clisp.org>
57785
57786         * MODULES.html.sh (func_module): Break long lines.
57787         Suggested by Bruce Korb <bkorb@gnu.org>.
57788
57789 2006-09-17  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
57790
57791         Speed up by a factor of 1.12.
57792         * gnulib-tool (nl): New variable.
57793         (func_import): Rewrite include directive extraction to only read each
57794         directive once.
57795
57796 2006-09-17  Bruno Haible  <bruno@clisp.org>
57797
57798         * modules/javaversion (Makefile.am): Remove DEFS setting.
57799         (Depends-on): Add configmake, for PKGDATADIR definition.
57800
57801 2006-09-17  Bruno Haible  <bruno@clisp.org>
57802
57803         * gnulib-tool (func_create_testdir): Rewrite all files at once.
57804
57805 2006-09-17  Bruno Haible  <bruno@clisp.org>
57806
57807         * gnulib-tool (func_append): New function, stolen from libtool.m4.
57808         (func_modules_transitive_closure, func_modules_add_dummy,
57809         func_modules_to_filelist, func_import, func_create_testdir,
57810         func_create_megatestdir, ...): Use it wherever possible.
57811         Suggested by Ralf Wildenhues.
57812
57813 2006-09-16  Karl Berry  <karl@gnu.org>
57814
57815         * doc/fdl.texi (ADDENDUM): switch to @heading from @appendixsubsec,
57816         to avoid sectioning errors.
57817         * doc/lgpl.texi, gpl.texi (Copying): downcase @unnumbered title.
57818         [ifinfo]: blank line after @center-ed titles.
57819         * doc/lgpl.texi (Library Copying): Rename main node to GNU LGPL.
57820         Spell FSF address consistently with others.
57821         (These changes approved by rms.)
57822
57823 2006-09-15  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
57824
57825         Speed up by a factor of 1.61.
57826         * gnulib-tool (func_modules_transitive_closure): Rewrite to not check
57827         already checked module names again.
57828
57829 2006-09-15  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
57830
57831         Speed up by a factor of 1.13.
57832         * gnulib-tool (func_import): Rewrite all old_files at once; likewise
57833         for new_files, and the input to func_add_or_update.
57834
57835 2006-09-15  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
57836
57837         * gnulib-tool (func_all_modules, func_modules_to_filelist, func_import,
57838         func_create_testdir, ...): Change 'sort | uniq' to 'sort -u'.
57839
57840 2006-09-15  Paul Eggert  <eggert@cs.ucla.edu>
57841
57842         * modules/mkancesdirs (Depends-on): Add fcntl.
57843         * modules/savewd: New file.
57844         * MODULES.html.sh (File system functions): Add savewd.
57845
57846         * modules/configmake (Makefile.am): Add support for the
57847         Automake-supplied PKGLIBDIR, PKGINCLUDEDIR, PKGDATADIR.
57848
57849 2006-09-15  Paul Eggert  <eggert@cs.ucla.edu>
57850
57851         * m4/savewd.m4: New file.
57852
57853 2006-09-15  Paul Eggert  <eggert@cs.ucla.edu>
57854
57855         * lib/dirchownmod.c: Don't include fcntl.h; no longer needed.
57856         (dirchownmod): New arg FD.  All callers changed.
57857         Use FD rather than opening the directory ourself, as opening is
57858         now the caller's responsibility.
57859         * lib/dirchownmod.h: Likewise.
57860         * lib/mkancesdirs.c: Include <sys/types.h>, for portability to older
57861         hosts that require <sys/types.h> before <sys/stat.h>.  Include
57862         fcntl.h, savewd.h, and unistd.h, not dirname.h and stat-macros.h.
57863         (test_dir): Remove.
57864         (mkancesdirs): Return length of prefix of FILE that has already
57865         been made, or -2 if there is a child doing the work.  Redo
57866         algorithm so that it is O(N) rather than O(N**2).  Optimize away
57867         ".", and treat ".." specially since it might stray back into
57868         already-created areas.  Use a subprocess if necessary.  New arg
57869         WD; all users changed.  MAKE_DIR function should now return 1
57870         if it creates a directory that is not readable.  Return -2 if
57871         a child process is spun off.
57872         * lib/mkancesdirs.h: Include <stddef.h>, for ptrdiff_t.
57873         Adjust signature to match code.
57874         * lib/mkdir-p.c: Include dirname.h, for IS_ABSOLUTE_FILE_NAME.
57875         (make_dir_parents): Use a subprocess if necessary.  New arg WD;
57876         all users changed.
57877         * lib/savewd.c, lib/savewd.h: New files.
57878
57879 2006-09-15  Jim Meyering  <jim@meyering.net>
57880
57881         * modules/rename-dest-slash: New module.
57882         * MODULES.html.sh (posix_compat): Add it here.
57883
57884         * modules/rename: Reflect vb_FUNC_RENAME -> gl_FUNC_RENAME change.
57885
57886 2006-09-15  Jim Meyering  <jim@meyering.net>
57887
57888         * m4/rename-dest-slash.m4 (gl_FUNC_RENAME_TRAILING_DEST_SLASH): New
57889         file.
57890
57891         * m4/rename.m4 (gl_FUNC_RENAME): Rename from vb_FUNC_RENAME.
57892
57893 2006-09-15  Jim Meyering  <jim@meyering.net>
57894
57895         * lib/rename-dest-slash.c (has_trailing_slash): Use
57896         FILE_SYSTEM_PREFIX_LEN, for non-POSIX systems.
57897         (rpl_rename_dest_slash): Perform the cheaper trailing slash
57898         test before testing whether SRC is a directory.
57899         Suggestions from Bruno Haible.
57900
57901         Avoid a warning about an unused variable.
57902         * lib/regex_internal.c (re_dfa_add_node): Move declaration of "type"
57903         into the #ifdef block where it's used.
57904
57905         * lib/rename-dest-slash.c: New file.
57906
57907 2006-09-14  Bruno Haible  <bruno@clisp.org>
57908
57909         * lib/allocsa.c: Include <config.h> unconditionally.
57910         * lib/asnprintf.c: Likewise.
57911         * lib/asprintf.c: Likewise.
57912         * lib/c-strcasecmp.c: Likewise.
57913         * lib/c-strcasestr.c: Likewise.
57914         * lib/c-strncasecmp.c: Likewise.
57915         * lib/c-strstr.c: Likewise.
57916         * lib/classpath.c: Likewise.
57917         * lib/clean-temp.c: Likewise.
57918         * lib/concatpath.c: Likewise.
57919         * lib/copy-file.c: Likewise.
57920         * lib/csharpcomp.c: Likewise.
57921         * lib/csharpexec.c: Likewise.
57922         * lib/execute.c: Likewise.
57923         * lib/fatal-signal.c: Likewise.
57924         * lib/findprog.c: Likewise.
57925         * lib/fwriteerror.c: Likewise.
57926         * lib/gl_array_list.c: Likewise.
57927         * lib/gl_array_oset.c: Likewise.
57928         * lib/gl_avltree_list.c: Likewise.
57929         * lib/gl_avltree_oset.c: Likewise.
57930         * lib/gl_avltreehash_list.c: Likewise.
57931         * lib/gl_carray_list.c: Likewise.
57932         * lib/gl_linked_list.c: Likewise.
57933         * lib/gl_linkedhash_list.c: Likewise.
57934         * lib/gl_list.c: Likewise.
57935         * lib/gl_oset.c: Likewise.
57936         * lib/gl_rbtree_list.c: Likewise.
57937         * lib/gl_rbtree_oset.c: Likewise.
57938         * lib/gl_rbtreehash_list.c: Likewise.
57939         * lib/imaxabs.c: Likewise.
57940         * lib/imaxdiv.c: Likewise.
57941         * lib/javacomp.c: Likewise.
57942         * lib/javaexec.c: Likewise.
57943         * lib/javaversion.c: Likewise.
57944         * lib/linebreak.c: Likewise.
57945         * lib/localcharset.c: Likewise.
57946         * lib/lock.c: Likewise.
57947         * lib/mbchar.c: Likewise.
57948         * lib/mbswidth.c: Likewise.
57949         * lib/mkdtemp.c: Likewise.
57950         * lib/pipe.c: Likewise.
57951         * lib/printf-args.c: Likewise.
57952         * lib/printf-parse.c: Likewise.
57953         * lib/progname.c: Likewise.
57954         * lib/progreloc.c: Likewise.
57955         * lib/readlink.c: Likewise.
57956         * lib/sh-quote.c: Likewise.
57957         * lib/stpcpy.c: Likewise.
57958         * lib/stpncpy.c: Likewise.
57959         * lib/strcasecmp.c: Likewise.
57960         * lib/strcasestr.c: Likewise.
57961         * lib/strcspn.c: Likewise.
57962         * lib/striconv.c: Likewise.
57963         * lib/strncasecmp.c: Likewise.
57964         * lib/strnlen1.c: Likewise.
57965         * lib/strstr.c: Likewise.
57966         * lib/strtok_r.c: Likewise.
57967         * lib/tls.c: Likewise.
57968         * lib/tmpdir.c: Likewise.
57969         * lib/unicodeio.c: Likewise.
57970         * lib/unsetenv.c: Likewise.
57971         * lib/vasnprintf.c: Likewise.
57972         * lib/vasprintf.c: Likewise.
57973         * lib/wait-process.c: Likewise.
57974         * lib/xallocsa.c: Likewise.
57975         * lib/xsetenv.c: Likewise.
57976         * lib/xstriconv.c: Likewise.
57977
57978 2006-09-13  Simon Josefsson  <jas@extundo.com>
57979
57980         * m4/getdate.m4: Don't AC_LIBOBJ([getdate]), automake takes care of
57981         that internally, suggested by Ralf Wildenhues
57982         <Ralf.Wildenhues@gmx.de>.
57983
57984 2006-09-13  Simon Josefsson  <jas@extundo.com>
57985
57986         * gnulib-tool (func_emit_lib_Makefile_am): Use $(LIBOBJS), not
57987         @LIBOBJS@.
57988         Suggested by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
57989
57990 2006-09-13  Paul Eggert  <eggert@cs.ucla.edu>
57991
57992         * lib/_fpending.c: Include <config.h> unconditionally, since we no
57993         longer worry about uses that don't define HAVE_CONFIG_H.
57994         * lib/acl.c, lib/alloca.c, lib/argmatch.c, lib/atexit.c:
57995         * lib/backupfile.c, lib/basename.c, lib/c-stack.c, lib/c-strtod.c:
57996         * lib/calloc.c,lib/ canon-host.c, lib/canonicalize.c, lib/chdir-long.c:
57997         * lib/chdir-safer.c, lib/chown.c, lib/cloexec.c, lib/close-stream.c:
57998         * lib/closeout.c, lib/creat-safer.c, lib/cycle-check.c, lib/diacrit.c:
57999         * lib/dirchownmod.c, lib/dirfd.c, lib/dirname.c, lib/dup-safer.c:
58000         * lib/dup2.c, lib/error.c, lib/euidaccess.c, lib/exclude.c:
58001         * lib/exitfail.c, lib/fchmodat.c, lib/fchown-stub.c, lib/fd-safer.c:
58002         * lib/file-type.c, lib/fileblocks.c, lib/filemode.c, lib/filenamecat.c:
58003         * lib/fnmatch.c, lib/fopen-safer.c, lib/fprintftime.c, lib/free.c:
58004         * lib/fsusage.c, lib/ftruncate.c, lib/fts-cycle.c, lib/fts.c:
58005         * lib/full-write.c, lib/gai_strerror.c, lib/getcwd.c, lib/getdate.y:
58006         * lib/getdomainname.c, lib/getgroups.c, lib/gethostname.c:
58007         * lib/gethrxtime.c, lib/getloadavg.c, lib/getlogin_r.c:
58008         * lib/getndelim2.c, lib/getnline.c, lib/getopt.c, lib/getopt1.c:
58009         * lib/getpass.c, lib/gettime.c, lib/gettimeofday.c, lib/getugroups.c:
58010         * lib/getusershell.c, lib/glob.c, lib/group-member.c:
58011         * lib/hard-locale.c, lib/hash-pjw.c, lib/hash.c, lib/human.c:
58012         * lib/idcache.c, lib/inet_ntop.c, lib/inet_pton.c, lib/inttostr.c:
58013         * lib/isdir.c, lib/lchown.c, lib/linebuffer.c, lib/long-options.c:
58014         * lib/lstat.c, lib/malloc.c, lib/md5.c, lib/memcasecmp.c, lib/memchr.c:
58015         * lib/memcmp.c, lib/memcoll.c, lib/memcpy.c, lib/memmove.c:
58016         * lib/memrchr.c, lib/mkancesdirs.c, lib/mkdir-p.c, lib/mkdir.c:
58017         * lib/mkdirat.c, lib/mkstemp-safer.c, lib/mkstemp.c, lib/modechange.c:
58018         * lib/mountlist.c, lib/nanosleep.c, lib/obstack.c, lib/open-safer.c:
58019         * lib/openat-die.c, lib/openat.c, lib/pagealign_alloc.c, lib/physmem.c:
58020         * lib/pipe-safer.c, lib/posixtm.c, lib/posixver.c, lib/putenv.c:
58021         * lib/quote.c, lib/quotearg.c, lib/raise.c, lib/readtokens.c:
58022         * lib/readtokens0.c, lib/readutmp.c, lib/realloc.c, lib/regex.c:
58023         * lib/rename.c, lib/rmdir.c, lib/rpmatch.c, lib/safe-read.c:
58024         * lib/same.c, lib/save-cwd.c, lib/savedir.c, lib/setenv.c:
58025         * lib/settime.c, lib/sha1.c, lib/sig2str.c, lib/snprintf.c:
58026         * lib/strdup.c, lib/strerror.c, lib/strftime.c, lib/stripslash.c:
58027         * lib/strndup.c, lib/strnlen.c, lib/strpbrk.c, lib/strtod.c:
58028         * lib/strtoimax.c, lib/strtol.c, lib/strverscmp.c, lib/tempname.c:
58029         * lib/time_r.c, lib/timegm.c, lib/tmpfile-safer.c, lib/unlinkdir.c:
58030         * lib/userspec.c, lib/utime.c, lib/utimecmp.c, lib/utimens.c:
58031         * lib/version-etc-fsf.c, lib/version-etc.c, lib/xalloc-die.c:
58032         * lib/xgetcwd.c, lib/xgethostname.c, lib/xmalloc.c, lib/xmemcoll.c:
58033         * lib/xnanosleep.c, lib/xreadlink.c, lib/xstrtod.c, lib/xstrtoimax.c:
58034         * lib/xstrtol.c, lib/xstrtoumax.c, lib/yesno.c:
58035         Likewise.
58036
58037 2006-09-13  Eric Blake  <ebb9@byu.net>
58038
58039         * lib/getopt.c: Fix typo in last commit.
58040
58041 2006-09-12  Sergey Poznyakoff  <gray@gnu.org.ua>
58042
58043         * lib/argp-help.c (argp_doc): Make sure NULL is not passed to
58044         dgettext.
58045
58046 2006-09-12  Jim Meyering  <jim@meyering.net>
58047
58048         * lib/nanosleep.c: Include <sys/types.h> before sys/select.h, to avoid
58049         compilation failure (due to use of pid_t in latter) on NetBSD 1.6.
58050         Reported by Nelson H. F. Beebe.
58051
58052 2006-09-10  Sergey Poznyakoff  <gray@gnu.org.ua>
58053
58054         * lib/argp-parse.c (__argp_parse) [!_LIBC]: Make sure
58055         program_invocation_name and program_invocation_short_name are
58056         initialized.
58057         * lib/argp-namefrob.h: Move declarations of program_invocation_name
58058         and program_invocation_short_name to argp.h, so they are visible
58059         to user programs.
58060         * lib/argp.h: Likewise
58061
58062 2006-09-10  Bruno Haible  <bruno@clisp.org>
58063
58064         * modules/mkdtemp (Files): Remove m4/ulonglong.m4, m4/stdint_h.m4,
58065         m4/inttypes_h.m4, m4/uintmax_t.m4.
58066
58067 2006-09-10  Bruno Haible  <bruno@clisp.org>
58068
58069         * m4/mkdtemp.m4 (gl_PREREQ_MKDTEMP): Don't require
58070         gl_AC_TYPE_UINTMAX_T.
58071
58072 2006-09-10  Bruno Haible  <bruno@clisp.org>
58073
58074         * lib/mkdtemp.c: Include <stdint.h> always. Don't include <inttypes.h>.
58075
58076 2006-09-09  Sergey Poznyakoff  <gray@gnu.org.ua>
58077
58078         * lib/argp.h (struct argp): Document the N_("..") "\v" N_("..")
58079         convention.  Text proposed by Bruno Haible.
58080         (struct argp_option): Document the use of N_() wrappers.
58081
58082         * lib/argp-help.c (argp_doc): Split the untranslated doc string on
58083         '\v', and translate the two parts separately, instead of feeding
58084         the whole string to gettext.  This allows to exclude
58085         '\v' from the strings visible to the translator by writing doc
58086         strings as N_("..") "\v" N_("..").
58087
58088 2006-09-09  Paul Eggert  <eggert@cs.ucla.edu>
58089
58090         * config/srclist.txt: Undo latest change; the bug was fixed.
58091
58092 2006-09-09  Bruno Haible  <bruno@clisp.org>
58093
58094         * gnulib-tool (func_emit_lib_Makefile_am): Eliminate lib_LDFLAGS
58095         assignments if building a library without libtool.
58096         (func_emit_tests_Makefile_am): Likewise. Handle lib_* variables as
58097         in func_emit_lib_Makefile_am.
58098         (func_import): When building a static library libfoo.a, arrange to
58099         define variables LIBFOO_LIBDEPS and LIBFOO_LTLIBDEPS.
58100         (func_create_testdir): Likewise.
58101         * modules/gc (configure.ac, Makefile.am): If building statically,
58102         augment gl_libdeps and gl_ltlibdeps instead of lib_LDFLAGS.
58103         * modules/iconvme (configure.ac, Makefile.am): Likewise.
58104         * modules/striconv (configure.ac, Makefile.am): Likewise.
58105         Based on a suggestion by Ralf Wildenhues.
58106
58107 2006-09-08  Paul Eggert  <eggert@cs.ucla.edu>
58108
58109         * m4/mktime.m4 (AC_FUNC_MKTIME): Sync from Autoconf.
58110         Check for unistd.h too, since Autoconf doesn't assume POSIX.
58111         Also:
58112
58113         2006-09-08  Paul Eggert  <eggert@cs.ucla.edu>
58114         Add year_2050_test to catch glibc bug 2821
58115         <http://sourceware.org/bugzilla/show_bug.cgi?id=2821>.
58116
58117         2006-08-15  Paul Eggert  <eggert@cs.ucla.edu>
58118         Prefer #ifdef to #if.
58119
58120         2006-04-02  Paul Eggert  <eggert@cs.ucla.edu>
58121         Return from 'main' instead of calling 'exit'.
58122
58123 2006-09-08  Paul Eggert  <eggert@cs.ucla.edu>
58124
58125         * lib/mktime.c (guess_time_tm): Fix bug where mktime
58126         returned the maximum time_t value rather than (time_t) -1.
58127         Problem originally reported by William Bardwell
58128         <http://sourceware.org/bugzilla/show_bug.cgi?id=2821>.
58129
58130         * lib/isapipe.h (HAVE_FIFO_PIPES) [!defined HAVE_FIFO_PIPES]:
58131         Moved to here ...
58132         * lib/isapipe.c (HAVE_FIFO_PIPES) [!defined HAVE_FIFO_PIPES]:
58133         ... from here.
58134
58135 2006-09-08  Paul Eggert  <eggert@cs.ucla.edu>
58136
58137         * config/srclist.txt: Temporarily comment out mktime.c until glibc bug
58138         2821 is fixed.
58139
58140 2006-09-08  Jim Meyering  <jim@meyering.net>
58141
58142         Don't make generated files read-only.  That would bother too many
58143         people.  However, do retain the ability to work when targets are
58144         read-only: remove the destination and temporary files before writing
58145         them (when generated via sed or echo), or by using the -f option for
58146         both cp and mv commands.  Suggestion to use -f from Paul Eggert.
58147         * modules/alloca-opt, modules/argz, modules/arpa_inet:
58148         * modules/byteswap, modules/configmake, modules/fcntl:
58149         * modules/fnmatch, modules/getopt, modules/glob, modules/inttypes:
58150         * modules/localcharset, modules/netinet_in, modules/poll:
58151         * modules/stdbool, modules/stdint, modules/sys_select:
58152         * modules/sys_socket, modules/sys_stat, modules/sysexits:
58153
58154 2006-09-08  Jim Meyering  <jim@meyering.net>
58155
58156         Avoid new build failure on FreeBSD 6.0.
58157         * m4/ls-mntd-fs.m4 (gl_LIST_MOUNTED_FILE_SYSTEMS): Include
58158         <sys/param.h> when testing whether getmntinfo uses statvfs.  Patch by
58159         Pavel Tsekov, in <http://savannah.gnu.org/bugs/?17643>.
58160
58161 2006-09-07  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
58162
58163         * m4/fsusage.m4 (gl_FILE_SYSTEM_USAGE): Don't use plain echo.
58164
58165 2006-09-07  Jim Meyering  <jim@meyering.net>
58166
58167         Fix global typo in last change: use chmod u-w, not chmod u-x.
58168         Spotted by Paul Eggert and Bruce Korb.
58169         * modules/alloca-opt, modules/argz, modules/arpa_inet:
58170         * modules/byteswap, modules/configmake, modules/fcntl:
58171         * modules/fnmatch, modules/getopt, modules/glob, modules/inttypes:
58172         * modules/localcharset, modules/netinet_in, modules/poll:
58173         * modules/stdbool, modules/stdint, modules/sys_select:
58174         * modules/sys_socket, modules/sys_stat, modules/sysexits:
58175
58176 2006-09-06  Jim Meyering  <jim@meyering.net>
58177
58178         Make generated files be read-only.
58179         * modules/alloca-opt (Makefile.am): Work also when $@ is read-only.
58180         Ensure that each generated file is now read-only.
58181         * modules/argz: Likewise.
58182         * modules/arpa_inet: Likewise.
58183         * modules/byteswap: Likewise.
58184         * modules/configmake: Likewise.
58185         * modules/fcntl: Likewise.
58186         * modules/fnmatch: Likewise.
58187         * modules/getopt: Likewise.
58188         * modules/glob: Likewise.
58189         * modules/inttypes: Likewise.
58190         * modules/netinet_in: Likewise.
58191         * modules/poll: Likewise.
58192         * modules/stdbool: Likewise.
58193         * modules/stdint: Likewise.
58194         * modules/sys_select: Likewise.
58195         * modules/sys_socket: Likewise.
58196         * modules/sys_stat: Likewise.
58197         * modules/sysexits: Likewise.
58198         * modules/localcharset: Same as above, but continue using temporary
58199         file named "t-$@" (why different?) rather than the "$@-t" used
58200         everywhere else.
58201
58202         * modules/sysexits (Makefile.am): Replace literal occurrences
58203         of "sysexit.h" more readable, and more consistent, "$@".
58204
58205 2006-09-06  Bruno Haible  <bruno@clisp.org>
58206
58207         * modules/striconv: New file.
58208         * modules/xstriconv: New file.
58209         * MODULES.html.sh (Internationalization functions): Add striconv,
58210         xstriconv.
58211
58212 2006-09-06  Bruno Haible  <bruno@clisp.org>
58213
58214         * modules/gc (Makefile.am): Augment lib_LDFLAGS, not lib_LIBADD.
58215         * modules/iconvme (Makefile.am): Likewise. Also handle the case of
58216         not using libtool correctly.
58217
58218 2006-09-06  Bruno Haible  <bruno@clisp.org>
58219
58220         * lib/striconv.h: New file.
58221         * lib/striconv.c: New file, merging iconvme.c with GNU gettext's
58222         iconvstring.c.
58223         * lib/xstriconv.h: New file.
58224         * lib/xstriconv.c: New file.
58225
58226 2006-09-06  Bruno Haible  <bruno@clisp.org>
58227
58228         * gnulib-tool (func_emit_lib_Makefile_am): Initialize also
58229         lib_..._LDFLAGS.
58230
58231 2006-09-05  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
58232
58233         * lib/argz_.h: Sync from Libtool.
58234
58235         2006-09-04  George Bosilca <bosilca@cs.utk.edu>
58236                 and Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
58237
58238         * lib/libltdl/argz_.h: It's __cplusplus, not _cplusplus.
58239
58240 2006-09-05  Davide Angelocola  <davide.angelocola@tiscali.it>
58241
58242         * modules/trim: New file.
58243
58244 2006-09-05  Davide Angelocola  <davide.angelocola@tiscali.it>
58245
58246         * lib/trim.h: New file.
58247         * lib/trim.c: New file.
58248
58249 2006-09-05  Bruno Haible  <bruno@clisp.org>
58250
58251         * MODULES.html.sh (String handling): Add trim.
58252
58253 2006-09-04  Karl Berry  <karl@gnu.org>
58254
58255         * config/srclist.txt (signed.m4, gettext.m4): changes not propagated
58256         until next release.
58257
58258 2006-09-03  Bruno Haible  <bruno@clisp.org>
58259
58260         * m4/lib-link.m4 (AC_LIB_LINKFLAGS_BODY): Locate mingw shared libraries
58261         correctly.
58262
58263 2006-09-01  Paul Eggert  <eggert@cs.ucla.edu>
58264
58265         * m4/getloadavg.m4 (gl_GETLOADAVG): Use CONFIGURING_GETLOADAVG,
58266         not gl_GETLOADAVG.  Omit unneeded semicolons.
58267         Problems reported by Ralf Wildenhues in
58268         <http://lists.gnu.org/archive/html/bug-gnulib/2006-09/msg00000.html>.
58269         (gl_PREREQ_GETLOADAVG): Use AC_DEFUN, not m4_define.  Put
58270         at the end, which is the usual gnulib style.
58271
58272         * m4/fstypename.m4 (gl_FSTYPENAME): Use AC_CHECK_MEMBERS instead
58273         of doing all the work ourselves.
58274         * m4/fsusage.m4 (gl_PREREQ_FSUSAGE_EXTRA): Don't check for
58275         sys/statvfs.h since the code doesn't use HAVE_SYS_STATVFS_H.
58276
58277 2006-09-01  Paul Eggert  <eggert@cs.ucla.edu>
58278
58279         * lib/getloadavg.c: Use CONFIGURING_GETLOADAVG, not gl_GETLOADAVG.
58280         Problem reported by Ralf Wildenhues in
58281         <http://lists.gnu.org/archive/html/bug-gnulib/2006-09/msg00000.html>.
58282
58283         * lib/mountlist.c: All uses of HAVE_F_FSTYPENAME_IN_STATFS replaced by
58284         HAVE_STRUCT_STATFS_F_FSTYPENAME.
58285
58286 2006-09-01  Paul Eggert  <eggert@cs.ucla.edu>
58287
58288         * gnulib-tool (func_emit_lib_Makefile_am): Fix typos in
58289         yesterday's patch by changing test -n to test -z.
58290
58291 2006-08-31  Paul Eggert  <eggert@cs.ucla.edu>
58292
58293         * modules/getloadavg (Files): Add m4/getloadavg.m4.
58294         (configure.ac): AC_FUNC_GETLOADAVG -> gl_GETLOADAVG, as
58295         the former is now obsolescent.
58296
58297         * modules/chdir-long (Depends-on): Add fcntl.
58298
58299 2006-08-31  Paul Eggert  <eggert@cs.ucla.edu>
58300
58301         * m4/fnmatch.m4: Add comment that Autoconf AC_FUNC_FNMATCH is
58302         obsolescent, and programs should use gnulib instead.
58303         * m4/getloadavg.m4: New file, with contents taken from Autoconf
58304         but with prefixes changed.
58305
58306 2006-08-31  Paul Eggert  <eggert@cs.ucla.edu>
58307
58308         * lib/getloadavg.c [defined gl_GETLOADAVG]: Don't include config.h
58309         or stdbool.h, because they might not exist while configuring.
58310
58311         * lib/chdir-long.c: Include <fcntl.h>, for O_DIRECTORY.
58312         Don't include unistd.h or limits.h; not needed, since chdir-long.h
58313         does that for us.
58314         (O_DIRECTORY): Remove.
58315
58316 2006-08-31  Eric Blake  <ebb9@byu.net>
58317
58318         * gnulib-tool: Don't let emacs change spaces to TAB.
58319
58320 2006-08-31  Bruno Haible  <bruno@clisp.org>
58321
58322         * gnulib-tool: When calling func_import more than once, do it in a
58323         subshell.
58324         Reported by Eric Blake <ebb9@byu.net>.
58325
58326 2006-08-31  Bruno Haible  <bruno@clisp.org>
58327
58328         * gnulib-tool (nl): Remove variable.
58329         (sed_transform_lib_file): Use more robust test for config-h module.
58330         (func_import): Fix typo in 2006-08-25 patch.
58331
58332 2006-08-31  Bruno Haible  <bruno@clisp.org>
58333
58334         * gnulib-tool (func_emit_lib_Makefile_am): When --makefile-name was
58335         specified, augment Makefile.am variables instead of assigning them.
58336
58337 2006-08-30  Paul Eggert  <eggert@cs.ucla.edu>
58338
58339         Work around a bug in both the Linux and SunOS 64-bit kernels:
58340         nanosleep mishandles sleeps for longer than 2**31 seconds.
58341         Problem reported by Frank v Waveren in
58342         <http://lists.gnu.org/archive/html/bug-coreutils/2006-08/msg00298.html>.
58343         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP): Require gl_CLOCK_TIME.
58344         Check for nanosleep bug.
58345         (LIB_NANOSLEEP): Append clock_gettime library if needed.
58346
58347 2006-08-30  Paul Eggert  <eggert@cs.ucla.edu>
58348
58349         Work around a bug in both the Linux and SunOS 64-bit kernels:
58350         nanosleep mishandles sleeps for longer than 2**31 seconds.
58351         Problem reported by Frank v Waveren in
58352         <http://lists.gnu.org/archive/html/bug-coreutils/2006-08/msg00298.html>.
58353         * lib/nanosleep.c (BILLION): New constant.
58354         (getnow) [HAVE_BUG_BIG_NANOSLEEP]: New functions.
58355         (rpl_nanosleep) [HAVE_BUG_BIG_NANOSLEEP]: Completely new
58356         implementation.
58357
58358 2006-08-30  Paul Eggert  <eggert@cs.ucla.edu>
58359
58360         * modules/nanosleep (Depends-on): Add gettime.
58361
58362 2006-08-30  Paul Eggert  <eggert@cs.ucla.edu>
58363         and Simon Josefsson  <jas@extundo.com>
58364         and Oskar Liljeblad  <oskar@osk.mine.nu>
58365
58366         * MODULES.html.sh (Support for building documentation): Add gpl, lgpl.
58367         * gnulib-tool (func_import): New license type 'unmodifiable license
58368         text'.
58369         * modules/fdl: Use it.  Longer description.
58370         * module/gpl, module/lgpl: New files.
58371
58372 2006-08-30  Jim Meyering  <jim@meyering.net>
58373
58374         * lib/isapipe.c (isapipe): Rename local s/fd/fd_pair/ to avoid
58375         shadowing the parameter.
58376
58377 2006-08-29  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
58378
58379         Sync from Libtool:
58380
58381         2006-08-28  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
58382
58383         * lib/libltdl/argz.c: Use `#ifdef HAVE_CONFIG_H', to facilitate code
58384         sharing with gnulib.  Report by Eric Blake.
58385
58386 2006-08-29  Paul Eggert  <eggert@cs.ucla.edu>
58387
58388         * modules/isapipe: New file.
58389         * MODULES.html.sh (File descriptor based Input/Output): Add isapipe.
58390
58391 2006-08-29  Paul Eggert  <eggert@cs.ucla.edu>
58392
58393         * modules/configmake (Makefile.am): Add a comment, and omit
58394         the CONFIGMAKE_ prefix from generated macro names.  Suggested
58395         by Bruno Haible.
58396
58397 2006-08-29  Paul Eggert  <eggert@cs.ucla.edu>
58398
58399         * m4/isapipe.m4: New file.
58400
58401 2006-08-29  Paul Eggert  <eggert@cs.ucla.edu>
58402
58403         * lib/isapipe.c, lib/isapipe.h: New files.
58404
58405 2006-08-29  Jim Meyering  <jim@meyering.net>
58406
58407         * modules/configmake (Makefile.am): Make configmake.h depend on
58408         Makefile.  Otherwise, a stale configmake.h could hang around.
58409
58410 2006-08-29  Eric Blake  <ebb9@byu.net>
58411
58412         * lib/error.c (error_at_line, print_errno_message): Match libc, after
58413         resolution of upstream bug 3044.
58414
58415 2006-08-29  Bruno Haible  <bruno@clisp.org>
58416
58417         * modules/localcharset (Depends-on): Add configmake.
58418         (Makefile.am): Remove setting of LIBDIR through DEFS.
58419
58420 2006-08-29  Bruno Haible  <bruno@clisp.org>
58421
58422         * lib/localcharset.c: Include configmake.h in order to get LIBDIR
58423         defined.
58424
58425 2006-08-28  Paul Eggert  <eggert@cs.ucla.edu>
58426
58427         * modules/fcntl: New file.
58428         * modules/chdir-safer (Depends-on): Add fcntl.
58429         * modules/fts: Likewise.
58430         * modules/mkdir-p: Likewise.
58431
58432         * modules/stdint (Makefile.am): Do not substitute ABSOLUTE_INTTYPES_H.
58433         This undoes the most recent change, since we're now addressing the
58434         problem in a different way.
58435
58436         * gnulib-tool (emit_lib_Makefile_am): Don't put $makefile_name
58437         into output, since the output might be called Makefile.am even
58438         if $makefile_name is something different.
58439         (func_import): Use $makefile_am rather than
58440         ${makefile_name-Makefile.am}, to fix a bug where makefile_name was
58441         empty.
58442
58443         * modules/inttypes (Files): Add m4/inttypes-h.m4.
58444
58445 2006-08-28  Paul Eggert  <eggert@cs.ucla.edu>
58446
58447         * m4/inttypes.m4 (gl_INTTYPES_H): Move ABSOLUTE_INTTYPES_H code here...
58448         * m4/stdint.m4 (gl_STDINT_H): ... from here.  This undoes the most
58449         recent change to stdint.m4, since we're now addressing the problem in a
58450         different way.
58451
58452 2006-08-28  Paul Eggert  <eggert@cs.ucla.edu>
58453
58454         * m4/fcntl_h.m4: New file.
58455
58456 2006-08-28  Paul Eggert  <eggert@cs.ucla.edu>
58457
58458         * lib/fcntl_.h: New file.
58459         * lib/chdir-safer.c (O_DIRECTORY, O_NOFOLLOW): Remove, now that we have
58460         the fcntl module.
58461         * lib/dirchownmod.c: Likewise.
58462         * lib/fts.c: Likewise.
58463
58464         * lib/inttypes_.h [defined _GL_JUST_INCLUDE_ABSOLUTE_INTTYPES_H]:
58465         Include @ABSOLUTE_INTTYPES_H@ if available, but do nothing else.
58466         * lib/stdint_.h (_GL_JUST_INCLUDE_ABSOLUTE_INTTYPES_H): Define
58467         just before including <inttypes.h>, to avoid circular inclusion.
58468
58469 2006-08-28  Jim Meyering  <jim@meyering.net>
58470
58471         * doc/visibility.texi: Actually read and correct the grammar of the
58472         sentence affected by yesterday's change.
58473
58474 2006-08-28  Eric Blake  <ebb9@byu.net>
58475
58476         * modules/inttypes (Makefile.am): Fix sed error when inttypes.h
58477         needs wrapper.
58478
58479 2006-08-28  Eric Blake  <ebb9@byu.net>
58480
58481         * m4/inttypes.m4 (gl_INTTYPES_H): Fix missing #endif.
58482
58483 2006-08-28  Eric Blake  <ebb9@byu.net>
58484
58485         * m4/codeset.m4 (AM_LANGINFO_CODESET): Avoid compiler warning.
58486
58487 2006-08-28  Bruno Haible  <bruno@clisp.org>
58488
58489         * modules/c-strstr: New file, from GNU gettext.
58490         * MODULES.html.sh (String handling): Add c-strstr.
58491
58492 2006-08-28  Bruno Haible  <bruno@clisp.org>
58493
58494         * m4/inttypes.m4 (gl_INTTYPES_H): Don't test for the existence of SCNX*
58495         macros.
58496         Reported by Eric Blake.
58497
58498 2006-08-28  Bruno Haible  <bruno@clisp.org>
58499
58500         * lib/vasnprintf.c (EOVERFLOW): Remove definition.
58501         (VASNPRINTF): Return a string of length > INT_MAX without failing.
58502         * lib/vasprintf.c: Include errno.h, limits.h.
58503         (EOVERFLOW): New fallback definition.
58504         (vasprintf): Test here whether the string length is > INT_MAX.
58505         * lib/vsnprintf.c: Include errno.h, limits.h.
58506         (EOVERFLOW): New fallback definition.
58507         (vsnprintf): Fix bug when generated string was too long for the buffer.
58508         Test here whether the string length is > INT_MAX.
58509
58510 2006-08-28  Bruno Haible  <bruno@clisp.org>
58511
58512         * lib/inttypes_.h (SCNX*): Remove definitions.
58513         Reported by Eric Blake.
58514
58515 2006-08-28  Bruno Haible  <bruno@clisp.org>
58516
58517         * lib/c-strstr.h: New file, from GNU gettext.
58518         * lib/c-strstr.c: New file, from GNU gettext.
58519
58520 2006-08-28  Bruno Haible  <bruno@clisp.org>
58521
58522         * gnulib-tool: Reorder some statements.
58523
58524 2006-08-28  Bruno Haible  <bruno@clisp.org>
58525
58526         * gnulib-tool: New option --makefile-name.
58527         (func_emit_lib_Makefile_am, func_emit_tests_Makefile_am): Use
58528         $makefile_name.
58529         (func_import): Write $makefile_name to the cache file, and read it from
58530         there unless explicitly specified. Use $makefile_name as file name
58531         instead of Makefile.am. Adjust the recommendations accordingly.
58532
58533 2006-08-28  Bruno Haible  <bruno@clisp.org>
58534
58535         * gnulib-tool (func_verify_module): Check against misapplying patch.
58536
58537 2006-08-28  Bruno Haible  <bruno@clisp.org>
58538
58539         * gnulib-tool (func_relativize, func_relconcat): New functions.
58540         Give an error if --local-dir is given with --update.
58541         Remove trailing slashes from $local_gnulib_dir.
58542         (func_import): Store the relativized $local_gnulib_dir in
58543         gnulib-cache.m4, and read it from there if not specified explicitly.
58544
58545 2006-08-28  Bruno Haible  <bruno@clisp.org>
58546
58547         * gnulib-tool (func_get_tests_module): Don't assume that $gnulib_dir
58548         is the current directory. Respect also $local_gnulib_dir.
58549
58550 2006-08-28  Bruno Haible  <bruno@clisp.org>
58551             Simon Josefsson  <jas@extundo.com>
58552
58553         BeOS portability.
58554         * lib/getaddrinfo.c (PF_INET, PF_UNSPEC): New macros.
58555
58556 2006-08-27  Jim Meyering  <jim@meyering.net>
58557
58558         * doc/visibility.texi: Remove duplicate word: "pointer".
58559
58560 2006-08-26  Bruno Haible  <bruno@clisp.org>
58561
58562         * modules/inttypes (Files): Add lib/inttypes_.h, remove lib/inttypes.h.
58563         Add m4/inttypes.m4, remove m4/_inttypes_h.m4 and m4/include_next.m4.
58564         (Makefile.am): Create inttypes.h from inttypes_.h.
58565         * modules/stdint (Makefile.am): Substitute also ABSOLUTE_INTTYPES_H.
58566
58567         * modules/imaxabs: New file.
58568
58569         * modules/imaxdiv: New file.
58570
58571 2006-08-26  Bruno Haible  <bruno@clisp.org>
58572
58573         * m4/inttypes.m4: New file.
58574         * m4/_inttypes_h.m4: Remove file.
58575         * m4/inttypes-pri.m4 (gt_INTTYPES_PRI): Also AC_SUBST
58576         PRI_MACROS_BROKEN.
58577         * m4/stdint.m4 (gl_STDINT_H): Define also ABSOLUTE_INTTYPES_H.
58578
58579         * m4/imaxabs.m4: New file.
58580
58581         * m4/imaxdiv.m4: New file.
58582
58583 2006-08-26  Bruno Haible  <bruno@clisp.org>
58584
58585         * lib/inttypes_.h: New file.
58586         * lib/inttypes.h: Remove file.
58587         * lib/stdint_.h: Include <inttypes.h> through its absolute filename.
58588
58589         * lib/imaxabs.c: New file.
58590
58591         * lib/imaxdiv.c: New file.
58592
58593 2006-08-25  Paul Eggert  <eggert@cs.ucla.edu>
58594
58595         New config-h module, so that "make" output needn't be cluttered
58596         by -DHAVE_CONFIG_H.
58597         * MODULES.html.sh (Support for building libraries and executables):
58598         Add config-h.
58599         * modules/config-h: New file.
58600         * gnulib-tool (nl, sed_transform_lib_file): New vars.
58601         (func_import): Turn "#ifdef HAVE_CONFIG_H" to "#if 1" if
58602         the config-h module is used.
58603
58604         New configmake module, so that "make" output needn't be cluttered
58605         by fluff like '-DLIBDIR=\"/usr/local/lib\"'.
58606         * MODULES.html.sh (Support for building libraries and executables):
58607         Add configmake.
58608         * modules/configmake: New file.
58609
58610 2006-08-25  Paul Eggert  <eggert@cs.ucla.edu>
58611
58612         * m4/config-h.m4: New file.
58613
58614 2006-08-24  Paul Eggert  <eggert@cs.ucla.edu>
58615
58616         * config/srclist.txt: Add elisp-comp.
58617
58618 2006-08-24  Paul Eggert  <eggert@cs.ucla.edu>
58619
58620         * MODULES.html.sh (Support for building libraries and executables):
58621         Add elisp-comp.
58622         * build-aux/elisp-comp: New file.
58623         * modules/elisp-comp: New file.
58624
58625 2006-08-24  Bruno Haible  <bruno@clisp.org>
58626
58627         * gnulib-tool (func_create_testdir): Use non-default values of
58628         sourcebase and m4base.
58629
58630 2006-08-24  Bruno Haible  <bruno@clisp.org>
58631
58632         * MODULES.html.sh (Compatibility checks for POSIX:2001 functions: Fix
58633         HTML structure.
58634
58635 2006-08-23  Paul Eggert  <eggert@cs.ucla.edu>
58636
58637         * modules/openat (Depends-on): Add lchown.
58638
58639 2006-08-23  Bruno Haible  <bruno@clisp.org>
58640
58641         * gnulib-tool (func_import, func_create_testdir): Emit an invocation
58642         of gl_LOCK_EARLY instead of gl_LOCK.
58643
58644 2006-08-23  Bruno Haible  <bruno@clisp.org>
58645
58646         * m4/lock.m4 (gl_LOCK_BODY): Change the default value of gl_use_threads
58647         on OSF/1 to no.
58648         Reported by Stephen Cartwright <sgcartwr@ucalgary.ca>.
58649
58650 2006-08-23  Bruno Haible  <bruno@clisp.org>
58651
58652         * m4/fsusage.m4 (gl_FILE_SYSTEM_USAGE): Don't consider BeOS statvfs
58653         as unusable.
58654
58655         * m4/lock.m4 (gl_LOCK_EARLY): Renamed from gl_LOCK.
58656         (gl_LOCK_BODY): Remove gl_PREREQ_LOCK invocation.
58657         (gl_LOCK): New macro.
58658
58659 2006-08-22  Simon Josefsson  <jas@extundo.com>
58660
58661         * modules/gc-md5 (Makefile.am): Need to add md5.h, after changes
58662         to md5 module.
58663
58664 2006-08-22  Simon Josefsson  <jas@extundo.com>
58665
58666         * MODULES.html.sh: Add "Support for maintaining and release
58667         projects".
58668
58669         * build-aux/gnupload: New file, from coreutils.
58670
58671 2006-08-22  Paul Eggert  <eggert@cs.ucla.edu>
58672
58673         Avoid the need for AC_LIBSOURCES in m4 macros.
58674         * modules/arcfour (EXTRA_DIST): Add arcfour.h.
58675         * modules/arctwo (EXTRA_DIST): Add arctwo.h.
58676         * modules/check-version (EXTRA_DIST): Add check-version.h.
58677         * modules/crc (EXTRA_DIST): Add crc.h.
58678         * modules/des (EXTRA_DIST): Add des.h.
58679         * modules/gc (EXTRA_DIST): Add gc.h.
58680         * modules/getdelim (EXTRA_DIST): Add getdelim.h.
58681         * modules/getline (EXTRA_DIST): Add getline.h.
58682         * modules/getlogin_r (EXTRA_DIST): Add getlogin_r.h.
58683         * modules/hmac-md5 (EXTRA_DIST): Add hmac.h.
58684         * modules/hmac-sha1 (EXTRA_DIST): Add hmac.h.
58685         * modules/md2 (EXTRA_DIST): Add md2.h.
58686         * modules/md4 (EXTRA_DIST): Add md4.h.
58687         * modules/pagealign_alloc (EXTRA_DIST): Add pagealign_alloc.h.
58688         * modules/read-file (EXTRA_DIST): Add read-file.h.
58689         * modules/readline (EXTRA_DIST): Add readline.h.
58690         * modules/rijndael (EXTRA_DIST): Add rijndael-alg-fst.h,
58691         rijndael-api-fst.h.
58692
58693 2006-08-22  Paul Eggert  <eggert@cs.ucla.edu>
58694
58695         * m4/rijndael.m4 (gl_ARCFOUR):
58696         * m4/arctwo.m4 (gl_ARCTWO):
58697         * m4/check-version.m4 (gl_CHECK_VERSION):
58698         * m4/crc.m4 (gl_CRC):
58699         * m4/des.m4 (gl_DES):
58700         * m4/gc-pbkdf2-sha1.m4 (gl_GC_PBKDF2_SHA1):
58701         * m4/gc.m4 (gl_GC):
58702         * m4/getdelim.m4 (gl_FUNC_GETDELIM):
58703         * m4/getline.m4 (gl_FUNC_GETLINE):
58704         * m4/getlogin_r.m4 (gl_GETLOGIN_R_SUBSTITUTE):
58705         * m4/hmac-md5.m4 (gl_HMAC_MD5):
58706         * m4/hmac-sha1.m4 (gl_HMAC_SHA1):
58707         * m4/md2.m4 (gl_MD2):
58708         * m4/md4.m4 (gl_MD4):
58709         * m4/pagealign_alloc.m4 (gl_PAGEALIGN_ALLOC):
58710         * m4/read-file.m4 (gl_FUNC_READ_FILE):
58711         * m4/readline.m4 (gl_FUNC_READLINE):
58712         * m4/rijndael.m4 (gl_RIJNDAEL):
58713         Don't use AC_LIBSOURCES; instead, rely on the files in ../modules/
58714         to get the necessary .h files and whatnot.
58715
58716 2006-08-22  Paul Eggert  <eggert@cs.ucla.edu>
58717
58718         * config/srclist.txt: Remove gnupload, since coreutils now syncs from
58719         gnulib rather than the other way around.
58720         * config/srclistvars.sh (COREUTILS): Remove.
58721
58722 2006-08-22  Jim Meyering  <jim@meyering.net>
58723
58724         * modules/mkdir-p (Makefile.am): Fix typo: s/lib+SOURCES/lib_SOURCES/.
58725
58726         * modules/getpass-gnu (Makefile.am): Add getpass.h to EXTRA_DIST.
58727
58728 2006-08-22  Eric Blake  <ebb9@byu.net>
58729
58730         * modules/regexprops-generic: New file.
58731         * MODULES.html.sh (Support for building documentation): List it.
58732
58733 2006-08-22  Eric Blake  <ebb9@byu.net>
58734
58735         * m4/stdint_h.m4 (gl_AC_HEADER_STDINT_H): Avoid compiler warning.
58736         * m4/inttypes_h.m4 (gl_AC_HEADER_INTTYPES_H): Likewise.
58737         * m4/longlong.m4 (AC_TYPE_LONG_LONG_INT): Likewise.
58738         * m4/intmax_t.m4 (gt_AC_TYPE_INTMAX_T): Likewise.
58739
58740 2006-08-22  Bruno Haible  <bruno@clisp.org>
58741
58742         * gnulib-tool (func_emit_lib_Makefile_am): Don't treat lib_LIBRARIES
58743         and lib_LTLIBRARIES like the other lib_* variables.
58744
58745 2006-08-22  Bruno Haible  <bruno@clisp.org>
58746
58747         * build-aux/x-to-1.in: New file, from GNU gettext.
58748
58749 2006-08-22  Bruno Haible  <bruno@clisp.org>
58750
58751         * m4/readutmp.m4 (gl_READUTMP): Compile readutmp.c only if <utmp.h> or
58752         <utmpx.h> exists.
58753
58754 2006-08-22  Bruno Haible  <bruno@clisp.org>
58755
58756         * lib/readutmp.h: Skip most definitions if neither <utmp.h> nor
58757         <utmpx.h> exists.
58758
58759 2006-08-21  Paul Eggert  <eggert@cs.ucla.edu>
58760
58761         BeOS portability.
58762         * lib/dirchownmod.c (dirchownmod): Don't use fchmod if it doesn't
58763         exist.
58764         Problem reported by Bruno Haible.
58765
58766 2006-08-21  Paul Eggert  <eggert@cs.ucla.edu>
58767
58768         Avoid the need for AC_LIBSOURCES in m4 macros.
58769         * modules/acl (EXTRA_DIST): Add acl.h.
58770         * modules/argmatch (Files): Add m4/argmatch.m4.
58771         (configure.ac): Add gl_ARGMATCH.
58772         (EXTRA_DIST): Renamed from lib_SOURCES, for
58773         consistency with the other modules.  Remove argmatch.c.
58774         * modules/backupfile (EXTRA_DIST): Add backupfile.h.
58775         * modules/c-strtod (EXTRA_DIST): Add c-strtod.h.
58776         * modules/c-strtold (EXTRA_DIST): Add c-strtod.c, c-strtod.h.
58777         * modules/canonhost (EXTRA_DIST): Add c-canonhost.h.
58778         * modules/canonicalize (EXTRA_DIST): Add canonicalize.h.
58779         * modules/chdir-long (EXTRA_DIST): Add chdir-long.h.
58780         * modules/chdir-safer (EXTRA_DIST): Add chdir-safer.h.
58781         * modules/cloexec (EXTRA_DIST): Add cloexec.h.
58782         * modules/close-stream (EXTRA_DIST): Add close-stream.h.
58783         * modules/closeout (EXTRA_DIST): Add closeout.h.
58784         * modules/cycle-check (EXTRA_DIST): Add cycle-check.h.
58785         * modules/dev-ino (EXTRA_DIST): Add dev-ino.h.
58786         * modules/dirfd (EXTRA_DIST): Add dirfd.h.
58787         * modules/dirname (EXTRA_DIST): Renamed from lib_SOURCES.  Add
58788         dirname.h; remove basename.c and stripslash.c.
58789         * modules/exclude (EXTRA_DIST): Add exclude.h.
58790         * modules/exitfail (EXTRA_DIST): Add exitfail.h.
58791         * modules/fcntl-safer (EXTRA_DIST): Add fcntl-safer.h fcntl--.h.
58792         * modules/file-type (EXTRA_DIST): Add file-type.h.
58793         * modules/filemode (EXTRA_DIST): Add filemode.h.
58794         * modules/filenamecat (EXTRA_DIST): Add filenamecat.h.
58795         * modules/fopen-safer (EXTRA_DIST): Add stdio-safer.h stdio--.h.
58796         * modules/fpending (EXTRA_DIST): Add __fpending.h.
58797         * modules/fprintftime (EXTRA_DIST): Add fprintftime.h.
58798         * modules/fsusage (EXTRA_DIST): Add fsusage.h.
58799         * modules/fts (EXTRA_DIST): Add fts_.h fts-cycle.c.
58800         * modules/getcwd (EXTRA_DIST): Add getcwd.h.
58801         * modules/getdate (EXTRA_DIST): Add getdate.c.
58802         * modules/gethrxtime (EXTRA_DIST): Add gethrxtime.h xtime.h.
58803         * modules/getpagesize (EXTRA_DIST): Add getpagesize.h.
58804         * modules/getpass (EXTRA_DIST): Add getpass.h.
58805         * modules/glob (EXTRA_DIST): Add glob_.h glob-libc.h.
58806         * modules/group-member (EXTRA_DIST): Add group-member.h.
58807         * modules/hard-locale (EXTRA_DIST): Add hard-locale.h.
58808         * modules/hash (EXTRA_DIST): Add hash.h.
58809         * modules/human (EXTRA_DIST): Add human.h.
58810         * modules/inttypes (EXTRA_DIST): Add inttypes.h.
58811         * modules/lchmod (EXTRA_DIST): Add lchmod.h.
58812         * modules/lchown (EXTRA_DIST): Add lchown.h.
58813         * modules/long-options (EXTRA_DIST): Add long-options.h.
58814         * modules/lstat (EXTRA_DIST): Add lstat.h.
58815         * modules/md5 (EXTRA_DIST): Add memcasecmp.h.
58816         * modules/memcoll (EXTRA_DIST): Add memcoll.h.
58817         * modules/mempcpy (EXTRA_DIST): Add mempcpy.h.
58818         * modules/memrchr (EXTRA_DIST): Add memrchr.h.
58819         * modules/memxor (EXTRA_DIST): Add memxor.h.
58820         * modules/mkancesdirs (EXTRA_DIST): Add mkancesdirs.h.
58821         * modules/mkdir-p (EXTRA_DIST): Add modechange.h.
58822         * modules/mountlist (EXTRA_DIST): Add mountlist.h.
58823         * modules/openat (EXTRA_DIST): Add at-func.c openat.h openat-priv.h.
58824         * modules/pathmax (EXTRA_DIST): Add pathmax.h.
58825         * modules/physmem (EXTRA_DIST): Add physmem.h.
58826         * modules/posixtm (EXTRA_DIST): Add posixtm.h.
58827         * modules/posixver (EXTRA_DIST): Add posixver.h.
58828         * modules/quote (EXTRA_DIST): Add quote.h.
58829         * modules/quotearg (EXTRA_DIST): Add quotearg.h.
58830         * modules/readtokens (EXTRA_DIST): Add readtokens.h.
58831         * modules/readutmp (EXTRA_DIST): Add readutmp.h.
58832         * modules/regex (EXTRA_DIST): Add regcomp.c regex.h regex_internal.c
58833         regex_internal.h regexec.c.
58834         * modules/safe-read (EXTRA_DIST): Add safe-read.h.
58835         * modules/safe-write (EXTRA_DIST): Add safe-write.h.
58836         * modules/same (EXTRA_DIST): Add same.h.
58837         * modules/same-inode (EXTRA_DIST): Add same-inode.h.
58838         * modules/save-cwd (EXTRA_DIST): Add save-cwd.h.
58839         * modules/savedir (EXTRA_DIST): Add savedir.h.
58840         * modules/sha1 (EXTRA_DIST): Add sha1.h.
58841         * modules/sig2str (EXTRA_DIST): Add sig2str.h.
58842         * modules/stat-macros (EXTRA_DIST): Add stat-macros.h.
58843         * modules/stat-time (EXTRA_DIST): Add stat-time.h.
58844         * modules/stdlib-safer (EXTRA_DIST): Add stdlib-safer.h stdlib--.h.
58845         * modules/strdup (EXTRA_DIST): Add strdup.h.
58846         * modules/strftime (EXTRA_DIST): Add strftime.h.
58847         * modules/strndup (EXTRA_DIST): Add strndup.h.
58848         * modules/strnlen (EXTRA_DIST): Add strnlen.h.
58849         * modules/strverscmp (EXTRA_DIST): Add strverscmp.h.
58850         * modules/time_r (EXTRA_DIST): Add time_r.h.
58851         * modules/timespec (EXTRA_DIST): Add timespec.h.
58852         * modules/tmpfile-safer (EXTRA_DIST): Add stdio-safer.h stdio--.h.
58853         * modules/unistd-safer (EXTRA_DIST): Add unistd-safer.h unistd--.h.
58854         * modules/unlinkdir (EXTRA_DIST): Add unlinkdir.h.
58855         * modules/unlocked-io (EXTRA_DIST): Add unlocked-io.h.
58856         * modules/userspec (EXTRA_DIST): Add userspec.h.
58857         * modules/utimecmp (EXTRA_DIST): Add utimecmp.h.
58858         * modules/utimens (EXTRA_DIST): Add utimens.h.
58859         * modules/xalloc (EXTRA_DIST): Add xalloc.h.
58860         * modules/xgetcwd (EXTRA_DIST): Add xgetcwd.h.
58861         * modules/xnanosleep (EXTRA_DIST): Add xnanosleep.h.
58862         * modules/xreadlink (EXTRA_DIST): Add xreadlink.h.
58863         * modules/xstrtod (EXTRA_DIST): Add xstrtod.h.
58864         * modules/xstrtol (EXTRA_DIST): Add xstrtol.h.
58865         * modules/xstrtold (EXTRA_DIST): Add xstrtod.c xstrtod.h.
58866         * modules/yesno (EXTRA_DIST): Add yesno.h.
58867
58868 2006-08-21  Paul Eggert  <eggert@cs.ucla.edu>
58869
58870         * m4/mkdir-p.m4 (gl_MKDIR_PARENTS): Check for fchmod.
58871
58872         * m4/argmatch.m4: New file, from coreutils with AC_LIBSOURCES removed.
58873         * m4/dev-ino.m4, same-inode.m4: Remove.
58874
58875         * m4/_inttypes_h.m4 (gl_INTTYPES_H):
58876         * m4/acl.m4 (AC_FUNC_ACL):
58877         * m4/backupfile.m4 (gl_BACKUPFILE):
58878         * m4/c-strtod.m4 (gl_C99_STRTOLD):
58879         * m4/canon-host.m4 (gl_CANON_HOST):
58880         * m4/canonicalize.m4 (AC_FUNC_CANONICALIZE_FILE_NAME):
58881         * m4/chdir-long.m4 (gl_FUNC_CHDIR_LONG):
58882         * m4/chdir-safer.m4 (gl_CHDIR_SAFER):
58883         * m4/cloexec.m4 (gl_CLOEXEC):
58884         * m4/close-stream.m4 (gl_CLOSE_STREAM):
58885         * m4/closeout.m4 (gl_CLOSEOUT):
58886         * m4/dirfd.m4 (gl_FUNC_DIRFD):
58887         * m4/dirname.m4 (gl_DIRNAME):
58888         * m4/exclude.m4 (gl_EXCLUDE):
58889         * m4/exitfail.m4 (gl_EXITFAIL):
58890         * m4/fcntl-safer.m4 (gl_FCNTL_SAFER):
58891         * m4/file-type.m4 (gl_FILE_TYPE):
58892         * m4/filemode.m4 (gl_FILEMODE):
58893         * m4/filenamecat.m4 (gl_FILE_NAME_CONCAT):
58894         * m4/fpending.m4 (gl_FUNC_FPENDING):
58895         * m4/fprintftime.m4 (gl_FPRINTFTIME):
58896         * m4/fts.m4 (gl_FUNC_FTS):
58897         * m4/getcwd.m4 (gl_FUNC_GETCWD_NULL):
58898         * m4/getdate.m4 (gl_GETDATE):
58899         * m4/gethrxtime.m4 (gl_GETHRXTIME):
58900         * m4/getpagesize.m4 (gl_GETPAGESIZE):
58901         * m4/getpass.m4 (gl_FUNC_GETPASS):
58902         * m4/gettime.m4 (gl_GETTIME):
58903         * m4/getugroups.m4 (gl_GETUGROUPS):
58904         * m4/glob.m4 (gl_GLOB_SUBSTITUTE):
58905         * m4/group-member.m4 (gl_FUNC_GROUP_MEMBER):
58906         * m4/hard-locale.m4 (gl_HARD_LOCALE):
58907         * m4/hash.m4 (gl_HASH):
58908         * m4/idcache.m4 (gl_IDCACHE):
58909         * m4/lchmod.m4 (gl_FUNC_LCHMOD):
58910         * m4/lchown.m4 (gl_FUNC_LCHOWN):
58911         * m4/long-options.m4 (gl_LONG_OPTIONS):
58912         * m4/lstat.m4 (gl_FUNC_LSTAT):
58913         * m4/md5.m4 (gl_MD5):
58914         * m4/memcasecmp.m4 (gl_MEMCASECMP):
58915         * m4/memcoll.m4 (gl_MEMCOLL):
58916         * m4/mempcpy.m4 (gl_FUNC_MEMPCPY):
58917         * m4/memrchr.m4 (gl_FUNC_MEMRCHR):
58918         * m4/memxor.m4 (gl_MEMXOR):
58919         * m4/mkancesdirs.m4 (gl_MKANCESDIRS):
58920         * m4/mkdir-p.m4 (gl_MKDIR_PARENTS):
58921         * m4/modechange.m4 (gl_MODECHANGE):
58922         * m4/mountlist.m4 (gl_MOUNTLIST):
58923         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP):
58924         * m4/openat.m4 (gl_FUNC_OPENAT):
58925         * m4/pathmax.m4 (gl_PATHMAX):
58926         * m4/physmem.m4 (gl_PHYSMEM):
58927         * m4/posixtm.m4 (gl_POSIXTM):
58928         * m4/posixver.m4 (gl_POSIXVER):
58929         * m4/quote.m4 (gl_QUOTE):
58930         * m4/quotearg.m4 (gl_QUOTEARG):
58931         * m4/readtokens.m4 (gl_READTOKENS):
58932         * m4/readutmp.m4 (gl_READUTMP):
58933         * m4/regex.m4 (gl_REGEX):
58934         * m4/safe-read.m4 (gl_SAFE_READ):
58935         * m4/safe-write.m4 (gl_SAFE_WRITE):
58936         * m4/same.m4 (gl_SAME):
58937         * m4/save-cwd.m4 (gl_SAVE_CWD):
58938         * m4/savedir.m4 (gl_SAVEDIR):
58939         * m4/settime.m4 (gl_SETTIME):
58940         * m4/sha1.m4 (gl_SHA1):
58941         * m4/sig2str.m4 (gl_FUNC_SIG2STR):
58942         * m4/stat-macros.m4 (gl_STAT_MACROS):
58943         * m4/stat-time.m4 (gl_STAT_TIME):
58944         * m4/stdio-safer.m4 (gl_FOPEN_SAFER):
58945         * m4/stdlib-safer.m4 (gl_STDLIB_SAFER):
58946         * m4/strdup.m4 (gl_FUNC_STRDUP):
58947         * m4/strftime.m4 (gl_FUNC_GNU_STRFTIME):
58948         * m4/strndup.m4 (gl_FUNC_STRNDUP):
58949         * m4/strnlen.m4 (gl_FUNC_STRNLEN):
58950         * m4/strverscmp.m4 (gl_FUNC_STRVERSCMP):
58951         * m4/time_r.m4 (gl_TIME_R):
58952         * m4/timespec.m4 (gl_TIMESPEC):
58953         * m4/unistd-safer.m4 (gl_UNISTD_SAFER):
58954         * m4/unlinkdir.m4 (gl_UNLINKDIR):
58955         * m4/unlocked-io.m4 (gl_FUNC_GLIBC_UNLOCKED_IO):
58956         * m4/userspec.m4 (gl_USERSPEC):
58957         * m4/utimecmp.m4 (gl_UTIMECMP):
58958         * m4/utimens.m4 (gl_UTIMENS):
58959         * m4/xalloc.m4 (gl_XALLOC):
58960         * m4/xgetcwd.m4 (gl_XGETCWD):
58961         * m4/xnanosleep.m4 (gl_XNANOSLEEP):
58962         * m4/xreadlink.m4 (gl_XREADLINK):
58963         * m4/xstrtod.m4 (gl_XSTRTOD):
58964         * m4/yesno.m4 (gl_YESNO):
58965         Don't use AC_LIBSOURCES; instead, rely on the files in ../modules/
58966         to get the necessary .h files and whatnot.
58967
58968 2006-08-21  Mark D. Baushke  <mdb@gnu.org>
58969             Bruno Haible  <bruno@clisp.org>
58970
58971         * gnulib-tool (func_verify_module): Work around Sun's non-POSIX 1003.2
58972         /bin/sh understanding of '!' conditional negation.
58973
58974 2006-08-21  Jim Meyering  <jim@meyering.net>
58975
58976         * modules/openat (Depends-on): Really alphabetize.
58977
58978         * modules/acl (Depends-on): Add error and quote.
58979
58980         * check-module (find_included_lib_files): Add at-func.c to the
58981         ok-to-include-more-than-once white list.
58982
58983         * modules/openat (Depends-on): Add lstat.  Alphabetize.
58984
58985 2006-08-21  Bruno Haible  <bruno@clisp.org>
58986
58987         * gnulib-tool (func_emit_lib_Makefile_am, func_emit_tests_Makefile_am):
58988         Emit a pkgdata_DATA variable only if some snippets add contents to it.
58989         Reported by Martin Lambers <marlam@marlam.de>.
58990
58991 2006-08-21  Bruno Haible  <bruno@clisp.org>
58992
58993         * gnulib-tool (func_emit_lib_Makefile_am): If the snippets already
58994         specify an installation location, don't emit a noinst_LIBRARIES or
58995         noinst_LTLIBRARIES assignment.
58996
58997 2006-08-21  Bruno Haible  <bruno@clisp.org>
58998
58999         BeOS portability.
59000         * modules/mbchar (Include): Don't test HAVE_WCTYPE_H any more, since
59001         BeOS has mbrtowc() but no <wctype.h>.
59002
59003 2006-08-21  Bruno Haible  <bruno@clisp.org>
59004
59005         BeOS portability.
59006         * m4/mbchar.m4 (gl_MBCHAR): Compile mbchar.c also if <wctype.h> doesn't
59007         exist.
59008
59009 2006-08-21  Bruno Haible  <bruno@clisp.org>
59010
59011         BeOS portability.
59012         * lib/mbchar.h: Include <wctype.h> only if it exists.
59013
59014 2006-08-20  Paul Eggert  <eggert@cs.ucla.edu>
59015
59016         Remove files that are no longer needed by their respective modules.
59017         * m4/obstack.m4: Remove.
59018         * m4/strerror_r.m4: Remove.
59019         * m4/uint32_t.m4: Remove.
59020         * m4/uintptr_t.m4: Remove.
59021         * m4/ullong_max.m4: Remove.
59022         * m4/xstrtoimax.m4: Remove.
59023         * m4/xstrtoumax.m4: Remove.
59024
59025         * m4/cycle-check.m4 (gl_CYCLE_CHECK): Do not require
59026         gl_AC_TYPE_UINTMAX_T, gl_STRUCT_DEV_INO, or gl_SAME_INODE, since gnulib
59027         dependencies now capture this.
59028
59029         * m4/cycle-check.m4 (gl_CYCLE_CHECK):
59030         Do not use AC_LIBSOURCES, since gnulib modules now do this.
59031         * m4/fsusage.m4 (gl_FSUSAGE): Likewise.
59032         * m4/human.m4 (gl_HUMAN): Likewise.
59033         * m4/inttostr.m4 (gl_INTTOSTR): Likewise.
59034         * m4/xstrtol.m4 (gl_XSTRTOL): Likewise.
59035
59036         * m4/filemode.m4 (gl_FILEMODE): Require AC_STRUCT_ST_DM_MODE.
59037
59038         * m4/filemode.m4 (gl_PREREQ_FSUSAGE_EXTRA): Do not require
59039         gl_AC_TYPE_INTMAX_T or gl_AC_TYPE_UINTMAX_T, since we now require
59040         stdint.
59041         * m4/human.m4 (gl_HUMAN): Likewise.
59042         * m4/inttostr.m4 (gl_PREREQ_INTTOSTR): Likewise.
59043         * m4/mkstemp.m4 (gl_PREREQ_TEMPNAME): Likewise.
59044         * m4/strtoimax.m4 (gl_PREREQ_STRTOIMAX): Likewise.
59045         * m4/strtoumax.m4 (gl_PREREQ_STRTOUMAX): Likewise.
59046         * m4/xstrtol (gl_XSTRTOL): Likewise.
59047
59048         * m4/gethrxtime.m4 (gl_XTIME): gl_AC_TYPE_LONG_LONG ->
59049         AC_TYPE_LONG_LONG_INT.
59050         * m4/strtoimax.m4 (gl_PREREQ_STRTOIMAX): Likewise.
59051         * m4/strtoll.m4 (gl_FUNC_STRTOLL): Likewise.
59052         * m4/strtoull.m4 (gl_FUNC_STRTOULL): Likewise, for unsigned long.
59053         * m4/strtoumax.m4 (gl_PREREQ_STRTOUMAX): Likewise.
59054
59055         * m4/human.m4 (gl_HUMAN): Do not require AM_STDBOOL_H since we depend
59056         on stdbool.
59057
59058         * m4/xstrtol.m4 (gl_PREREQ_XSTRTOL_H, gl_PREREQ_XSTRTOL): Remove.
59059         (gl_PREREQ_XSTRTOUL): Remove.
59060
59061         * m4/ls-mntd-fs.m4 (gl_LIST_MOUNTED_FILE_SYSTEMS): Check for hasmntopt.
59062
59063         * m4/posixver.m4: Fix comment since head -1 now works even in POSIX
59064         mode.
59065
59066 2006-08-20  Paul Eggert  <eggert@cs.ucla.edu>
59067
59068         Add and change modules to make it easier for coreutils to use
59069         gnulib-tool.
59070         * modules/backupfile (Files): Remove m4/d-ino.m4.
59071         (Depends-on): Add d-ino.
59072         * modules/cycle-check (Depends-on): Add stdint.
59073         (lib_SOURCES): Add cycle-check.h.
59074         * modules/d-ino: New module.
59075         * modules/d-type: New module.
59076         * modules/error (Files): Remove m4/strerror_r.m4.
59077         * modules/filemode (Files): Add m4/st_dm_mode.m4.
59078         * modules/fsuage (Files): Remove m4/ulonglong.m4, m4/stdint_h.m4,
59079         m4/inttypes_h.m4, m4/uintmax_t.m4.
59080         (Depends-on): Add stdint.
59081         (lib_SOURCES): Add fsusage.h.
59082         * modules/getcwd (Files): Remove d-ino.m4.
59083         (Depends-on): Add d-ino.
59084         * modules/getndelim2 (Depends-on): Add stdint.
59085         * modules/glob (Files): Remove m4/d-type.m4.
59086         (Depends-on): Add d-type.
59087         * modules/host-os: New module.
59088         * modules/human (Files):  Remove m4/ulonglong.m4, m4/stdint_h.m4,
59089         m4/inttypes_h.m4, m4/uintmax_t.m4.
59090         * Depends-on: Add stdint.
59091         (lib_SOURCES): Add human.h.
59092         * modules/inttostr (Files): Remove m4/intmax_t.m4,
59093         m4/inttostr.m4, m4/inttypes_h.m4, m4/longlong.m4, m4/stdint_h.m4,
59094         m4/uintmax_t.m4, m4/ulonglong.m4.
59095         (Depends-on): Add stdint.
59096         (EXTRA_DIST): Add inttostr.h.
59097         * modules/lchmod: New module.
59098         * modules/link-follow: New module.
59099         * modules/mkdir-p (Files): Remove lib/lchmod.h, m4/lchmod.m4.
59100         (Depends-on): Add lchmod.
59101         * modules/mkstemp (Files): Remove m4/ulonglong.m4,
59102         m4/stdint_h.m4, m4/inttypes_h.m4, m4/uintmax_t.m4.
59103         (Depends-on): Add stdint.
59104         * modules/obstack (Files): Remove m4/inttypes_h.m4, m4/obstack.m4,
59105         m4/stdint_h.m4, m4/uintmax_t.m4, m4/ulonglong.m4.
59106         (Depends-on): Add stdint.
59107         (configure.ac): Change gl_OBSTACK to AC_FUNC_OBSTACK.
59108         * modules/perl: New module.
59109         * modules/regex (Depends-on): Add stdint.
59110         * modules/rmdir-errno: New module.
59111         * modules/strtoimax (Files): Remove m4/stdint_h.m4, m4/inttypes_h.m4,
59112         m4/intmax_t.m4.
59113         (Depends-on): Add stdint.
59114         * modules/strtoumax (Files): Remove m4/stdint_h.m4, m4/inttypes_h.m4,
59115         m4/uintmax_t.m4.
59116         (Depends-on): Add stdint.
59117         * modules/unlink-busy: New module.
59118         * modules/utimecmp (Depends-on): Add stdint.
59119         * modules/uptime: New module.
59120         * modules/winsz-ioctl: New module.
59121         * modules/winsz-termios: New module.
59122         * modules/xnanosleep (Depends-on): Add nanosleep.
59123         * modules/ullong_max: Remove.
59124         * modules/xstrtoimax (Files): Remove m4/xstrtoimax.m4.
59125         (configure.ac): Remove gl_XSTRTOIMAX; no action needed now.
59126         * modules/xstrtol (Files): Remove m4/ulonglong.m4, m4/longlong.m4,
59127         m4/stdint_h.m4, m4/inttypes_h.m4, m4/uintmax_t.m4, m4/intmax_t.m4.
59128         (Depends-on): Add inttypes.
59129         (lib_SOURCES): Add xstrtol.h.
59130         * modules/xstrtoumax (Files): Remove m4/xstrtoumax.m4.
59131         (configure.ac): Remove gl_XSTRTOUMAX; no action needed now.
59132         * MODULES.html.sh: Move 'assert' into the assert section.
59133         Move 'dummy' into the linking section.
59134         Remove ullong_max.
59135         Add section for compatibility checks for POSIX:2001 functions,
59136         and put d-ino, d-type, link-follow, rmdir-errno, unlink-busy,
59137         winsz-ioctl, and winsz-termios into it.
59138         Add lchmod.
59139         Add top-level Misc section and put host-os, perl, and uptime
59140         into it.
59141
59142 2006-08-20  Paul Eggert  <eggert@cs.ucla.edu>
59143
59144         * lib/cycle-check.h: Include <stdint.h> unconditionally, since we
59145         now assume the stdint module.  Do not include inttypes.h.
59146         * lib/fsusage.h: Likewise.
59147         * lib/getndelim2.c: Likewise.
59148         * lib/human.h: Likewise.
59149         * lib/inttostr.h: Likewise.
59150         * lib/obstack.c: Likewise.
59151         * lib/regex_internal.h: Likewise.
59152         * lib/tempname.c: Likewise.
59153         * lib/utimecmp.c: Likewise.
59154         * lib/xstrtol.h: Likewise.
59155
59156         * lib/stat_.h: Fix typo: HAVE_FUNC_LSTAT -> HAVE_LSTAT.
59157
59158         * lib/strtoimax.c: Adjust to macro name changes in Autoconf,
59159         e.g., HAVE_LONG_LONG -> HAVE_LONG_LONG_INT.
59160         * lib/xtime.h: Likewise.
59161
59162 2006-08-19  Paul Eggert  <eggert@cs.ucla.edu>
59163
59164         * modules/openat (Files): Add lib/fchmodat.c.
59165         Fixes problem reported by Jay Youngman.
59166
59167 2006-08-19  Paul Eggert  <eggert@cs.ucla.edu>
59168
59169         * lib/fchmodat.c: New file, from coreutils.  This was inadvertently
59170         omitted in the 2006-08-17 update.  Problem reported by Jay Youngman.
59171
59172 2006-08-18  Paul Eggert  <eggert@cs.ucla.edu>
59173             Bruno Haible  <bruno@clisp.org>
59174
59175         * m4/bison-i18n.m4 (BISON_I18N): Also handle the case where yacc exists
59176         and is a script that invokes bison. Tighten the code. Add comments.
59177
59178 2006-08-18  Jim Meyering  <jim@meyering.net>
59179
59180         * m4/gethrxtime.m4 (gl_PREREQ_GETHRXTIME): Also check for
59181         CLOCK_REALTIME, since gethrxtime may revert to using clock_gettime via
59182         gettime.c.  Gabor Z. Papp reported that gethrxtime-using programs
59183         failed to link due to unresolved clock_gettime on a linux-2.4.x system.
59184
59185 2006-08-18  Bruno Haible  <bruno@clisp.org>
59186
59187         * modules/bison-i18n: New file.
59188         * MODULES.html.sh (Internationalization functions): Add it.
59189
59190 2006-08-18  Bruno Haible  <bruno@clisp.org>
59191
59192         * m4/ls-mntd-fs.m4 (gl_LIST_MOUNTED_FILE_SYSTEMS): Also check for
59193         sys/statvfs.h. When getmntinfo was found, check its declaration and
59194         set either MOUNTED_GETMNTINFO or MOUNTED_GETMNTINFO2 depending on it.
59195
59196 2006-08-18  Bruno Haible  <bruno@clisp.org>
59197
59198         * m4/bison-i18n.m4: New file, from bison.
59199
59200 2006-08-18  Bruno Haible  <bruno@clisp.org>
59201
59202         * lib/mountlist.c [MOUNTED_GETMNTINFO2]: Include sys/statvfs.h.
59203         (ME_DUMMY): Treat "kernfs" as a dummy.
59204         (read_file_system_list) [MOUNTED_GETMNTINFO2]: Implement.
59205
59206 2006-08-17  Paul Eggert  <eggert@cs.ucla.edu>
59207
59208         Update from coreutils.
59209
59210         2006-08-15  Jim Meyering  <jim@meyering.net>
59211
59212         * m4/openat.m4 (gl_FUNC_OPENAT): Add at-func.c via AC_LIBSOURCES.
59213
59214         2006-01-17  Jim Meyering  <jim@meyering.net>
59215
59216         * m4/fts.m4 (gl_FUNC_FTS_CORE): Depend on gl_FUNC_OPENAT.
59217
59218         2006-01-11  Jim Meyering  <jim@meyering.net>
59219
59220         * m4/openat.m4 (gl_FUNC_OPENAT): Require and compile fchmodat.c.
59221         Check for the lchmod function.
59222
59223 2006-08-17  Paul Eggert  <eggert@cs.ucla.edu>
59224
59225         Update from coreutils.
59226
59227         * lib/__fpending.h: Add copyright notice.
59228         * lib/fprintftime.h: Likewise.
59229         * lib/savedir.c: Use (C) in copyright notice.
59230         * lib/savedir.h: Likewise.
59231
59232         2006-08-15  Jim Meyering  <jim@meyering.net>
59233
59234         * lib/at-func.c: New file, with the logic of all emulated at-functions.
59235         * lib/openat-priv.h: Include <errno.h> and define ENOSYS,
59236         in support of the EXPECTED_ERRNO macro.
59237         * lib/openat.c (fstatat, unlinkat, fchownat): Remove function
59238         definitions.  Instead, define the appropriate symbols and include
59239         "at-func.c".
59240         * lib/mkdirat.c (mkdirat): Likewise.
59241         * lib/fchmodat.c (fchmodat): Likewise.
59242         (ENOSYS): Remove definition.
59243         * lib/openat.c: Don't include <errno.h>, now that "openat-priv.h" does
59244         it.  Don't include "unistd--.h" -- it wasn't ever used.
59245
59246         2006-01-17  Jim Meyering  <jim@meyering.net>
59247
59248         Rewrite fts.c not to change the current working directory,
59249         by using openat, fstatat, fdopendir, etc..
59250
59251         * lib/fts.c [! _LIBC]: Include "openat.h" and "unistd--.h".
59252         (HAVE_OPENAT_SUPPORT): Define.
59253         [_LIBC] (fchdir): Don't undef or define; no longer used.
59254         (FCHDIR): Define in terms of cwd_advance_fd rather than fchdir.
59255         Now, this `function' always succeeds, and consumes its file descriptor
59256         parameter -- so callers must not close such FDs.  Update callers.
59257         (diropen_fd, opendirat, cwd_advance_fd): New functions.
59258         (diropen): Add parameter, SP.  Adjust all callers.
59259         Implement using diropen_fd, rather than open.
59260         (fts_open): Initialize new member, fts_cwd_fd.
59261         Remove fts_rft-setting code.
59262         (fts_close): Close fts_cwd_fd, if necessary.
59263         (__opendir2): Define in terms of opendir or opendirat,
59264         depending on whether the FST_NOCHDIR flag is set.
59265         (fts_build): Since fts_safe_changedir consumes its FD, and since
59266         this code must do `closedir(dirp)', dup the dirfd(dirp) argument,
59267         and close the dup'd file descriptor upon failure.
59268         (fts_stat): Use fstatat(...AT_SYMLINK_NOFOLLOW) in place of lstat.
59269         (fts_safe_changedir): Tweak semantics to reflect that this function
59270         now calls cwd_advance_fd and hence consumes its FD argument.
59271         * lib/fts_.h [struct FTS] (fts_cwd_fd): New member.
59272         [struct FTS] (fts_rft): Remove now-unused member.
59273         [struct FTS] (fts_cycle.state): Improve comment.
59274
59275         * lib/openat.c (openat_needs_fchdir): New function.
59276         * lib/openat.h (openat_needs_fchdir): Declare it.
59277
59278 2006-08-16  Paul Eggert  <eggert@cs.ucla.edu>
59279
59280         * lib/memcoll.c (memcoll): Set errno = 0 in the shortcut case, too.
59281         Problem and fix reported by Pádraig Brady in
59282         <http://lists.gnu.org/archive/html/bug-coreutils/2006-08/msg00099.html>.
59283
59284 2006-08-15  Paul Eggert  <eggert@cs.ucla.edu>
59285
59286         * modules/cycle-check (configure.ac): Add gl_CYCLE_CHECK.
59287
59288 2006-08-15  Paul Eggert  <eggert@cs.ucla.edu>
59289
59290         * lib/memcoll.c (memcoll): Optimize for the common case where the
59291         arguments are bytewise equal.
59292
59293 2006-08-15  Paul Eggert  <eggert@cs.ucla.edu>
59294
59295         * doc/regexprops-generic.texi: Add a copyright notice.
59296
59297 2006-08-15  Bruno Haible  <bruno@clisp.org>
59298
59299         * modules/tmpdir (License): Change to LGPL.
59300
59301 2006-08-15  Bruno Haible  <bruno@clisp.org>
59302
59303         * gnulib-tool (func_all_modules, func_verify_module): COPYING is not a
59304         module.
59305
59306 2006-08-14  Simon Josefsson  <jas@extundo.com>
59307
59308         * config/srclist.txt: Add gnupload.
59309
59310 2006-08-14  Paul Eggert  <eggert@cs.ucla.edu>
59311
59312         Change copyright notice from LGPL 2 to GPL 2, since that's the
59313         standard form used in the gnulib repository.
59314         * tests/test-lock.c: Likewise.
59315         * tests/test-stdint.c: Likewise.
59316         * tests/test-tls.c: Likewise.
59317
59318         * users.txt: Add bison, diffutils, libprelude, prelude-lml,
59319         prelude-manager.  User shorter URLs for GNU projects, without '?'.
59320         Add copyright notice.
59321
59322         * check-module: Add copyright notice.  Output a copyright
59323         notice if "--version" is specified.
59324         * modules/COPYING: New file.
59325         * tests/test-getaddrinfo.c: Add copyright notice.
59326         * tests/test-verify.c: Likewise.
59327
59328 2006-08-14  Paul Eggert  <eggert@cs.ucla.edu>
59329
59330         Change copyright notice from LGPL 2 to GPL 2, since that's the
59331         standard form used in the gnulib repository.
59332         * lib/lock.c: LGPL -> GPL.
59333         * lib/lock.h: Likewise.
59334         * lib/strnlen1.c: Likewise.
59335         * lib/strnlen1.h: Likewise.
59336         * lib/tls.c: Likewise.
59337         * lib/tls.h: Likewise.
59338         * lib/tmpdir.c: Likewise.
59339
59340         * lib/TODO: Remove; this belongs only in coreutils.
59341
59342 2006-08-14  Paul Eggert  <eggert@cs.ucla.edu>
59343
59344         Add copyright notices to long-enough files that lack them, since
59345         otherwise the files aren't clearly free.  Use the same notice that
59346         getdate.texi already uses.
59347         * doc/alloca-opt.texi: Add copyright notice.
59348         * doc/alloca.texi: Likewise.
59349         * doc/ctime.texi: Likewise.
59350         * doc/functions.texi: Likewise.
59351         * doc/gcd.texi: Likewise.
59352         * doc/gnulib-tool.texi: Likewise.
59353         * doc/inet_ntoa.texi: Likewise.
59354         * doc/visibility.texi: Likewise.
59355
59356         * doc/getdate.texi: Update FDL version from 1.1 to 1.2.
59357         * doc/quote.texi: Add copyright notice.
59358
59359         * doc/solaris-versions: Add SunOS 5.10, SunOS 1.x, SunOS 4.0, SunOS
59360         4.0.x, SunOS 4.1.1.1, SunOS 4.1.1_U1, SunOS 4.1.3B.  SunOS 4.1.3
59361         was Solaris 1.1A.  Remove space before B in Solaris 1.1.1B.
59362         Mention SunOS 5.11.  Mention that everything before SunOS 5.7
59363         is now obsolete, and give a pointer to the Sun list.
59364         Add copyright notice.
59365
59366 2006-08-14  Paul Eggert  <eggert@cs.ucla.edu>
59367
59368         * config/srclistvars.sh: Add copyright notice.
59369
59370 2006-08-14  Eric Blake  <ebb9@byu.net>
59371
59372         Import the following change from libc:
59373
59374         2006-08-12  Ulrich Drepper  <drepper@redhat.com>
59375
59376         Upstream bug 2997.
59377         * lib/misc/error.c: Add space between program name and message if file
59378         name is missing.
59379
59380 2006-08-12  Karl Berry  <karl@gnu.org>
59381
59382         * config/srclist.txt (ssize_t.m4, sig_atomic_t.m4, signalblocking.m4):
59383         remove, these originate in gnulib now.
59384
59385 2006-08-11  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
59386
59387         * doc/Makefile (standards.info standards.html standards.dvi):
59388         Also depend on make-stds.texi.
59389
59390 2006-08-11  Paul Eggert  <eggert@cs.ucla.edu>
59391
59392         * lib/pipe-safer.c (pipe_safer): Fix misspelling: HAVE_FUNC_PIPE ->
59393         HAVE_PIPE.  Fix a file descriptor leak when fd_safer fails.
59394
59395         * lib/regex_internal.c (re_string_skip_chars): Don't assume WEOF fits
59396         in wchar_t.  Problem reported by Eric Blake.
59397
59398         * lib/snprintf.c (snprintf): memcpy LEN bytes, not SIZE - 1, when
59399         LEN is smaller than SIZE.  Suggested by Bruno Haible.
59400         Also, help the compiler to keep LEN in a register.
59401
59402 2006-08-11  Eric Blake  <ebb9@byu.net>
59403
59404         * users.txt: Sort.  Add tar.
59405
59406 2006-08-11  Bruno Haible  <bruno@clisp.org>
59407
59408         * users.txt: New file.
59409
59410 2006-08-11  Bruno Haible  <bruno@clisp.org>
59411
59412         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Include <stdio.h> and <time.h>
59413         before <wchar.h>. Needed for OSF/1 and BSD/OS.
59414
59415 2006-08-10  Paul Eggert  <eggert@cs.ucla.edu>
59416
59417         * modules/snprintf (Depends-on): Remove minmax.
59418         (Maintainer): Add self and Bruno.
59419
59420 2006-08-10  Paul Eggert  <eggert@cs.ucla.edu>
59421
59422         * lib/.cppi-disable: Add snprintf.h, socket_.h.
59423         * lib/snprintf.c: Include <errno.h> and <limits.h>.
59424         (EOVERFLOW): Define if the system does not.
59425         Do not include "minmax.h"; it wasn't used.
59426         (snprintf): Don't assume size_t promotes to an unsigned type.
59427         Fix bug when generated string was too long for the buffer: the
59428         buffer's contents are supposed to be the initial prefix of the
59429         output.  Don't assume vasnprintf returns EOVERFLOW if the size
59430         exceeds INT_MAX; do the check ourselves.
59431
59432         Import the following changes from libc:
59433
59434         2006-06-02  Jakub Jelinek  <jakub@redhat.com>
59435
59436         * lib/posix/regex_internal.c (re_string_skip_chars): If no character
59437         has been converted at all, set *last_wc to WEOF.  If mbrtowc failed,
59438         set wc to the byte which couldn't be converted.
59439         (re_string_reconstruct): Don't clear valid_raw_len before calling
59440         re_string_skip_chars.  If wc is WEOF after re_string_skip_chars, set
59441         tip_context using re_string_context_at.
59442
59443         2006-05-02  Ulrich Drepper  <drepper@redhat.com>
59444
59445         * lib/posix/regex.h: g++ still cannot handled [restrict].
59446
59447         2006-04-21  Ulrich Drepper  <drepper@redhat.com>
59448
59449         * lib/posix/regex.h: Remove special handling for VMS.
59450
59451 2006-08-10  Jim Meyering  <jim@meyering.net>
59452
59453         * modules/same-inode: New module.
59454         * modules/dev-ino: New module.
59455         * modules/cycle-check: Depend on these modules, rather than simply
59456         including their .h files.
59457         (Makefile.am): Don't list cycle-check.[ch] here, now that they're
59458         required via m4/cycle-check.m4.
59459         * modules/same: Depend on new same-inode module, rather than
59460         including same-inode.h.
59461         * modules/chdir-safer: New file.
59462
59463         * modules/chown (Depends-on): Add stat-macros.
59464
59465 2006-08-10  Jim Meyering  <jim@meyering.net>
59466
59467         * m4/cycle-check.m4: New file.
59468         Require gl_STRUCT_DEV_INO and gl_SAME_INODE.
59469         * m4/dev-ino.m4, m4/same-inode.m4: New files.
59470
59471 2006-08-10  Eric Blake  <ebb9@byu.net>
59472
59473         * modules/verror (Depends-on): Remove bogus gl_VERROR that snuck
59474         in from original proposal.
59475
59476 2006-08-10  Eric Blake  <ebb9@byu.net>
59477         and Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
59478
59479         * gnulib-tool (func_import): Detect unexpanded macros in gnulib
59480         namespace.
59481
59482 2006-08-10  Bruno Haible  <bruno@clisp.org>
59483
59484         * gnulib-tool (func_create_testdir): Detect unexpanded macros here
59485         as well.
59486
59487 2006-08-09  Paul Eggert  <eggert@cs.ucla.edu>
59488
59489         Sync from coreutils.
59490
59491         2006-07-19  Mike Frysinger  <vapier@gentoo.org>
59492
59493         * lib/mountlist.c [ME_REMOTE]: Filter out cifs.
59494         Reported by Toralf Förster in <http://bugs.gentoo.org/141012>.
59495
59496 2006-08-09  Paul Eggert  <eggert@cs.ucla.edu>
59497
59498         * modules/restrict: Remove; no longer needed now that we assume
59499         Autoconf 2.59 or later.
59500         * MODULES.html.sh: Remove 'restrict'.
59501         * modules/argp (Depends-on): Remove 'restrict'.
59502         * modules/base64 (Depends-on): Likewise.
59503         * modules/gc (Depends-on): Likewise.
59504         * modules/getaddrinfo (Depends-on): Likewise.
59505         * modules/glob (Depends-on): Likewise.
59506         * modules/inet_ntop (Depends-on): Likewise.
59507         * modules/inet_pton (Depends-on): Likewise.
59508         * modules/memxor (Depends-on): Likewise.
59509         * modules/regex (Depends-on): Likewise.
59510         * modules/strtok_r (Depends-on): Likewise.
59511         * modules/time_r (Depends-on): Likewise.
59512
59513 2006-08-09  Paul Eggert  <eggert@cs.ucla.edu>
59514
59515         * m4/argp.m4 (gl_ARGP): Require AC_C_RESTRICT.
59516         * m4/gc.m4 (gl_PREREQ_GC): Likewise.
59517         * m4/glob.m4 (gl_PREREQ_GLOB): Likewise.
59518         * m4/inet_ntop.m4 (gl_PREREQ_INET_NTOP): Likewise.
59519         * m4/inet_pton.m4 (gl_PREREQ_INET_PTON): Likewise.
59520         * m4/memxor.m4 (gl_MEMXOR): Likewise.
59521         * m4/restrict.m4: Remove; no longer needed.  All remaining uses of
59522         gl_C_RESTRICT replaced by AC_C_RESTRICT.
59523
59524         Merge from coreutils.
59525         * m4/regex.m4 (gl_PREREQ_REGEX): Require AC_C_RESTRICT, not
59526         gl_C_RESTRICT, now that we assume Autoconf 2.59 or later.
59527         * m4/strtok_r.m4 (gl_FUNC_STRTOK_R): Likewise.
59528         * m4/time_r.m4 (gl_TIME_R): Likewise.
59529
59530 2006-08-09  Karl Berry  <karl@gnu.org>
59531
59532         * config/srclist.txt: no more gettext-tools, per Bruno.
59533
59534 2006-08-08  Eric Blake  <ebb9@byu.net>
59535
59536         * modules/verror: New module.
59537         * MODULES.html.sh: Document it.
59538
59539 2006-08-08  Eric Blake  <ebb9@byu.net>
59540
59541         * lib/verror.h, lib/verror.c: New files.
59542
59543 2006-08-08  Eric Blake  <ebb9@byu.net>
59544
59545         * lib/verror.c (verror_at_line): Work around glibc bug 2997, so that
59546         verror_at_line output complies with GNU Coding Standards even when
59547         file is NULL.
59548
59549 2006-08-07  Bruno Haible  <bruno@clisp.org>
59550
59551         * lib/allocsa.h (sa_alignof) [_AIX]: Also consider 'long long' in newer
59552         versions of AIX.
59553         Reported by Ralf Wildenhues.
59554
59555 2006-08-07  Bruno Haible  <bruno@clisp.org>
59556
59557         * gnulib-tool (func_create_testdir): Wrap the set of autoconf snippets
59558         in an AC_DEFUN. Needed so that the autoconf snippets can use
59559         AC_REQUIRE.
59560
59561 2006-08-06  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
59562
59563         * gnulib-tool (func_emit_lib_Makefile_am, func_emit_tests_Makefile_am):
59564         Initialize pkgdata_DATA.
59565         * modules/javaversion (Makefile.am): Add to pkgdata_DATA, rather than
59566         overriding it.
59567
59568 2006-08-06  Eric Blake  <ebb9@byu.net>
59569
59570         * lib/error.h: Fold in some upstream changes from glibc.
59571         * lib/error.c: Likewise.
59572
59573 2006-08-04  Bruno Haible  <bruno@clisp.org>
59574
59575         * gnulib-tool (func_emit_lib_Makefile_am, func_emit_tests_Makefile_am):
59576         Make the mostlyclean-local rule depend on mostlyclean-generic.
59577         Reported by Jim Meyering. Solution suggested by Ralf Wildenhues.
59578
59579 2006-07-31  Bruno Haible  <bruno@clisp.org>
59580
59581         * m4/localcharset.m4 (gl_LOCALCHARSET): Remove tests for <stddef.h>,
59582         <stdlib.h>, <string.h>.
59583
59584 2006-07-30  Bruno Haible  <bruno@clisp.org>
59585
59586         * modules/readlink (License): Change to LGPL.
59587
59588 2006-07-30  Bruno Haible  <bruno@clisp.org>
59589
59590         * modules/javaversion (Makefile.am): Distribute javaversion.java and
59591         javaversion.class. Also install javaversion.class in $(pkgdatadir) and
59592         set PKGDATADIR to point to it.
59593
59594 2006-07-30  Bruno Haible  <bruno@clisp.org>
59595
59596         * modules/csharpexec (configure.ac): Comment out macro invocation.
59597         * modules/javaexec (configure.ac): Likewise.
59598         * modules/javacomp-script (configure.ac): Likewise.
59599
59600         * modules/csharpcomp-script (configure.ac): Use AC_REQUIRE.
59601
59602 2006-07-30  Bruno Haible  <bruno@clisp.org>
59603
59604         * modules/clean-temp (Depends-on): Add linkedhash-list, remove
59605         linked-list.
59606
59607 2006-07-30  Bruno Haible  <bruno@clisp.org>
59608
59609         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Assume <string.h> exists.
59610
59611 2006-07-30  Bruno Haible  <bruno@clisp.org>
59612
59613         * gnulib-tool (func_emit_lib_Makefile_am, func_emit_tests_Makefile_am):
59614         Initialize MOSTLYCLEANFILES to core and *.stackdump, so that core dumps
59615         get removed.
59616
59617 2006-07-29  Bruno Haible  <bruno@clisp.org>
59618
59619         Make it possible for gnulib-tool to work with locally modified or
59620         augmented gnulib repositories.
59621         * gnulib-tool (func_usage): Document --local-dir option.
59622         (local_gnulib_dir): New variable.
59623         Handle --local-dir option.
59624         (func_lookup_file): New function.
59625         (func_all_modules, func_verify_module): Look also in $local_gnulib_dir.
59626         (func_get_description, func_get_filelist, func_get_description,
59627         func_get_filelist, func_get_dependencies, func_get_autoconf_snippet,
59628         func_get_automake_snippet, func_get_include_directive,
59629         func_get_license, func_get_maintainer): Use func_lookup_file.
59630         (func_import, func_create_testdir): Use func_lookup_file.
59631
59632 2006-07-29  Bruno Haible  <bruno@clisp.org>
59633
59634         * modules/setenv (Depends-on): Add unistd.
59635
59636 2006-07-29  Bruno Haible  <bruno@clisp.org>
59637
59638         * lib/setenv.c: Undo unintended modification done on 2006-02-27.
59639
59640 2006-07-29  Bruno Haible  <bruno@clisp.org>
59641
59642         * lib/localcharset.c: Assume <stddef.h>, <stdlib.h>, <string.h> exist.
59643
59644 2006-07-29  Bruno Haible  <bruno@clisp.org>
59645
59646         * gnulib-tool (import, update): If there is no Makefile.am, look at
59647         aclocal.m4, instead of bailing out.
59648
59649 2006-07-29  Bruno Haible  <bruno@clisp.org>
59650
59651         * gnulib-tool (func_usage): Revert most of the 2006-07-15 change.
59652         Categorize the options by when they are useful.
59653
59654 2006-07-29  Bruno Haible  <bruno@clisp.org>
59655
59656         * gnulib-tool (func_usage): Document option --no-libtool.
59657         Handle option --no-libtool.
59658         (func_emit_lib_Makefile_am, func_emit_tests_Makefile_am): Update
59659         for changed semantics of $libtool variable.
59660         (func_import): Likewise. If libtool is not used, show this through
59661         an option --no-libtool.
59662         (func_create_testdir): Update.
59663
59664 2006-07-29  Bruno Haible  <bruno@clisp.org>
59665
59666         * gnulib-tool (func_import): Extend error message about missing
59667         --doc-base.
59668
59669 2006-07-29  Bruno Haible  <bruno@clisp.org>
59670
59671         * gnulib-tool (func_import): Don't create the $docbase directory if
59672         there is no file to store there.
59673
59674 2006-07-29  Bruno Haible  <bruno@clisp.org>
59675
59676         * gnulib-tool (autoconf_minversion): If a --dir option is given and
59677         relevant, look for configure.ac there, not in the current directory.
59678         Also use a simple search for AC_PREREQ, not "autoconf --trace".
59679
59680 2006-07-29  Bruno Haible  <bruno@clisp.org>
59681
59682         * gnulib-tool (SORT): New variable.
59683         (func_usage): Undocument --assume-autoconf option.
59684         Remove --assume-autoconf option handling.
59685         (autoconf_minversion): Determine from the contents of configure.ac.
59686         (func_import): Remove autoconf_minversion handling.
59687         Suggested by Eric Blake.
59688
59689 2006-07-29  Bruno Haible  <bruno@clisp.org>
59690
59691         * doc/gnulib-tool.texi (gl_LIBTOOL): Mention --no-libtool option.
59692
59693 2006-07-29  Bruno Haible  <bruno@clisp.org>
59694
59695         * config/srclist.txt (*setenv.[ch]): Remove rules.
59696
59697 2006-07-28  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
59698
59699         * m4/inet_pton.m4, inet_ntop.m4: Check for netinet/in.h too.
59700
59701 2006-07-28  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
59702
59703         * lib/inet_ntop.h, inet_pton.h: Need to include netinet/in.h before
59704         arpa/inet.h.
59705
59706 2006-07-28  Simon Josefsson  <jas@extundo.com>
59707
59708         * modules/inet_ntop (Depends-on): Depend on arpa_inet.
59709         * modules/inet_pton (Depends-on): Likewise.
59710
59711 2006-07-28  Simon Josefsson  <jas@extundo.com>
59712
59713         * m4/netinet_in_h.m4: New file.
59714
59715 2006-07-28  Simon Josefsson  <jas@extundo.com>
59716
59717         * lib/inet_ntop.h, inet_pton.h: No need to guard netinet/in.h
59718         #include's.
59719
59720 2006-07-28  Simon Josefsson  <jas@extundo.com>
59721
59722         * lib/inet_ntop.h, inet_pton.h: No need to guard arpa/inet.h
59723         #include's.
59724
59725 2006-07-28  Paul Eggert  <eggert@cs.ucla.edu>
59726
59727         * lib/modechange.c (mode_compile): Numeric modes now affect setuid and
59728         setgid on directories only if they set these bits.
59729         * lib/modechange.h: Remove obsolete comment about masks.
59730
59731 2006-07-28  Eric Blake  <ebb9@byu.net>
59732
59733         * lib/regex_internal.h (struct re_dfa_t) [!_LIBC]: Avoid invalid C89
59734         macro expansion.
59735
59736 2006-07-28  Bruno Haible  <bruno@clisp.org>
59737
59738         * lib/inet_ntop.h, inet_pton.h: Use #if HAVE* instead of #ifdef HAVE*.
59739
59740 2006-07-28  Bruno Haible  <bruno@clisp.org>
59741
59742         * m4/mbchar.m4 (gl_MBCHAR): Also test for iswcntrl.
59743
59744 2006-07-28  Bruno Haible  <bruno@clisp.org>
59745
59746         * lib/mbchar.h (iswalnum, iswalpha, iswblank, iswcntrl, iswdigit,
59747         iswgraph, iswlower, iswprint, iswpunct, iswspace, iswupper, iswxdigit):
59748         Define fallbacks.
59749         Avoids link error on FreeBSD 4.x.
59750         Reported by Yoann Vandoorselaere <yoann.v@prelude-ids.com>.
59751
59752         * lib/wcwidth.h (iswprint): Assume an ASCII compatible wide character
59753         encoding.
59754         * lib/mbswidth.c (iswcntrl): Likewise.
59755
59756 2006-07-27  Bruno Haible  <bruno@clisp.org>
59757
59758         * m4/stdint.m4 (gl_STDINT_H): Define __STDC_CONSTANT_MACROS during the
59759         test.
59760
59761 2006-07-27  Bruno Haible  <bruno@clisp.org>
59762
59763         * lib/stdint_.h (INT*_C, UINT*_C) [C++]: Define these if
59764         __STDC_CONSTANT_MACROS is defined, not if __STDC_LIMIT_MACROS is
59765         defined.
59766
59767 2006-07-26  Eric Blake  <ebb9@byu.net>
59768
59769         * m4/unistd-safer.m4 (gl_UNISTD_SAFER): Check for missing pipe.
59770
59771 2006-07-26  Eric Blake  <ebb9@byu.net>
59772
59773         * lib/mkstemp-safer.c [! HAVE_MKSTEMP]: Add prototype for platforms
59774         like mingw that lack mkstemp.
59775         * lib/pipe-safer.c (pipe_safer) [!HAVE_FUNC_PIPE]: Provide fallback to
59776         avoid compilation warning on mingw.
59777
59778 2006-07-26  Bruno Haible  <bruno@clisp.org>
59779
59780         * m4/stdint.m4 (gl_STDINT_H): Also verify the existence of the macros
59781         INT*_MIN, INT_LEAST*_MAX, INT_LEAST*_MIN, UINT_LEAST*_MAX,
59782         INT_FAST*_MIN, INTPTR_MIN.
59783
59784 2006-07-25  Bruno Haible  <bruno@clisp.org>
59785
59786         * modules/version-etc (Depends-on): Add stdarg.
59787
59788 2006-07-25  Bruno Haible  <bruno@clisp.org>
59789
59790         * m4/stdint.m4 (gl_INTEGER_TYPE_SUFFIX): Avoid 'eval' in front of
59791         complex commands.
59792
59793 2006-07-25  Bruno Haible  <bruno@clisp.org>
59794
59795         * lib/version-etc.c (version_etc_va): Use va_copy, assumed to be
59796         defined in <stdarg.h> or config.h.
59797
59798 2006-07-24  Paul Eggert  <eggert@cs.ucla.edu>
59799
59800         * m4/stdio-safer.m4 (gl_FOPEN_SAFER, gl_TMPFILE_SAFER): New macros.
59801         (gl_STDIO_SAFER): Remove.
59802
59803 2006-07-24  Paul Eggert  <eggert@cs.ucla.edu>
59804
59805         * MODULES.html.sh (File stream based Input/Output):
59806         Add fopen-safer, tmpfile-safer; remove stdio-safer.
59807         * modules/getusershell (Depends-on): Change stdio-safer to fopen-safer.
59808         * modules/fopen-safer, modules/tmpfile-safer: New files.
59809         * modules/stdio-safer: Remove.
59810
59811 2006-07-24  Bruno Haible  <bruno@clisp.org>
59812
59813         * modules/tmpdir: New file.
59814         * MODULES.html.sh (File system functions): Add it.
59815
59816 2006-07-24  Bruno Haible  <bruno@clisp.org>
59817
59818         * modules/javacomp (Depends-on): Add unistd, javaversion, binary-io,
59819         getline, pathname, fwriteerror, clean-temp, xvasprintf, strstr.
59820
59821 2006-07-24  Bruno Haible  <bruno@clisp.org>
59822
59823         * modules/clean-temp: New file.
59824
59825 2006-07-24  Bruno Haible  <bruno@clisp.org>
59826
59827         * m4/tmpdir.m4: New file, from GNU gettext.
59828
59829 2006-07-24  Bruno Haible  <bruno@clisp.org>
59830
59831         * lib/tmpdir.h: New file, from GNU gettext.
59832         * lib/tmpdir.c: New file, from GNU gettext.
59833
59834 2006-07-24  Bruno Haible  <bruno@clisp.org>
59835
59836         * lib/clean-temp.h: New file, from GNU gettext.
59837         * lib/clean-temp.c: New file, from GNU gettext.
59838
59839 2006-07-23  Eric Blake  <ebb9@byu.net>
59840
59841         * modules/stdio-safer (Files): Add tmpfile-safer.c.
59842         (Depends-on): Add binary-io.
59843
59844 2006-07-23  Eric Blake  <ebb9@byu.net>
59845
59846         * m4/stdio-safer.m4 (gl_STDIO_SAFER): Add tmpfile-safer.c.
59847
59848 2006-07-23  Eric Blake  <ebb9@byu.net>
59849
59850         * lib/tmpfile-safer.c: New file.
59851         * lib/stdio-safer.h (fopen_safer): Add prototype.
59852         * lib/stdio--.h (tmpfile): Make safer.
59853
59854 2006-07-23  Bruno Haible  <bruno@clisp.org>
59855
59856         * lib/gl_anylinked_list2.h (ASYNCSAFE): New macro.
59857         (gl_linked_add_first, gl_linked_add_last, gl_linked_add_before,
59858         gl_linked_add_after, gl_linked_add_at, gl_linked_remove_node,
59859         gl_linked_remove_at): Use it.
59860
59861 2006-07-22  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
59862         and Simon Josefsson <jas@extundo.com>
59863
59864         * lib/getaddrinfo.h (AI_PASSIVE): Make sure it is defined.
59865
59866         * lib/getaddrinfo.c (getaddrinfo): Support AI_PASSIVE.
59867
59868 2006-07-22  Paul Eggert  <eggert@cs.ucla.edu>
59869
59870         * modules/close-stream: New file.
59871         * modules/closeout (Description): Make it clear that it exits
59872         with a diagnostic on error.
59873         (Depends-on): Add close-stream.  Remove fpending, stdbool.
59874         * MODULES.html.sh (File stream based Input/Output): Add close-stream.
59875
59876 2006-07-22  Paul Eggert  <eggert@cs.ucla.edu>
59877
59878         * m4/close-stream.m4: New file.
59879
59880 2006-07-22  Paul Eggert  <eggert@cs.ucla.edu>
59881
59882         * lib/close-stream.c, lib/close-stream.h: New files.
59883
59884 2006-07-22  Bruno Haible  <bruno@clisp.org>
59885
59886         Merge from GNU gettext 0.15.
59887
59888         2006-05-01  Bruno Haible  <bruno@clisp.org>
59889
59890                 * build-aux/javacomp.sh.in: Update for changed javacomp.m4.
59891
59892         2006-07-22  Bruno Haible  <bruno@clisp.org>
59893
59894                 * modules/javaversion: New file.
59895                 * MODULES.html.sh (Java): Add javaversion.
59896
59897         2006-03-12  Bruno Haible  <bruno@clisp.org>
59898
59899                 * build-aux/javaexec.sh.in: Update for changed javaexec.m4.
59900
59901         2005-12-04  Bruno Haible  <bruno@clisp.org>
59902
59903                 * build-aux/csharpexec.sh.in: Add support for 'clix' launcher
59904                 (untested).
59905
59906         2006-06-21  Bruno Haible  <bruno@clisp.org>
59907
59908                 Avoid warnings from recent versions of mcs.
59909                 * build-aux/csharpcomp.sh.in (options_mcs): Don't use options
59910                 -o, -L, -r any more. Use options documented since mcs-1.0
59911                 instead. Similarly for -g.
59912
59913         2005-12-04  Bruno Haible  <bruno@clisp.org>
59914
59915                 * build-aux/csharpcomp.sh.in: Suffix for resources is
59916                 .resources, not .resource.
59917
59918         2005-07-09  Bruno Haible  <bruno@clisp.org>
59919
59920                 * build-aux/csharpcomp.sh.in (options_csc): For -l option,
59921                 add a .dll suffix.
59922                 Reported by Mark Junker <mjscod@gmx.de>.
59923
59924         2006-07-22  Bruno Haible  <bruno@clisp.org>
59925
59926                 * modules/gettext: Upgrade to gettext-0.15.
59927                 (Files): Remove m4/isc-posix.m4. Add m4/lock.m4,
59928                 m4/visibility.m4.
59929                 Replace m4/inttypes.m4 with m4/inttypes-h.m4.
59930
59931 2006-07-22  Bruno Haible  <bruno@clisp.org>
59932
59933         Merge from GNU gettext 0.15.
59934
59935         2006-03-25  Bruno Haible  <bruno@clisp.org>
59936
59937                 * lib-link.m4 (AC_LIB_LINKFLAGS_FROM_LIBS): New macro.
59938
59939         2006-07-21  Bruno Haible  <bruno@clisp.org>
59940
59941                 * javacomp.m4 (gt_JAVACOMP): Convert target_version "null" to
59942                 "1.1".
59943
59944         2006-05-09  Bruno Haible  <bruno@clisp.org>
59945
59946                 * javacomp.m4 (gt_JAVACOMP): On Cygwin, set
59947                 CLASSPATH_SEPARATOR to a semicolon. Use CLASSPATH_SEPARATOR
59948                 for the conftestver execution.
59949
59950         2006-05-01  Bruno Haible  <bruno@clisp.org>
59951
59952                 * javacomp.m4 (gt_JAVACOMP): Accept a source-version and an
59953                 optional target-version argument. Verify that the compiler
59954                 groks source of the specified source-version, or add -source
59955                 option as necessary. Verify that the compiler produces
59956                 bytecode in the specified target-version, or add -target and
59957                 -source options as necessary. Make the result of the test
59958                 available as variable CONF_JAVAC. Also log error output in
59959                 config.log.
59960
59961         2006-03-11  Bruno Haible  <bruno@clisp.org>
59962
59963                 * javacomp.m4 (gt_JAVACOMP): Treat gcj-4.x like gcj-3.x.
59964
59965         2006-05-09  Bruno Haible  <bruno@clisp.org>
59966
59967                 * javaexec.m4 (gt_JAVAEXEC): On Cygwin, set
59968                 CLASSPATH_SEPARATOR to a semicolon.
59969
59970         2006-03-12  Bruno Haible  <bruno@clisp.org>
59971
59972                 * javaexec.m4 (gt_JAVAEXEC): Make the result of the test
59973                 available as variable CONF_JAVA, for subsequent autoconf
59974                 tests. Also log error output in config.log.
59975
59976         2006-07-19  Bruno Haible  <bruno@clisp.org>
59977
59978                 * getline.m4 (AM_FUNC_GETLINE): When cross-compiling, assume
59979                 that getline works on glibc2 systems. Needed to avoid trouble
59980                 in relocatable.c.
59981                 Reported by Nils Magnus Larsgard <nmlarsgaard@atmel.no>.
59982
59983         2005-12-04  Bruno Haible  <bruno@clisp.org>
59984
59985                 * csharpexec.m4 (gt_CSHARPEXEC): Add support for 'clix'
59986                 launcher (untested).
59987
59988         2005-12-04  Bruno Haible  <bruno@clisp.org>
59989
59990                 * csharpcomp.m4 (gt_CSHARPCOMP): Also set CSHARPCOMPFLAGS.
59991
59992         2006-07-22  Bruno Haible  <bruno@clisp.org>
59993
59994                 * gettext.m4: Update from GNU gettext-0.15.
59995                 * nls.m4: Likewise.
59996                 * po.m4: Likewise.
59997                 * inttypes-pri.m4: Likewise.
59998                 * inttypes-h.m4: Renamed from inttypes.m4.
59999                 (gl_HEADER_INTTYPES_H): Renamed from gt_HEADER_INTTYPES_H.
60000
60001 2006-07-22  Bruno Haible  <bruno@clisp.org>
60002
60003         Merge from GNU gettext 0.15.
60004
60005         2005-07-05  Bruno Haible  <bruno@clisp.org>
60006
60007                 * printf-args.c (printf_fetchargs): Work around broken
60008                 definition of wint_t on mingw.
60009
60010         2005-02-12  Bruno Haible  <bruno@clisp.org>
60011
60012                 * xallocsa.h: Add extern "C" for C++.
60013
60014         2006-05-17  Bruno Haible  <bruno@clisp.org>
60015
60016                 Cygwin portability.
60017                 * progreloc.c (WIN32_NATIVE): Renamed from WIN32.
60018
60019         2006-04-30  Bruno Haible  <bruno@clisp.org>
60020
60021                 * progreloc.c: Include <mach-o/dyld.h> if available.
60022                 (find_executable): Use _NSGetExecutablePath when possible.
60023
60024         2006-05-06  Charles Wilson  <cygwin@cwilson.fastmail.fm>
60025
60026                 * progreloc.c (maybe_executable) [CYGWIN]: Use the access()
60027                 function.
60028
60029         2005-12-29  Bruno Haible  <bruno@clisp.org>
60030
60031                 * progreloc.c (set_program_name_and_installdir): Fix
60032                 compilation error.
60033
60034         2005-12-04  Bruno Haible  <bruno@clisp.org>
60035
60036                 Cygwin portability.
60037                 * progreloc.c: Include <windows.h> also on Cygwin.
60038                 (find_executable): Add support for Cygwin.
60039                 (set_program_name_and_installdir): Handle also platforms with
60040                 nonempty EXEEXT.
60041
60042         2006-07-11  Bruno Haible  <bruno@clisp.org>
60043
60044                 * javacomp.c: Fix a comment.
60045                 Reported by Jim Meyering.
60046
60047         2006-04-30  Bruno Haible  <bruno@clisp.org>
60048
60049                 * javacomp.h (compile_java_class): Add source_version,
60050                 target_version arguments.
60051                 * javacomp.c: Rewritten to choose only a compiler that
60052                 respects the specified source_version and target_version.
60053
60054         2006-06-27  Bruno Haible  <bruno@clisp.org>
60055
60056                 Assume correct S_ISDIR macro.
60057                 * mkdtemp.c: Remove test of STAT_MACROS_BROKEN.
60058
60059         2006-07-22  Bruno Haible  <bruno@clisp.org>
60060
60061                 * javaversion.h: New file, from GNU gettext.
60062                 * javaversion.c: New file, from GNU gettext.
60063                 * javaversion.java: New file, from GNU gettext.
60064                 * javaversion.class: New file, from GNU gettext.
60065
60066         2006-05-17  Bruno Haible  <bruno@clisp.org>
60067
60068                 Cygwin portability.
60069                 * javaexec.c (execute_java_class): Test for jview program
60070                 also on Cygwin.
60071
60072         2006-04-09  Bruno Haible  <bruno@clisp.org>
60073
60074                 * fatal-signal.c: Don't include string.h.
60075                 (at_fatal_signal): Use a copying loop instead of memcpy.
60076
60077         2005-12-04  Bruno Haible  <bruno@clisp.org>
60078
60079                 * csharpexec.c: Add support for 'clix' launcher (untested).
60080                 (execute_csharp_using_sscli): New function.
60081                 (execute_csharp_program): Call it.
60082
60083         2006-06-21  Bruno Haible  <bruno@clisp.org>
60084
60085                 Avoid warnings from recent versions of mcs.
60086                 * csharpcomp.c (compile_csharp_using_mono): Don't use options
60087                 -o, -L, -r any more. Use options documented since mcs-1.0
60088                 instead. Similarly for -g.
60089
60090         2005-07-09  Bruno Haible  <bruno@clisp.org>
60091
60092                 * csharpcomp.c (compile_csharp_using_sscli): For -l option,
60093                 add a .dll suffix.
60094                 Reported by Mark Junker <mjscod@gmx.de>.
60095
60096         2006-06-17  Bruno Haible  <bruno@clisp.org>
60097
60098                 * config.charset: Update for NetBSD 3.0.
60099
60100         2006-05-17  Bruno Haible  <bruno@clisp.org>
60101
60102                 Cygwin portability.
60103                 * localcharset.c (WIN32_NATIVE): Renamed from WIN32.
60104
60105         2006-05-16  Bruno Haible  <bruno@clisp.org>
60106
60107                 * localcharset.c [CYGWIN]: Include <windows.h>.
60108                 (get_charset_aliases): For Cygwin, return the same CPxxx
60109                 aliases list as under WIN32.
60110                 (locale_charset) [CYGWIN]: Try to retrieve the encoding from
60111                 the environment variables. Fall back to GetACP().
60112
60113         2006-04-05  Bruno Haible  <bruno@clisp.org>
60114
60115                 * config.charset: Update Juan Manuel Guerrero's address.
60116
60117         2005-02-12  Bruno Haible  <bruno@clisp.org>
60118
60119                 * allocsa.h: Add extern "C" for C++.
60120
60121         2005-02-10  Bruno Haible  <bruno@clisp.org>
60122
60123                 * allocsa.h (sa_alignof): Define differently with AIX xlc, to
60124                 avoid a bug of this compiler on AIX 3.2.5 dealing with enums.
60125
60126         2006-07-22  Bruno Haible  <bruno@clisp.org>
60127
60128                 * gettext.h: Update to GNU gettext-0.15.
60129
60130 2006-07-22  Bruno Haible  <bruno@clisp.org>
60131
60132         * config/srclist.txt: Resync printf-args.c, vasnprintf.c,
60133         localcharset.c, mkdtemp.c, config.rpath, lib-ld.m4, lib-link.m4,
60134         lib-prefix.m4, longdouble.m4, ssize_t.m4.
60135
60136 2006-07-21  Eric Blake  <ebb9@byu.net>
60137
60138         * modules/stdlib-safer: New file.
60139         * MODULES.html.sh (File stream based Input/Output): Add
60140         stdlib-safer.
60141
60142 2006-07-21  Eric Blake  <ebb9@byu.net>
60143
60144         * lib/stdlib-safer.h: New file from coreutils, required by
60145         stdlib--.h.
60146
60147 2006-07-20  Paul Eggert  <eggert@cs.ucla.edu>
60148
60149         * gnulib-tool (func_usage): Document --assume-autoconf='latest-stable'.
60150
60151 2006-07-20  Bruno Haible  <bruno@clisp.org>
60152
60153         * gnulib-tool: Recognize new option --assume-autoconf.
60154         (autoconf_minversion): New variable.
60155         (func_get_filelist): Use it to decide whether to add onceonly_2_57.m4.
60156
60157 2006-07-20  Bruno Haible  <bruno@clisp.org>
60158
60159         * MODULES.html.sh (func_all_modules): Add a missing func_begin_table.
60160
60161 2006-07-19  Derek R. Price  <derek@ximbiot.com>
60162
60163         * lib/getaddrinfo.h: Don't define unimplemented AI_* flags.
60164         Reindent and repaginate.
60165
60166 2006-07-19  Derek Price  <derek@ximbiot.com>
60167
60168         * doc/gnulib.texi (Libtool and Windows):  Eliminate passive voice.
60169         Correct grammar.
60170
60171 2006-07-17  Bruno Haible  <bruno@clisp.org>
60172
60173         * modules/list: New file.
60174         * modules/array-list: New file.
60175         * modules/carray-list, modules/carray-list-tests: New files.
60176         * modules/linked-list, modules/linked-list-tests: New files.
60177         * modules/avltree-list, modules/avltree-list-tests: New files.
60178         * modules/rbtree-list, modules/rbtree-list-tests: New files.
60179         * modules/linkedhash-list, modules/linkedhash-list-tests: New files.
60180         * modules/avltreehash-list, modules/avltreehash-list-tests: New files.
60181         * modules/rbtreehash-list, modules/rbtreehash-list-tests: New files.
60182         * modules/oset: New file.
60183         * modules/array-oset: New file.
60184         * modules/avltree-oset, modules/avltree-oset-tests: New files.
60185         * modules/rbtree-oset, modules/rbtree-oset-tests: New files.
60186         * tests/test-carray_list.c: New file.
60187         * tests/test-linked_list.c: New file.
60188         * tests/test-avltree_list.c: New file.
60189         * tests/test-rbtree_list.c: New file.
60190         * tests/test-linkedhash_list.c: New file.
60191         * tests/test-avltreehash_list.c: New file.
60192         * tests/test-rbtreehash_list.c: New file.
60193         * tests/test-avltree_oset.c: New file.
60194         * tests/test-rbtree_oset.c: New file.
60195         * MODULES.html.sh (Container data structures): New section.
60196
60197 2006-07-17  Bruno Haible  <bruno@clisp.org>
60198
60199         * m4/gl_list.m4: New file.
60200
60201 2006-07-17  Bruno Haible  <bruno@clisp.org>
60202
60203         * lib/gl_list.h: New file.
60204         * lib/gl_list.c: New file.
60205         * lib/gl_array_list.h: New file.
60206         * lib/gl_array_list.c: New file.
60207         * lib/gl_carray_list.h: New file.
60208         * lib/gl_carray_list.c: New file.
60209         * lib/gl_linked_list.h: New file.
60210         * lib/gl_linked_list.c: New file.
60211         * lib/gl_anylinked_list1.h: New file.
60212         * lib/gl_anylinked_list2.h: New file.
60213         * lib/gl_avltree_list.h: New file.
60214         * lib/gl_avltree_list.c: New file.
60215         * lib/gl_anyavltree_list1.h: New file.
60216         * lib/gl_anyavltree_list2.h: New file.
60217         * lib/gl_rbtree_list.h: New file.
60218         * lib/gl_rbtree_list.c: New file.
60219         * lib/gl_anyrbtree_list1.h: New file.
60220         * lib/gl_anyrbtree_list2.h: New file.
60221         * lib/gl_anytree_list1.h: New file.
60222         * lib/gl_anytree_list2.h: New file.
60223         * lib/gl_linkedhash_list.h: New file.
60224         * lib/gl_linkedhash_list.c: New file.
60225         * lib/gl_anyhash_list1.h: New file.
60226         * lib/gl_anyhash_list2.h: New file.
60227         * lib/gl_avltreehash_list.h: New file.
60228         * lib/gl_avltreehash_list.c: New file.
60229         * lib/gl_rbtreehash_list.h: New file.
60230         * lib/gl_rbtreehash_list.c: New file.
60231         * lib/gl_anytreehash_list1.h: New file.
60232         * lib/gl_anytreehash_list2.h: New file.
60233
60234         * lib/gl_oset.h: New file.
60235         * lib/gl_oset.c: New file.
60236         * lib/gl_array_oset.h: New file.
60237         * lib/gl_array_oset.c: New file.
60238         * lib/gl_avltree_oset.h: New file.
60239         * lib/gl_avltree_oset.c: New file.
60240         * lib/gl_rbtree_oset.h: New file.
60241         * lib/gl_rbtree_oset.c: New file.
60242         * lib/gl_anytree_oset.h: New file.
60243
60244 2006-07-16  Paul Eggert  <eggert@cs.ucla.edu>
60245
60246         * m4/mkancesdirs.m4: New file.
60247         * m4/mkdir-p.m4 (gl_MKDIR_PARENTS): Mention dirchownmod.c,
60248         dirchownmod.h.  Don't require AC_FUNC_ALLOCA, gl_AFS, gl_CHDIR_SAFER;
60249         no longer needed.  Require gl_FUNC_LCHOWN, since dirchownmod.c needs
60250         it.
60251
60252 2006-07-16  Paul Eggert  <eggert@cs.ucla.edu>
60253
60254         * lib/dirchownmod.c, lib/dirchownmod.h, lib/mkancesdirs.c:
60255         * lib/mkancesdirs.h: New files.
60256         * lib/mkdir-p.c: Don't include alloca.h, stdio.h, sys/types.h,
60257         unistd.h, string.h, chdir-safer.h, dirname.h, lchmod.h, lchown.h,
60258         save-cwd.h.  Instead, include dirchownmod.h and mkancesdirs.h.
60259         (make_dir_parents): New args MAKE_ANCESTOR, OPTIONS, ANNOUNCE,
60260         MODE_BITS.  Remove options VERBOSE_FMT_STRING, CWD_ERRNO.  All
60261         callers changed.  Revamp internals significantly, by not
60262         attempting to create directories that are temporarily more
60263         permissive than the final results.  Do not attempt to use
60264         save_cwd/restore_cwd; it isn't worth it for mkdir and install.
60265         This removes some race conditions, fixes some bugs, and simplifies
60266         things.  Use new dirchownmod function to do owner and mode changes.
60267         * lib/mkdir-p.h: Likewise.
60268         * lib/modechange.c (octal_to_mode): New function.
60269         (struct mode_change): New member mentioned.
60270         (make_node_op_equals): New arg mentioned.  All callers changed.
60271         (mode_compile): Keep track of which mode bits the user has explicitly
60272         mentioned.
60273         (mode_adjust): New arg DIR, so that we implement the X op correctly.
60274         New arg PMODE_BITS, to keep track of which mode bits the user
60275         mentioned; it treats S_ISUID and S_ISGID speciall.
60276         All callers changed.
60277         * lib/modechange.h: Likewise.
60278
60279 2006-07-16  Paul Eggert  <eggert@cs.ucla.edu>
60280
60281         * MODULES.html.sh: Add mkancestors.
60282         * modules/mkancesdirs: New module.
60283         * modules/mkdir-p (Files): Remove lib/chdir-safer.c, lib/chdir-safer.h,
60284         lib/same-inode.h, m4/afs.m4, m4/chdir-safer.m4.
60285         The chdir-safer and afs files are now orphans; I'll remove them
60286         unless someone speaks up.
60287         Add lib/dirchownmod.c, lib/dirchownmod.h.
60288         (Depends-on): Remove alloca, chown, save-cwd, dirname.
60289         Add lchown, mkancesdirs.
60290         (Maintainer): Add self.
60291
60292 2006-07-15  Karl Berry  <karl@gnu.org>
60293
60294         * gnulib-tool: help message wording/arrangement.
60295
60296 2006-07-14  Simon Josefsson  <jas@extundo.com>
60297
60298         * doc/gnulib.texi (Libtool and Windows): New section.
60299
60300 2006-07-12  Simon Josefsson  <jas@extundo.com>
60301
60302         * modules/gendocs (License): Fix license, approved by Karl.
60303
60304 2006-07-12  Eric Blake  <ebb9@byu.net>
60305
60306         * MODULES.html.sh: Add gendocs.
60307
60308 2006-07-11  Eric Blake  <ebb9@byu.net>
60309
60310         * modules/fdl: New module, to install doc/fdl.texi.
60311         * MODULES.html.sh: Add new section for documentation modules.
60312         * gnulib-tool: Avoid space-tab.
60313         (--doc-base): New option, to manage files from doc.
60314
60315 2006-07-11  Eric Blake  <ebb9@byu.net>
60316
60317         * m4/absolute-header.m4: Fix comments to match recent change.
60318
60319 2006-07-11  Eric Blake  <ebb9@byu.net>
60320
60321         * gnulib-tool: List --doc-base before --tests-base.
60322
60323 2006-07-11  Derek R. Price  <derek@ximbiot.com>
60324
60325         * lib/glob.c: s/NAMLEN/_D_EXACT_NAMLEN/.
60326
60327 2006-07-11  Bruno Haible  <bruno@clisp.org>
60328
60329         * README: Mention where to put documentation.
60330
60331 2006-07-10  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
60332
60333         * doc/functions.texi, gnulib-tool.texi, gnulib.texi: Fix some typos.
60334
60335 2006-07-10  Paul Eggert  <eggert@cs.ucla.edu>
60336
60337         * m4/sys_stat_h.m4 (gl_HEADER_SYS_STAT_H): Like today's change
60338         to stdint.m4.
60339
60340 2006-07-10  Paul Eggert  <eggert@cs.ucla.edu>
60341
60342         * m4/stdint.m4 (gl_STDINT_H): Like yesterday's change to
60343         absolute-header.m4.  Also, set ABSOLUTE_STDINT_H to a string
60344         "no/such/file/stdint.h" when there is no such file, so that
60345         the resulting C code can be parsed by dodgy compilers.
60346         Problems reported by Bob Proulx.
60347
60348 2006-07-10  Derek R. Price  <derek@ximbiot.com>
60349
60350         * lib/backupfile.c, dirfd.h, fts.c, getcwd.c, glob.c, glob_.h:
60351         Ignore the obsolescent !HAVE_DIRENT_H case.  Consolidate NAMLEN
60352         macros into the GNU _D_EXACT_NAMLEN.
60353         * lib/savedir.c:  Likewise.
60354         (savedirstream): Use _D_EXACT_NAMLEN in preference to strlen.
60355
60356 2006-07-10  Derek R. Price  <derek@ximbiot.com>
60357         and Paul Eggert  <eggert@cs.ucla.edu>
60358
60359         * m4/backupfile.m4, d-ino.m4, d-type.m4, dirfd.m4, fts.m4, getcwd.m4:
60360         * m4/savedir.m4:
60361         Ignore the obsolescent !HAVE_DIRENT_H case.  Consolidate NAMLEN
60362         macros into the GNU _D_EXACT_NAMLEN.
60363
60364 2006-07-09  Paul Eggert  <eggert@cs.ucla.edu>
60365
60366         * m4/absolute-header.m4 (gl_ABSOLUTE_HEADER): Use "" rather than <>
60367         around the absolute name, to work around a problem with the HP-UX
60368         11.23 native C compiler, reported by Bob Proulx.
60369
60370 2006-07-09  Paul Eggert  <eggert@cs.ucla.edu>
60371
60372         * doc/maintain.texi, make-stds.texi: Sync from
60373         <http://savannah.gnu.org/projects/gnustandards>.
60374
60375 2006-07-09  Paul Eggert  <eggert@cs.ucla.edu>
60376
60377         * build-aux/depcomp, build-aux/install-sh: Sync from Automake.
60378
60379 2006-07-09  Jim Meyering  <jim@meyering.net>
60380
60381         * m4/glob.m4: Remove a doubled word in a comment.
60382
60383 2006-07-09  Jim Meyering  <jim@meyering.net>
60384
60385         * lib/argp-pv.c: Remove a doubled word in a comment.
60386         * lib/check-version.c (check_version): Likewise.
60387         * lib/javacomp.c (compile_java_class): Likewise.
60388
60389 2006-07-08  Paul Eggert  <eggert@cs.ucla.edu>
60390
60391         * gnulib-tool (func_get_filelist): Don't echo m4/onceonly_2_57.m4,
60392         for the benefit of people using Autoconf 2.60.  If you want to
60393         support older Autoconf versions you can copy m4/onceonly_2_57.m4
60394         (or m4/onceonly.m4, if pre-2.57) manually.
60395
60396 2006-07-08  Jim Meyering  <jim@meyering.net>
60397
60398         * m4/link-follow.m4: Remove one of two adjacent "whether"s in a
60399         comment.
60400         * m4/getopt.m4: Remove one of two adjacent "your"s in a comment.
60401         * m4/regex.m4 (gl_REGEX): Remove one of two adjacent "the"s in a
60402         comment.
60403
60404 2006-07-08  Jim Meyering  <jim@meyering.net>
60405
60406         * lib/getndelim2.h (getndelim2): Remove doubled "after" in comment.
60407
60408 2006-07-07  Simon Josefsson  <jas@extundo.com>
60409
60410         * tests/test-crc.c: Change expected crc value, the test vector
60411         were probably computed using the old broken crc.c?
60412
60413 2006-07-06  Simon Josefsson  <jas@extundo.com>
60414
60415         * modules/sys_socket (Files): Add m4/sockpfaf.m4 (this module is
60416         now the canonical place for the M4 file).
60417
60418         * modules/getaddrinfo (Files): Remove m4/sockpfaf.m4, we get it
60419         from the sys_socket dependency now.
60420
60421         * modules/inet_pton (Files): Ditto.
60422
60423         * modules/inet_ntop (Files): Ditto.
60424
60425 2006-07-06  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>  (tiny change)
60426
60427         * modules/getusershell (configure.ac): Use gl_FUNC_GETUSERSHELL,
60428         not gl_PREREQ_GETUSERSHELL.
60429
60430 2006-07-06  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
60431
60432         * m4/_inttypes_h.m4 (gl_INTTYPES_H): Use AC_CHECK_DECLS_ONCE
60433         with only one argument, for Autoconf 2.60.
60434         * m4/fileblocks.m4 (gl_PREREQ_FILEBLOCKS): AC_CHECK_DECLS_ONCE may
60435         expand to nothing, so add a shell command to avoid syntax error.
60436         * m4/getpass.m4 (gl_PREREQ_GETPASS): Likewise.
60437
60438 2006-07-06  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
60439
60440         * lib/strtod.c (strtod): cast the argument of tolower to unsigned char.
60441
60442 2006-07-06  Paul Eggert  <eggert@cs.ucla.edu>
60443
60444         * m4/fnmatch.m4 (_AC_LIBOBJ_FNMATCH): Don't check for getenv decl;
60445         no longer needed.  Check for isblank decl.
60446         * m4/mkstemp.m4 (gl_PREREQ_TEMPNAME): Don't check for getenv decl.
60447         * m4/regex.m4 (gl_PREREQ_REGEX): Dheck for isblank decl instead
60448         of existence.
60449
60450 2006-07-06  Paul Eggert  <eggert@cs.ucla.edu>
60451
60452         * lib/getloadavg.c: Use __VMS, not VMS.
60453         * lib/getopt.c: Likewise.
60454         * lib/getpagesize.h: Likewise.
60455         * lib/glob.c: Remove most VMS cruft; it hasn't been tested for a while
60456         and probably does not work.
60457
60458 2006-07-06  Paul Eggert  <eggert@cs.ucla.edu>
60459
60460         * lib/.cppi-disable: Add wcwidth.
60461         * lib/fnmatch.c (ISBLANK): Remove.  All uses changed to isblank.
60462         (isblank) [! (defined isblank || HAVE_DECL_ISBLANK)]: New macro.
60463         (ISGRAPH): Remove.  All uses changed to isgraph.
60464         (FOLD) [!defined _LIBC]: Remove special case.
60465         * lib/getdate.y (lookup_word): Remove no-longer-needed call to islower.
60466         * lib/regex_internal.h (isblank): Depend on HAVE_DECL_ISBLANK, not
60467         HAVE_ISBLANK.
60468         * lib/strftime.c (TOLOWER, TOUPPER) [!defined _LIBC]: Remove special
60469         case.
60470
60471 2006-07-06  Jim Hyslop  <jhyslop@dreampossible.ca>  (tiny change)
60472
60473         * lib/getaddrinfo.c: Changes to compile under MSVC6: changed
60474         '#if WIN32_NATIVE' to '#ifdef' & moved WSAAPI macro inside
60475         brackets.  Other minor changes to suppress some compiler
60476         warnings.
60477
60478 2006-07-06  Derek R. Price  <derek@ximbiot.com>
60479         and Paul Eggert  <eggert@cs.ucla.edu>
60480
60481         * m4/backupfile.m4 (gl_BACKUPFILE): Check for dirent.h, instead
60482         of invoking obsolescent AC_HEADER_DIRENT macro.
60483         * m4/d-ino.m4 (gl_CHECK_TYPE_STRUCT_DIRENT_D_INO): Likewise.
60484         * m4/d-type.m4 (gl_CHECK_TYPE_STRUCT_DIRENT_D_TYPE): Likewise.
60485         * m4/dirfd.m4 (gl_FUNC_DIRFD): Likewise.
60486         * m4/fts.m4 (gl_FUNC_FTS_CORE): Likewise.
60487         * m4/getcwd.m4 (gl_PREREQ_GETCWD): Likewise.
60488         * m4/glob.m4 (gl_PREREQ_GLOB): Likewise.
60489         * m4/savedir.m4 (gl_SAVEDIR): Likewise.
60490         * m4/readdir.m4: Remove; no longer needed.
60491
60492 2006-07-06  Derek R. Price  <derek@ximbiot.com>
60493         and Paul Eggert  <eggert@cs.ucla.edu>
60494
60495         * lib/backupfile.c [HAVE_DIRENT_H && ! HAVE_NDIR_H]:
60496         Don't worry about this obsolete case any more.
60497         (HAVE_DIR): Remove.  All uses removed; we now assume you can read
60498         directories.
60499         * lib/dirfd.h [HAVE_DIRENT_H && ! HAVE_NDIR_H]: Don't
60500         worry about this obsolete case any more.
60501         * lib/fts.c: Likewise.
60502         * lib/getcwd.c: Likewise.
60503         * lib/glob.h: Likewise.
60504         * lib/savedir.c: Likewise.
60505
60506 2006-07-05  Paul Eggert  <eggert@cs.ucla.edu>
60507
60508         * m4/xstrtol.m4 (gl_PREREQ_XSTRTOL): Use AC_CHECK_DECLS_ONCE
60509         rather than AC_CHECK_DECLS for strtoimax and strtoumax.
60510         * m4/getusershell.m4 (gl_PREREQ_GETUSERSHELL): Remove; no longer
60511         needed.
60512         All uses removed.
60513         * m4/strtol.m4 (gl_PREREQ_STRTOL): Likewise.
60514         * m4/strtoul.m4 (gl_PREREQ_STRTOUL): Likewise.
60515         * m4/exclude.m4 (gl_EXCLUDE): Don't check for isascii; no longer
60516         needed.
60517         * m4/getdate.m4 (gl_GETDATE): Likewise.
60518         * m4/getusershell.m4 (gl_PREREQ_GETUSERSHELL): Likewise.
60519         * m4/memcasecmp.m4 (gl_MEMCASECMP): Likewise.
60520         * m4/strtod.m4 (gl_FUNC_STRTOD): Likewise.
60521         * m4/strtol.m4 (gl_PREREQ_STRTOL): Likewise.
60522         * m4/strtoul.m4 (gl_PREREQ_STRTOUL): Likewise.
60523         * m4/xstrtol.m4 (gl_PREREQ_XSTRTOL): Likewise.
60524         * m4/exclude.m4 (gl_EXCLUDE): Don't require AC_C_INLINE; no longer
60525         needed.
60526
60527 2006-07-05  Paul Eggert  <eggert@cs.ucla.edu>
60528
60529         * lib/memcasecmp.c: Include <limits.h>.
60530         (memcasecmp): Don't assume UCHAR_MAX <= INT_MAX.
60531         * lib/strtod.c (strtod): Don't assume isspace works on negative chars.
60532         Don't assume isdigit succeeds only on '0' through '9'.
60533
60534 2006-07-05  Eric Blake  <ebb9@byu.net>
60535
60536         * modules/getaddrinfo (Depends-on): Add snprintf.
60537
60538 2006-07-05  Eric Blake  <ebb9@byu.net>
60539
60540         * m4/sockpfaf.m4 (gl_SOCKET_FAMILIES): Use gl_HEADER_SYS_SOCKET
60541         to avoid 'header present but could not be compiled' on cygwin.
60542
60543 2006-07-05  Eric Blake  <ebb9@byu.net>
60544
60545         * lib/getaddrinfo.h (NI_NUMERICHOST, NI_NUMERICSERV): Define if
60546         missing from netdb.h.
60547         * lib/getaddrinfo.c (includes): Include inet_ntop and snprintf.
60548
60549 2006-07-05  Derek R. Price  <derek@ximbiot.com>
60550
60551         * m4/calloc.m4 (_AC_FUNC_CALLOC_IF): Don't require AC_HEADER_STDC;
60552         no longer needed.
60553         * m4/exclude.m4 (gl_EXCLUDE): Likewise.
60554         * m4/getdate.m4 (gl_GETDATE): Likewise.
60555         * m4/getusershell.m4 (gl_PREREQ_GETUSERSHELL): Likewise.
60556         * m4/memcasecmp.m4 (gl_MEMCASECMP): Likewise.
60557         * m4/strtod.m4 (gl_FUNC_STRTOD): Likewise.
60558         * m4/strtol.m4 (gl_PREREQ_STRTOL): Likewise.
60559         * m4/xstrtol.m4 (gl_PREREQ_XSTRTOL): Likewise.
60560
60561 2006-07-05  Derek R. Price  <derek@ximbiot.com>
60562
60563         * lib/exclude.c (IN_CTYPE_DOMAIN, is_space): Remove; no longer needed.
60564         All uses of is_space replaced by isspace.
60565         * lib/exit.h: Don't talk about STDC_HEADERS.
60566         * lib/fnmatch.c (ISASCII): Remove; no longer needed.  All uses removed.
60567         (ISPRINT, ISDIGIT, ISALNUM, ISALPHA, ISCNTRL, ISLOWER, ISPUNCT):
60568         (ISSPACE, ISUPPER, ISXDIGIT): Remove; no longer needed.  All uses
60569         replaced by isprint etc.
60570         * lib/getdate.y (IN_CTYPE_DOMAIN, ISSPACE, ISALPHA, ISLOWER): Likewise.
60571         * lib/getusershell.c (IN_CTYPE_DOMAIN, ISSPACE): Likewise.
60572         * lib/memcasecmp.c (IN_CTYPE_DOMAIN, ISLOWER, TOUPPER): Likewise.
60573         * lib/strtod.c (IN_CTYPE_DOMAIN, ISSPACE, ISDIGIT, TOLOWER): Likewise.
60574         * lib/strtol.c (IN_CTYPE_DOMAIN): Likewise.
60575         * lib/xstrtol.c (IN_CTYPE_DOMAIN, ISSPACE): Likewise.
60576
60577 2006-07-05  Bruno Haible  <bruno@clisp.org>
60578
60579         * m4/strndup.m4 (gl_FUNC_STRNDUP): When cross-compiling, check whether
60580         the function exists, before testing against AIX.
60581         Reported by Martin Lambers <marlam@marlam.de>.
60582
60583 2006-07-04  Paul Eggert  <eggert@cs.ucla.edu>
60584
60585         * modules/cycle-check (lib_SOURCES): Add same-inode.h.
60586         From Mark D. Baushke.
60587
60588 2006-07-04  Paul Eggert  <eggert@cs.ucla.edu>
60589
60590         * m4/absolute-header.m4 (gl_ABSOLUTE_HEADER): Prepend three slashes
60591         to the absolute name, not just one, to bypass Sun C 5.8's
60592         "warning: #include of /usr/include/... may be non-portable".
60593
60594 2006-07-04  Eric Blake  <ebb9@byu.net>
60595
60596         * modules/dirname-tests: New test module.
60597         * tests/test-dirname.c: New file, replacing dirname.c
60598         TEST_DIRNAME section that was recently deleted.
60599
60600 2006-07-04  Bruno Haible  <bruno@clisp.org>
60601
60602         Assume ANSI C header files and <ctype.h> functions.
60603         * lib/mbswidth.c (IN_CTYPE_DOMAIN, ISPRINT, ISCNTRL): Remove macros.
60604         (mbsnwidth): Use isprint, iscntrl instead.
60605
60606 2006-07-03  Paul Eggert  <eggert@cs.ucla.edu>
60607
60608         Merge from coreutils.
60609         * MODULES.html.sh: Add xstrtold.
60610         * modules/xstrtold: New file.
60611         * modules/cycle-check (Files): Add lib/same-inode.h.
60612         * modules/dirname (Files): Add m4/double-slash-root.m4.
60613         * modules/getcwd (Files): Add m4/getcwd-abort-bug.m4.
60614         * modules/mkdir-p (Files): Add lib/same-inode.h.
60615         * modules/same (Files): Add lib/same-inode.h.
60616
60617 2006-07-03  Paul Eggert  <eggert@cs.ucla.edu>
60618
60619         * m4/absolute-header.m4: Renamed from full-header-path.m4.
60620         This is to keep the terminology clean; POSIX talks about
60621         "absolute pathnames", not "full pathnames", but the GNU
60622         Coding Standards say to use "path" for something else;
60623         so use "absolute" to keep both sides happy.
60624         (gl_ABSOLUTE_HEADER): Renamed from gl_FULL_HEADER_PATH.
60625         Set gl_absolute_header, not gl_full_header_path.
60626         Set gl_cv_absolute_<header>, not gl_full_path_<header>.
60627         Define ABSOLUTE_<HEADER>, not FULL_PATH_<HEADER>.
60628         All uses changed.
60629
60630         Merge from coreutils.
60631
60632         2006-06-30  Paul Eggert  <eggert@cs.ucla.edu>
60633
60634         * m4/c-strtod.m4 (gl_C_STRTOLD): Add c-strtod.c to LIBSOURCES.
60635         Require gl_USE_SYSTEM_EXTENSIONS, not gl_C_STRTOD, since we don't
60636         want to require the building of c-strtod.o.
60637         * m4/lib-check.m4 (cu_LIB_CHECK): Remove SEQ_LIBM, since seq no longer
60638         needs -lm directly.
60639         * m4/xstrtod.m4 (gl_XSTRTOLD): New macro.
60640
60641         2006-06-19  Paul Eggert  <eggert@cs.ucla.edu>
60642
60643         * m4/lib-ignore.m4 (gl_IGNORE_UNUSED_LIBRARIES): Prefer binutils's
60644         --as-needed option if available.  Problem reported by Albert Chin in
60645         <http://lists.gnu.org/archive/html/bug-gnulib/2006-06/msg00114.html>.
60646         However, use -Wl,--as-needed, not bare --as-needed, since HP-UX 11.11
60647         cc merely issues a bunch of annoying warnings for --as-needed
60648         (this problem was reported by Bob Proulx).  Also, try linking with
60649         -lm to detect a bug in binutils 2.16 (this problem was reported
60650         by Ralf Wildenhues).
60651
60652         2006-06-18  Jim Meyering  <jim@meyering.net>
60653
60654         Test for a bug that causes glibc's getcwd to suffer a failed assertion.
60655         * m4/getcwd-abort-bug.m4 (gl_FUNC_GETCWD_ABORT_BUG): New file and
60656         macro.
60657         * m4/getcwd.m4 (gl_FUNC_GETCWD): If we detect support for getcwd_null,
60658         also check for glibc-2.4's abort-inducing bug.
60659
60660         * m4/getcwd-path-max.m4 (gl_FUNC_GETCWD_PATH_MAX): Fix typo.
60661         Low-probability clean-up should be to use rmdir to get rid of
60662         the just-created directory, not unlink.
60663
60664         * m4/ftruncate.m4 (gl_FUNC_FTRUNCATE): If ftruncate is missing, make
60665         configure fail, and request a bug report to inform us about it.
60666         Add a comment that, barring reports to the contrary, in 2007 we'll
60667         assume ftruncate is universally available.
60668
60669         2006-04-17  Paul Eggert  <eggert@cs.ucla.edu>
60670
60671         * m4/filemode.m4 (gl_FILEMODE): Check for strmode declaration.
60672
60673         2006-03-12  Jim Meyering  <jim@meyering.net>
60674
60675         * m4/chdir-safer.m4 (gl_CHDIR_SAFER): Add same-inode.h to the list.
60676         * m4/cycle-check.m4 (gl_CYCLE_CHECK): Likewise.
60677         * m4/same.m4 (gl_SAME): Likewise.
60678         * m4/root-dev-ino.m4 (gl_ROOT_DEV_INO): Likewise.
60679
60680         2006-03-11  Eric Blake  <ebb9@byu.net>
60681
60682         * m4/double-slash-root.m4: New file, provides gl_DOUBLE_SLASH_ROOT.
60683         * m4/dirname.m4 (gl_DIRNAME): Use gl_DOUBLE_SLASH_ROOT.
60684         * m4/dos.m4 (FILE_SYSTEM_PREFIX_LEN): Move from here to dirname.h.
60685         (FILE_SYSTEM_DRIVE_PREFIX_CAN_BE_RELATIVE): New define.
60686
60687 2006-07-03  Paul Eggert  <eggert@cs.ucla.edu>
60688
60689         * lib/stdint_.h: Include <sys/types.h> after @FULL_PATH_STDINT_H@, for
60690         MacOS X 10.4.6.  Don't mention <sys/int_types.h>.  Problems
60691         reported by Mark D. Baushke, one in
60692         <http://lists.gnu.org/archive/html/bug-gnulib/2006-07/msg00015.html>.
60693
60694         Merge from coreutils.
60695
60696         * lib/.cppi-disable: Add stdint_.h.
60697         * lib/.cvsignore: Add stdint.h.
60698
60699         2006-06-30  Paul Eggert  <eggert@cs.ucla.edu>
60700
60701         * lib/xstrtod.c (XSTRTOD, DOUBLE): New macros, so that we can support
60702         both double and long double versions.
60703         (XSTRTOD): Renamed from xstrtod.  Use DOUBLE internally.
60704         * lib/xstrtold.c: New file.
60705         * lib/xstrtod.h (xstrtold): New decl.
60706
60707         2006-05-22  Paul Eggert  <eggert@cs.ucla.edu>
60708
60709         * lib/filemode.c (setst): Remove.
60710         (strmode): Rewrite to avoid setst.  This makes the code shorter,
60711         (arguably) clearer, and the generated code is a bit smaller on my
60712         Debian GNU/Linux stable x86 host.
60713
60714         2006-04-17  Paul Eggert  <eggert@cs.ucla.edu>
60715
60716         * lib/filemode.c: Include "filemode.h" first, to test the interface.
60717         Assume that filemode.h includes sys/types.h and sys/stat.h.
60718         (HAVE_ST_DM_MODE): New macro, moved here from ls.c.
60719         (ftypelet): Reorder to put common cases first, for efficiency.
60720         Add 'P', 'w'.  Remove 'M', since it's now the caller's responsibility
60721         to do 'M'.
60722         (strmode): Renamed from mode_string, and now stores 12 bytes instead
60723         of 10, for compatibility with FreeBSD.  All callers changed.
60724         (filemodestring): Now stores 12 bytes instead of 10, and sets file
60725         types that can't be deduced solely from st_mode.  First arg is now a
60726         const pointer.
60727         * lib/filemode.h (HAVE_DECL_STRMODE): Include <string.h> for strmode.
60728         (strmode): Renamed from mode_string.
60729         (filemodestring): New decl.
60730         * lib/stat-macros.h: Don't undef S_ISDOOR, since it's never buggy.
60731         (S_ISDOOR): Don't bother with S_IFDOOR, since that code is never
60732         needed.
60733         (S_ISPORT, S_ISWHT): New macros, if not already defined.
60734
60735         2006-04-12  Paul Eggert  <eggert@cs.ucla.edu>
60736
60737         * lib/fsusage.c: Don't include <inttypes.h> or <stdint.h>, since
60738         fsusage.h now does that.  Include fsusage.h first, to test interface.
60739         Prefer statvfs if it works, since it's blessed by POSIX.  Attempt
60740         at most one method (the old code could have generated decls that
60741         didn't conform to C89, not that this was ever exercised).
60742         * lib/fsusage.h: Include <inttypes.h> and <stdint.h> if they exist.
60743
60744         2006-03-19  Jim Meyering  <jim@meyering.net>
60745
60746         Work even in a chroot where d_ino values for entries in "/"
60747         don't match the stat.st_ino values for the same names.
60748         * lib/getcwd.c (__getcwd): When no d_ino value matches the target inode
60749         number, iterate through all entries again, using lstat instead.
60750         Reported by Kenshi Muto in http://bugs.debian.org/355810, and by
60751         Zouhir Hafidi in https://bugzilla.redhat.com/bugzilla/190656.
60752
60753         * lib/getcwd.c (__getcwd): Clarify a comment.
60754         Use memcpy in place of a call to strcpy.
60755
60756         2006-03-12  Jim Meyering  <jim@meyering.net>
60757
60758         * lib/fts-cycle.c (leave_dir): If cycle-check's saved dev-ino pair
60759         matches that of the current directory (which we're about to chdir ".."
60760         out of), then save the dev-ino of the parent, instead.
60761
60762         * lib/same-inode.h (SAME_INODE): New file/macro.
60763         * lib/chdir-safer.c (SAME_INODE): Remove definition.
60764         Include "same-inode.h", instead.
60765         * lib/same.c: Likewise.
60766         * lib/cycle-check.h: Include "same-inode.h".
60767         (CYCLE_CHECK_REFLECT_CHDIR_UP): Define.
60768         * lib/cycle-check.c (SAME_INODE): Remove definition.
60769         * lib/root-dev-ino.h: Include "same-inode.h".
60770
60771         2006-03-11  Eric Blake  <ebb9@byu.net>
60772
60773         * lib/same.c (same_name): s/base_name/last_component/
60774         * lib/backupfile.c (check_extension, numbered_backup): Likewise.
60775         * lib/filenamecat.c (file_name_concat): Likewise.
60776
60777         2006-03-11  Eric Blake  <ebb9@byu.net>,
60778                     Paul Eggert  <eggert@cs.ucla.edu>
60779
60780         * lib/dirname.h (FILE_SYSTEM_PREFIX_LEN): Move here from dos.m4.
60781         [FILE_SYSTEM_ACCEPTS_DRIVE_LETTER_PREFIX]: Don't treat 1: as a
60782         drive prefix.
60783         (IS_ABSOLUTE_FILE_NAME): Treat all drive letters as absolute on
60784         platforms like cygwin with FILE_SYSTEM_DRIVE_PREFIX_IS_ABSOLUTE.
60785         (last_component): New method.
60786         * lib/dirname.c (dir_len): Determine when drive letters need a
60787         subsequent slash.  Preserve // when it is special.
60788         (dir_name): Don't append dot when drive letter is absolute.
60789         [TEST_DIRNAME]: Move into a full-blown gnulib test.
60790         * lib/basename.c (base_name): New semantics - malloc the result.
60791         Preserve // when it is special.  Preserve relative files that look
60792         like drive letters.
60793         (base_len): Preserve // when it is special.
60794         (last_component): New method, similar to old base_name semantics.
60795         * lib/stripslash.c (strip_trailing_slashes): Use last_component, not
60796         base_name.  Strip redundant slashes from ///.
60797
60798 2006-07-03  Jim Meyering  <jim@meyering.net>
60799
60800         * lib/cycle-check.h (CYCLE_CHECK_REFLECT_CHDIR_UP): Abort if this
60801         macro is used before the first cycle_check call.
60802
60803 2006-07-03  Eric Blake  <ebb9@byu.net>
60804
60805         * modules/dirname (Depends-on): Add xstrndup.
60806
60807 2006-07-02  Paul Eggert  <eggert@cs.ucla.edu>
60808
60809         * m4/stdint.m4 (gl_STDINT_H): Use more-mnemonic identifiers for
60810         test cases, so that config.log is a bit easier to follow.
60811
60812 2006-07-02  Paul Eggert  <eggert@cs.ucla.edu>
60813
60814         * lib/stdint_.h (intmax_t, uintmax_t): Prefer long to long long if
60815         both are 64 bits, since this seems to be the tradition, and this
60816         prevents gcc -Wformat from warning about usages with PRIuMAX.  If
60817         we ever run into a host that prefers long long to long in this
60818         case, we'll need another configure-time test.  Problem reported by
60819         Jim Meyering.
60820
60821 2006-07-02  Eric Blake  <ebb9@byu.net>
60822
60823         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Simplify by using AC_CHECK_DECLS.
60824
60825 2006-07-01  Paul Eggert  <eggert@cs.ucla.edu>
60826
60827         * modules/inttypes (Depends-on): No longer depends on stdint.
60828         * modules/stdint (Description): Say more about assumptions.
60829         Say that the fast types might differ.  Say macros are used.
60830         (Files): Remove m4/size_max.m4, m4/wchar_t.m4.  Add m4/longlong.m4.
60831         (Makefile.am): Revise list of substituted symbols to match
60832         new stdint.m4.
60833         * modules/stdint-tests (Files): Add m4/wchar_t.m4, m4/wint_t.m4.
60834         (configure.ac): Add gt_TYPE_WCHAR_T, gt_TYPE_WINT_T.
60835         * tests/test-stdint.c (verify_same_types)
60836         [! (__GNUC__ >= 2 && DO_PEDANTIC)]: Put in a decl, so that
60837         the code conforms to C99/C89.
60838         Test for WCHAR_MIN and WCHAR_MAX only if HAVE_WCHAR_T.
60839         Test for WINT_MIN and WINT_MAX only if HAVE_WINT_T.
60840
60841 2006-07-01  Paul Eggert  <eggert@cs.ucla.edu>
60842
60843         * m4/longlong.m4 (AC_TYPE_LONG_LONG_INT): Backport from Autoconf 2.60,
60844         but fix a bug, by requiring at least 64 bits.
60845         * m4/ulonglong.m4 (AC_TYPE_UNSIGNED_LONG_LONG_INT): Likewise.
60846         * m4/longlong.m4 (gl_AC_TYPE_LONG_LONG): Now just call
60847         AC_TYPE_LONG_LONG_INT.  This macro is obsolete and will go soon.
60848         * m4/ulonglong.m4 (gl_AC_TYPE_UNSIGNED_LONG_LONG) Likewise.
60849
60850         * m4/stdint.m4 (gl_STDINT_H): Rewrite to accommodate stdint_.h
60851         changes.  Make 2.59 a prerequisite.  Check and substitute for
60852         HAVE_LONG_LONG_INT.  Rely on Autoconf to check for stdint.h and
60853         inttypes.h.  Do not use special include files; just use the
60854         defaults.  Check for sys/inttypes.h and sys/bitypes.h in the usual
60855         way now.  Remove no-longer-needed tests for HAVE_LONG_64BIT,
60856         HAVE_LONG_LONG_64BIT, int8_t, int16_t, int32_t, int64_t, uint8_t,
60857         uint16_t, uint32_t uint64_t, int_least8_t, int_least16_t,
60858         int_least32_t, int_least64_t, uint_least8_t, uint_least16_t,
60859         uint_least32_t, uint_least64_t, int_fast8_t, int_fast16_t,
60860         int_fast32_t, int_fast64_t, uint_fast8_t uint_fast16_t,
60861         uint_fast32_t, uint_fast64_t, intptr_t, uintptr_t, intmax_t,
60862         uintmax_t, INT8_MIN, INT8_MAX, UINT8_MAX, INT16_MIN, INT16_MAX,
60863         UINT16_MAX, INT32_MIN, INT32_MAX, UINT32_MAX, INT64_MIN,
60864         INT64_MAX, UINT64_MAX, INT_LEAST8_MIN, INT_LEAST8_MAX,
60865         UINT_LEAST8_MAX, INT_LEAST16_MIN, INT_LEAST16_MAX,
60866         UINT_LEAST16_MAX, INT_LEAST32_MIN, INT_LEAST32_MAX,
60867         UINT_LEAST32_MAX, INT_LEAST64_MIN, INT_LEAST64_MAX,
60868         UINT_LEAST64_MAX, INT_FAST8_MIN, INT_FAST8_MAX, UINT_FAST8_MAX,
60869         INT_FAST16_MIN, INT_FAST16_MAX, UINT_FAST16_MAX, INT_FAST32_MIN,
60870         INT_FAST32_MAX, UINT_FAST32_MAX, INT_FAST64_MIN, INT_FAST64_MAX,
60871         UINT_FAST64_MAX, INTPTR_MIN, INTPTR_MAX, UINTPTR_MAX, INTMAX_MIN,
60872         INTMAX_MAX, UINTMAX_MAX, PTRDIFF_MIN, PTRDIFF_MAX, SIG_ATOMIC_MIN,
60873         SIG_ATOMIC_MAX, SIZE_MAX, WCHAR_MIN, WCHAR_MAX, WINT_MIN,
60874         WINT_MAX.  Check for C99 conformance more strictly, by detecting
60875         bugs in glibc 2.4, Solaris 10, and OpenBSD 3.9.  On the other hand do
60876         not check for things that C99 does not require, e.g., int8_t.  If
60877         a test isn't needed unless <stdint.h> isn't working, and is
60878         unlikely to be needed for any other reason, then don't do it
60879         unless <stdint.h> isn't working.  Do not check for ptrdiff_t or
60880         size_t, since we assume C89 freestanding at least.  Do not check
60881         for sig_atomic_t, wchar_t, or wint_t, since the code now does
60882         the right thing even if the types are not defined.  Instead use:
60883         (gl_STDINT_TYPE_PROPERTIES): New macro.
60884         (gl_HEADER_STDINT_H, gl_HEADER_INTTYPES_H): Remove.  Don't bother
60885         testing whether <sys/types.h> clashes, as Autoconf does this for
60886         us now.  All uses removed.
60887         (gl_STDINT_CHECK_TYPES, gl_STDINT_MISSING_BOUND):
60888         (gl_STDINT_MISSING_BOUNDS, gl_STDINT_MISSING_BOUNDS2):
60889         (gl_CHECK_TYPE_SAME):
60890         Remove; no longer needed.
60891         (gl_STDINT_BITSIZEOF): Don't bother to check whether the type
60892         exists, since we'll return 0 anyway in that case.
60893         (gl_INTEGER_TYPE_SUFFIX, gl_STDINT_INCLUDES): New macros.
60894
60895 2006-07-01  Paul Eggert  <eggert@cs.ucla.edu>
60896
60897         * lib/stdint_.h (_GL_STDINT_H): Renamed from _STDINT_H, to avoid
60898         possible collision with system files.
60899         (<stdio.h>, <time.h>, <wchar.h>) [defined __cplusplus && ! defined
60900         __STDC_CONSTANT_MACROS)]: Do not include, since we don't need
60901         WCHAR_MIN and WCHAR_MAX in this case.
60902         (<stddef.h>): Do not include; no longer needed.
60903         (<sys/types.h>): Include if @HAVE_SYS_TYPES_H@, not if
60904         (defined(__OpenBSD__) || defined(__bsdi__) || defined(__sgi)).
60905         (<sys/inttypes.h>): Include if @HAVE_SYS_INTTYPES_H@ &&
60906         !@HAVE_INTTYPES_H@, not if (defined(__FreeBSD__)
60907         && (__FreeBSD__ >= 3) && (__FreeBSD__ <= 4)).
60908         (__STDINT_H__) [@HAVE_STDINT_H@ && defined __sgi && ! defined
60909         __c99]: Define, to work around IRIX <stdint.h> incompatibility.
60910         (@FULL_PATH_STDINT_H@) [!(defined(__sgi) && @HAVE_INTTYPES_H@ &&
60911         !defined(__c99))]: Include in this case too, since it's harmless
60912         now.
60913         (<inttypes.h>) [@HAVE_INTTYPES_H@]: Include, since it's no longer
60914         dangerous to do so.
60915         (@FULL_PATH_INTTYPES_H@) [(defined(__hpux) || defined(_AIX)) &&
60916         @HAVE_INTTYPES_H@]: Do not include, since we now include <inttypes.h>.
60917         (_STDINT_MIN, _STDINT_MAX): New macros.
60918         (int8_t, uint8_t, int16_t, uint16_t, int32_t, uint32_t, int64_t):
60919         (uint64_t, int_least8_t, uint_least8_t, int_least16_t):
60920         (uint_least16_t, int_least32_t, uint_least32_t, int_least64_t):
60921         (uint_least64_t, int_fast8_t, uint_fast8_t, int_fast16_t):
60922         (uint_fast16_t, int_fast32_t, uint_fast32_t, int_fast64_t):
60923         (uint_fast64_t, intptr_t, uintptr_t, intmax_t, uintmax_t): Now
60924         macros, not typedefs; this simplifies things quite a bit.
60925         Use long int for all types narrower than int64_t.
60926         (intmax_t, uintmax_t, INTMAX_C, UINTMAX_C):
60927         Define in terms of long long int or int64_t or long int,
60928         not int64_t or int32_t.  This saves some compile-time testing.
60929         (INT8_MIN, INT8_MAX, UINT8_MAX, INT16_MIN, INT16_MAX, UINT16_MAX):
60930         (INT32_MIN, INT32_MAX, UINT32_MAX, INT64_MIN, INT64_MAX):
60931         (UINT64_MAX, INT_LEAST8_MIN, INT_LEAST8_MAX, UINT_LEAST8_MAX):
60932         (INT_LEAST16_MIN, INT_LEAST16_MAX, UINT_LEAST16_MAX):
60933         (INT_LEAST32_MIN, INT_LEAST32_MAX, UINT_LEAST32_MAX):
60934         (INT_LEAST64_MIN, INT_LEAST64_MAX, UINT_LEAST64_MAX, INT_FAST8_MIN):
60935         (INT_FAST8_MAX, UINT_FAST8_MAX, INT_FAST16_MIN, INT_FAST16_MAX):
60936         (UINT_FAST16_MAX, INT_FAST32_MIN, INT_FAST32_MAX, UINT_FAST32_MAX):
60937         (INT_FAST64_MIN, INT_FAST64_MAX, UINT_FAST64_MAX, INTPTR_MIN):
60938         (INTPTR_MAX, UINTPTR_MAX, INTMAX_MIN, INTMAX_MAX, UINTMAX_MAX):
60939         (PTRDIFF_MIN, PTRDIFF_MAX, SIG_ATOMIC_MIN, SIG_ATOMIC_MAX):
60940         (SIZE_MAX, WCHAR_MIN, WCHAR_MAX, WINT_MIN, WINT_MAX):
60941         undef any previous version and define our own version, for
60942         simplicity and consistency with the new macros for types.
60943         (PTRDIFF_MIN, PTRDIFF_MAX, SIG_ATOMIC_MIN, SIG_ATOMIC_MAX):
60944         (SIZE_MAX, WCHAR_MIN, WCHAR_MAX, WINT_MIN, WINT_MAX):
60945         Simplify definitions by using _STDINT_MIN and _STDINT_MAX
60946         where appropriate.  Rely on new symbols @PTRDIFF_T_SUFFIX@,
60947         @SIG_ATOMIC_T_SUFFIX@, @SIZE_T_SUFFIX@, @WCHAR_T_SUFFIX@,
60948         @WINT_T_SUFFIX@ to keep things simple here.
60949         (UINT8_C, UINT16_C, UINT32_C, INT64_C, UINT64_C):
60950         Simplify by assuming typical 8/16/32/64 host, since we're
60951         already doing that elsewhere anyway.
60952         Use (LONG_MAX >> 31 >> 31 == 1) rather than @HAVE_LONG_64BIT@,
60953         and assume long long int is 64 bits if available.  This
60954         speeds up 'configure'.
60955
60956 2006-07-01  Eric Blake  <ebb9@byu.net>
60957
60958         * m4/stdarg.m4 (gl_STDARG_H): Use proper AH_VERBATIM.
60959         Reported by Andreas Buening.
60960
60961 2006-07-01  Eric Blake  <ebb9@byu.net>
60962
60963         * m4/stdarg.m4 (gl_STDARG_H): Properly parenthesize gl_va_copy.
60964
60965 2006-06-30  Jim Hyslop  <jhyslop@dreampossible.ca>  (tiny change)
60966
60967         * lib/getaddrinfo.c: fixed typo
60968
60969 2006-06-29  Jim Meyering  <jim@meyering.net>
60970
60971         * modules/strftime (Maintainer): Add my name, since with the
60972         FPRINTFTIME changes strftime.c has forked from glibc.
60973
60974 2006-06-29  Eric Blake  <ebb9@byu.net>
60975
60976         * m4/sys_stat_h.m4 (gl_HEADER_SYS_STAT_H): Use AC_C_INLINE.
60977
60978 2006-06-29  Eric Blake  <ebb9@byu.net>
60979
60980         * m4/sys_stat_h.m4 (gl_HEADER_SYS_STAT_H): New file.
60981
60982 2006-06-29  Eric Blake  <ebb9@byu.net>
60983
60984         * lib/stat_.h: New file.
60985
60986 2006-06-29  Eric Blake  <ebb9@byu.net>
60987
60988         * lib/stat_.h (rpl_mkdir): Declare inline, to avoid warnings about
60989         unused static function.
60990
60991 2006-06-29  Eric Blake  <ebb9@byu.net>
60992
60993         * doc/functions.texi (Function Portability): Document missing lstat
60994         on mingw.
60995
60996 2006-06-29  Eric Blake  <ebb9@byu.net>
60997
60998         * MODULES.html.sh: Add sys_stat.
60999         * modules/sys_stat: New module.
61000         * modules/mkstemp (Depends-on): Add sys_stat.
61001
61002 2006-06-29  Derek R. Price  <derek@ximbiot.com>
61003
61004         * m4/strftime.m4: Don't call AC_FUNC_STRFTIME.
61005
61006 2006-06-29  Derek R. Price  <derek@ximbiot.com>
61007
61008         * m4/c-bs-a.m4: Removed.
61009
61010 2006-06-29  Derek R. Price  <derek@ximbiot.com>
61011
61012         * lib/strftime.c: Assume strftime() exists.
61013
61014 2006-06-29  Derek Price  <derek@ximbiot.com>
61015
61016         * modules/c-bs-a: Removed - \a is C89.
61017         * MODULES.html.sh: Remove c-bs-a.
61018
61019 2006-06-29  Bruno Haible  <bruno@clisp.org>
61020
61021         * modules/wcwidth (License): Change to LGPL.
61022
61023 2006-06-28  Simon Josefsson  <jas@extundo.com>
61024
61025         * tests/test-getaddrinfo.c: Test getnameinfo too.  Call WSAStartup
61026         on _WIN32.
61027
61028         * modules/getaddrinfo (Depends-on): Add inet_ntop, needed by
61029         getnameinfo.
61030
61031 2006-06-28  Simon Josefsson  <jas@extundo.com>
61032
61033         * m4/getaddrinfo.m4: Look for getnameinfo prototypes too.
61034
61035 2006-06-28  Simon Josefsson  <jas@extundo.com>
61036
61037         * lib/getaddrinfo.c: Try to load ws2_32.dll on Windows, to find the
61038         functions there.  It will succeed on Windows XP, but on Windows
61039         2000 and (presumably) earlier, it will fail, and use the internal
61040         re-implementation.
61041         (use_win32_p): New function.
61042         (getaddrinfo): Use strtoul on servname, to support numeric ports.
61043         Support AI_NUMERICSERV to disable getservbyname.
61044         (getnameinfo): New function, only supports
61045         NI_NUMERICHOST|NI_NUMERICSERV for now.
61046
61047         * lib/getaddrinfo.h: Test and check for AI_* flags separately, MinGW
61048         only have some of them.  Add AI_NUMERICSERV.  Add prototype for
61049         getnameinfo.
61050
61051 2006-06-28  Eric Blake  <ebb9@byu.net>
61052
61053         * modules/wcwidth: New file.
61054         * modules/mbchar (Depends-on): Add wcwidth.
61055         * modules/mbswidth (Depends-on): Add wcwidth.
61056         * MODULES.html.sh: Add wcwidth.
61057
61058 2006-06-28  Eric Blake  <ebb9@byu.net>
61059
61060         * m4/mbswidth.m4 (gl_MBSDWIDTH): Move wcwidth from here...
61061         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): ...to this new file.
61062
61063 2006-06-28  Eric Blake  <ebb9@byu.net>
61064
61065         * lib/xvasprintf.h: Fix comments.
61066
61067 2006-06-28  Eric Blake  <ebb9@byu.net>
61068
61069         * lib/mbchar.h (wcwidth): Include wcwidth.h.
61070         * lib/mbswidth.c (wcwidth): Move from here...
61071         * lib/wcwidth.h: ...to this new file.
61072
61073 2006-06-28  Derek R. Price  <derek@ximbiot.com>
61074
61075         * m4/savedir.m4: Remove AC_FUNC_CLOSEDIR_VOID requirement.
61076
61077         * m4/fnmatch.m4 (_AC_LIBOBJ_FNMATCH): Don't require AC_C_CONST, since
61078         it's obsolete.
61079         * m4/strftime.m4 (gl_FUNC_GNU_STRFTIME): Likewise.
61080
61081 2006-06-28  Derek R. Price  <derek@ximbiot.com>
61082
61083         * lib/savedir.c (CLOSEDIR): Remove.  All uses changed to closedir.
61084         Autoconf 2.60 says this stuff was obsolete.
61085
61086 2006-06-28  Bruno Haible  <bruno@clisp.org>
61087
61088         * modules/wcwidth (Files): Add m4/wchar_t.m4.
61089
61090 2006-06-28  Bruno Haible  <bruno@clisp.org>
61091
61092         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Also require AC_C_INLINE and
61093         gt_TYPE_WCHAR_T.
61094
61095 2006-06-28  Bruno Haible  <bruno@clisp.org>
61096
61097         * lib/wcwidth.h: Declare nothing if !HAVE_WCHAR_T. Provide a fallback
61098         declaration for wcwidth.
61099         * lib/mbswidth.c: Restore the includes of <wchar.h> and <wctypes.h>.
61100
61101 2006-06-28  Bruno Haible  <bruno@clisp.org>
61102
61103         * lib/mkdtemp.c [MINGW]: Include <io.h>.
61104         (mkdir): Define using _mkdir.
61105
61106 2006-06-28  Bruno Haible  <bruno@clisp.org>
61107
61108         * lib/getaddrinfo.h: Fix POSIX URL.
61109         * lib/getaddrinfo.c (WIN32_NATIVE): New macro. Use it instead of
61110         _WIN32.
61111         (use_win32_p): Make static.
61112         (getaddrinfo): Reject service name if it is empty or does not consist
61113         solely of decimal digits, or if its value is > 65535.
61114         (getnameinfo): Remove useless casts.
61115
61116 2006-06-27  Simon Josefsson  <jas@extundo.com>
61117
61118         * modules/sys_select: New file, suggested by Bruno Haible, Paul
61119         Eggert and Martin Lambers.
61120
61121 2006-06-27  Simon Josefsson  <jas@extundo.com>
61122
61123         * m4/sys_select_h.m4: New file, suggested by Bruno Haible, Paul
61124         Eggert and Martin Lambers.
61125
61126 2006-06-27  Bruno Haible  <bruno@clisp.org>
61127
61128         * m4/stdint.m4 (gl_STDINT_BITSIZEOF): For nonexistent types, set the
61129         result to 0, not to empty.
61130         Reported by Martin Neitzel <neitzel@sco.gaertner.de>.
61131
61132 2006-06-27  Bruno Haible  <bruno@clisp.org>
61133
61134         * lib/stdint_.h (intmax_t, uintmax_t): Undefine before typedef.
61135
61136 2006-06-26  Simon Josefsson  <jas@extundo.com>
61137
61138         * m4/inet_ntop.m4: Don't check for sys/types.h, we assume it is
61139         present.
61140
61141 2006-06-26  Paul Eggert  <eggert@cs.ucla.edu>
61142
61143         * lib/base64.c (B64): Use _ as the formal parameter, not x, to avoid
61144         bug in IBM C V6 for AIX.  Problem reported by Larry Jones in
61145         <http://lists.gnu.org/archive/html/bug-gnulib/2006-06/msg00181.html>.
61146
61147 2006-06-26  Mark D. Baushke  <mdb@gnu.org>
61148
61149         * m4/stdint.m4 (gl_STDINT_H): Treat BSD/OS like OpenBSD.
61150
61151 2006-06-26  Bruno Haible  <bruno@clisp.org>
61152
61153         * modules/stdint (Makefile.am): Also substitute HAVE_WCHAR_H.
61154
61155 2006-06-26  Bruno Haible  <bruno@clisp.org>
61156
61157         * m4/stdint.m4 (gl_STDINT_H): Test also for <wchar.h>.
61158
61159 2006-06-26  Bruno Haible  <bruno@clisp.org>
61160
61161         * m4/stdint.m4 (gl_STDINT_H): Don't include <stdint.h> when using the
61162         SGI C compiler in pre-C99 mode.
61163         Suggested by Mark D. Baushke and Larry Jones.
61164
61165 2006-06-26  Bruno Haible  <bruno@clisp.org>
61166
61167         * lib/stdint_.h: Include <wchar.h> if necessary for WCHAR_MIN or
61168         WCHAR_MAX.
61169         Reported by Mark D. Baushke and Larry Jones.
61170
61171 2006-06-26  Bruno Haible  <bruno@clisp.org>
61172
61173         * lib/stdint_.h: Don't include <stdint.h> when using the SGI C compiler
61174         in pre-C99 mode.
61175         Suggested by Mark D. Baushke and Larry Jones.
61176
61177 2006-06-23  Simon Josefsson  <jas@extundo.com>
61178             Bruno Haible  <bruno@clisp.org>
61179
61180         * gnulib-tool (func_emit_lib_Makefile_am): Define MOSTLYCLEANDIRS.
61181         Emit mostlyclean-local rule.
61182         (func_emit_tests_Makefile_am): Likewise.
61183         * modules/sys_socket (Makefile.am): Use MOSTLYCLEANDIRS.
61184
61185 2006-06-23  Mark D. Baushke  <mdb@gnu.org>
61186
61187         * lib/stdint_.h: Treat BSD/OS like OpenBSD.
61188
61189 2006-06-23  Bruno Haible  <bruno@clisp.org>
61190
61191         * tests/test-stdint.c: Update to match ISO C 99 Technical
61192         Corrigendum 1.
61193
61194 2006-06-23  Bruno Haible  <bruno@clisp.org>
61195
61196         * m4/stdint.m4 (gl_STDINT_H): Treat IRIX like OpenBSD.
61197
61198 2006-06-23  Bruno Haible  <bruno@clisp.org>
61199
61200         * lib/stdint_.h: Treat IRIX like OpenBSD.
61201
61202 2006-06-23  Bruno Haible  <bruno@clisp.org>
61203
61204         * lib/stdint_.h (UINT8_C, UINT16_C, UINT32_C): Define according to
61205         ISO C 99 Technical Corrigendum 1.
61206
61207 2006-06-22  Simon Josefsson  <jas@extundo.com>
61208
61209         * m4/sockpfaf.m4: Include winsock2.h too, to make it work under
61210         MinGW.
61211
61212 2006-06-22  Paul Eggert  <eggert@cs.ucla.edu>
61213
61214         * lib/glob.c (collated_compare): Remove 'const' uses that weren't
61215         needed.  Some compiler complained about some of them.  Problem reported
61216         by Larry Jones in
61217         <http://lists.gnu.org/archive/html/bug-gnulib/2006-06/msg00172.html>.
61218
61219 2006-06-21  Simon Josefsson  <jas@extundo.com>
61220
61221         * tests/test-getaddrinfo.c: New file.
61222
61223         * modules/getaddrinfo-tests: New file.
61224
61225         * MODULES.html.sh: Add inet_pton.
61226
61227         * modules/inet_pton: New file.
61228
61229 2006-06-21  Simon Josefsson  <jas@extundo.com>
61230
61231         * m4/getaddrinfo.m4: Don't define WINVER.  Look for gethostbyname in
61232         -lws2_32 too.  Fixes getaddrinfo on Windows 2000, with the price
61233         of using the (limited) gnulib implementation on Windows XP.
61234
61235         * m4/inet_pton.m4: New file.
61236
61237 2006-06-21  Simon Josefsson  <jas@extundo.com>
61238
61239         * lib/getaddrinfo.c (getaddrinfo): Set ai_family in the return
61240         variable.
61241
61242         * lib/socket_.h: Don't define WINVER.
61243
61244         * lib/inet_pton.h, inet_pton.c: New file, taken from glibc but
61245         slightly modified to work in gnulib.
61246
61247 2006-06-21  Simon Josefsson  <jas@extundo.com>
61248
61249         * doc/gnulib.texi (Windows sockets): Add.
61250
61251 2006-06-21  Paul Eggert  <eggert@cs.ucla.edu>
61252
61253         * lib/read-file.c (fread_file): Start with buffer allocation of
61254         0 bytes rather than 1 byte; this simplifies the code.
61255         Don't invoke feof; it's not needed.  Refactor to avoid duplicate
61256         code to free buffer and save/restore errno.
61257         (internal_read_file): Remove unused local.
61258
61259 2006-06-20  Paul Eggert  <eggert@cs.ucla.edu>
61260
61261         * lib/openat.c (openat): Use ?:, not if, to work around GCC bug 4210
61262         <http://gcc.gnu.org/bugzilla/show_bug.cgi?id=4210>.
61263         Problem reported by Denis Excoffier in
61264         <http://lists.gnu.org/archive/html/bug-tar/2006-06/msg00023.html>.
61265
61266 2006-06-19  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
61267
61268         * modules/sys_socket, modules/socklen: Include sys/types since
61269         FreeBSD 4.x's sys/socket.h needs it.
61270
61271 2006-06-19  Simon Josefsson  <jas@extundo.com>
61272
61273         * lib/inet_ntop.c: Always build inet_ntop4, since inet_ntop6 calls it.
61274
61275 2006-06-19  Paul Eggert  <eggert@cs.ucla.edu>
61276
61277         * lib/alloca_.h (alloca) [defined alloca]: Don't define or declare.
61278
61279 2006-06-19  Bruno Haible  <bruno@clisp.org>
61280
61281         * m4/stdint.m4 (gl_STDINT_H): Enclose the values of FULL_PATH_STDINT_H
61282         and FULL_PATH_INTTYPES_H in angle brackets.
61283         Reported by Mark D. Baushke <mdb@gnu.org>.
61284
61285 2006-06-17  Eric Blake  <ebb9@byu.net>
61286
61287         * m4/rmdir-errno.m4 (gl_FUNC_FMDIR_NOTEMPTY): Assume errno.h declares
61288         errno.
61289
61290 2006-06-17  Bruno Haible  <bruno@clisp.org>
61291
61292         * m4/stdint.m4 (gl_STDINT_H) [FreeBSD >= 5]: Don't include
61293         <sys/inttypes.h>.
61294
61295 2006-06-17  Bruno Haible  <bruno@clisp.org>
61296
61297         * m4/setenv.m4 (gl_PREREQ_SETENV, gl_PREREQ_UNSETENV): Remove test
61298         whether errno is declared. Assume <errno.h> declares errno.
61299
61300 2006-06-17  Bruno Haible  <bruno@clisp.org>
61301
61302         * lib/stdint_.h [FreeBSD >= 5]: Don't include <sys/inttypes.h>.
61303
61304 2006-06-17  Bruno Haible  <bruno@clisp.org>
61305
61306         * lib/stdint_.h (_UINT8_T, _UINT32_T, _UINT64_T): New macros. Fixes a
61307         problem on Solaris 2.5.1.
61308
61309 2006-06-16  Eric Blake  <ebb9@byu.net>
61310
61311         * lib/unsetenv.c [!defined errno]: Assume errno.h declares errno.
61312         * lib/unicodeio.c [!defined errno]: Likewise.
61313         * lib/strtol.c [!defined errno]: Likewise.
61314         * lib/strtod.c [!defined errno]: Likewise.
61315
61316 2006-06-15  Eric Blake  <ebb9@byu.net>
61317
61318         * m4/ssize_t.m4 (gt_TYPE_SSIZE_T): Work in spite of -Werror.
61319
61320 2006-06-15  Eric Blake  <ebb9@byu.net>
61321
61322         * config/srclist.txt (ssize_t.m4): Lose sync.
61323
61324 2006-06-15  Bruno Haible  <bruno@clisp.org>
61325
61326         * modules/stdint (Files): Include m4/full-header-path.m4,
61327         m4/size_max.m4, m4/wchar_t.m4.
61328         (Makefile.am): Many more substitutions.
61329         * modules/stdint-tests: New file.
61330         * tests/test-stdint.c: New file.
61331
61332 2006-06-15  Bruno Haible  <bruno@clisp.org>
61333
61334         * m4/stdint.m4 (gl_STDINT_H): Rewritten to produce a complete stdint.h.
61335         (gl_HEADER_STDINT_H, gl_HEADER_INTTYPES_H, gl_STDINT_CHECK_TYPES,
61336         gl_STDINT_MISSING_BOUND, gl_STDINT_MISSING_BOUNDS,
61337         gl_STDINT_MISSING_BOUNDS2, gl_STDINT_BITSIZEOF, gl_CHECK_TYPES_SIGNED,
61338         gl_CHECK_TYPE_SAME): New macros.
61339
61340 2006-06-15  Bruno Haible  <bruno@clisp.org>
61341
61342         * m4/size_max.m4 (gl_SIZE_MAX): Make it work also when cross-compiling.
61343
61344 2006-06-15  Bruno Haible  <bruno@clisp.org>
61345
61346         * lib/stdint_.h: Rewritten to be fully auto-configured.
61347         Fixes bug on HP-UX/IA64.
61348
61349 2006-06-11  Paul Eggert  <eggert@cs.ucla.edu>
61350
61351         * lib/getdate.y (__attribute__): Don't define if already defined.
61352         Problem reported by Larry Jones.
61353         * lib/utimens.c (__attribute__): Likewise.
61354
61355 2006-06-04  Paul Eggert  <eggert@cs.ucla.edu>
61356
61357         * lib/regexec.c (group_nodes_into_DFAstates): Fix a buffer overrun
61358         reported by Andreas Schwab.
61359
61360 2006-05-30  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
61361             Bruno Haible  <bruno@clisp.org>
61362
61363         * m4/strndup.m4 (gl_FUNC_STRNDUP): Replace the AC_REPLACE_FUNCS with a
61364         check for the declaration of strnlen and a run test that exposes the
61365         AIX 5.1 strnlen bug.  In the failure case, #define strndup to
61366         rpl_strndup.
61367
61368 2006-05-30  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
61369             Bruno Haible  <bruno@clisp.org>
61370
61371         * lib/strndup.c (strndup) [!_LIBC]: Don't undefine macro definition.
61372
61373 2006-05-28  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
61374
61375         * m4/c-strtod.m4 (gl_C99_STRTOLD): Use a link test rather than a
61376         compile test, for Tru64 4.0D.
61377
61378 2006-05-28  Karl Berry  <karl@gnu.org>
61379
61380         * config/srclist.txt (printf-args.c): lose sync.
61381
61382 2006-05-26  Martin Lambers  <marlam@marlam.de>
61383
61384         * lib/getpass.c: Updates the test for the native W32 API, and adds
61385         missing includes, thus fixing compilation warnings.
61386
61387 2006-05-25  Sergey Poznyakoff  <gray@gnu.org.ua>
61388
61389         * lib/exclude.c (exclude_fnmatch): New function.
61390         (excluded_file_name): Call exclude_fnmatch.
61391         * lib/exclude.h (excluded_file_name): New prototype
61392
61393 2006-05-25  Paul Eggert  <eggert@cs.ucla.edu>
61394
61395         * lib/tempname.c (small_open, large_open): New macros.
61396         (__open, __open64) [!_LIBC]: Remove.
61397         (__gen_tempname): Use small_open and large_open instead of __open
61398         and __open64.  This fixes a portability bug on HP-UX 11.11i
61399         reported by Simon Wing-Tang in
61400         <http://lists.gnu.org/archive/html/bug-coreutils/2006-05/msg00114.html>.
61401
61402 2006-05-24  Bruno Haible  <bruno@clisp.org>
61403
61404         * lib/printf-args.c (printf_fetchargs): Turn NULL pointers for
61405         TYPE_STRING and TYPE_WIDE_STRING into a non-NULL replacement.
61406         Reported by Thorsten Maerz <torte@netztorte.de> via
61407         Aaron Stone <aaron@serendipity.cx>.
61408
61409 2006-05-19  Paul Eggert  <eggert@cs.ucla.edu>
61410
61411         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP): Rename cache variables to use
61412         gl_ rather than jm_.  Link, don't run, so that cross-compiles are
61413         allowed.  Check that resulting type is arithmetic.  Move AC_REQUIRE
61414         and AC_CHECK_HEADERS_ONCE outside of AC_CACHE_CHECK, since they're
61415         not really conditional on the cache.
61416         (gl_PREREQ_NANOSLEEP): Check for sys/select.h.
61417
61418 2006-05-19  Paul Eggert  <eggert@cs.ucla.edu>
61419
61420         * lib/nanosleep.c [HAVE_SYS_SELECT_H]: Include <sys/select.h>.
61421         Use the usual Autoconf way to include <time.h> and/or sys/time.h.
61422         (my_usleep): Don't mishandle maximum value.
61423
61424 2006-05-19  Jim Meyering  <jim@meyering.net>
61425
61426         * lib/getugroups.c: Correct an outdated comment.  From Bruno Haible.
61427
61428 2006-05-17  Bruno Haible  <bruno@clisp.org>
61429
61430         Cygwin portability.
61431         * lib/classpath.c (PATH_SEPARATOR) [CYGWIN]: Define as ':'.
61432
61433 2006-05-17  Bruno Haible  <bruno@clisp.org>
61434
61435         * lib/stdint_.h: Fix recognition of Cygwin.
61436
61437 2006-05-15  Bruno Haible  <bruno@clisp.org>
61438
61439         * build-aux/config.rpath: Improve support for Sun C 5.9 on Linux, based
61440         on libtool patch by Ralf Wildenhues.
61441
61442 2006-05-14  Paul Eggert  <eggert@cs.ucla.edu>
61443
61444         * m4/stdbool.m4 (AC_HEADER_STDBOOL): Fix overly-picky
61445         test for C99 conformance; (bool) 0.5 is an integer constant
61446         expression, but (bool) -0.5 is not.  Problem reported by Fedor
61447         Sergeev in <http://forum.sun.com/jive/thread.jspa?threadID=96202>.
61448
61449 2006-05-11  Simon Josefsson  <jas@extundo.com>
61450
61451         * m4/xvasprintf.m4: Fix obvious typo.
61452
61453 2006-05-11  Jim Meyering  <jim@meyering.net>
61454
61455         * lib/sha1.c (sha1_buffer): Correct comment: s/MD5/SHA1/.  From
61456         James Lemley.
61457
61458 2006-05-10  Simon Josefsson  <jas@extundo.com>
61459
61460         * lib/md4.c: Typo fix, update copyright years.
61461         (K1, K2): Don't use L because it turn computations into 64-bit on
61462         64-bit platforms.
61463
61464 2006-05-10  Paul Eggert  <eggert@cs.ucla.edu>
61465
61466         * lib/crc.c (crc32_update): Remove unnecessary L suffix.
61467         * lib/md4.c (rol): Cast right-shift arg to uint32_t to prevent
61468         unwanted sign propagation, e.g., on hosts with 64-bit int.
61469         There still are some problems with reeelly weird theoretical hosts
61470         (e.g., 33-bit int) but it's not worth worrying about now.
61471         * lib/sha1.c (rol): Likewise.
61472         (K1, K2, K3, K4): Remove unnecessary L suffix.
61473
61474 2006-05-10  Bruno Haible  <bruno@clisp.org>
61475
61476         * lib/des.c: Cast to avoid warnings.
61477
61478 2006-05-09  Bruno Haible  <bruno@clisp.org>
61479
61480         * modules/xvasprintf (Files): Add m4/xvasprintf.m4.
61481         (Depends-on): Depend also on xsize, stdarg.
61482         (configure.ac): Add gl_XVASPRINTF.
61483
61484 2006-05-09  Bruno Haible  <bruno@clisp.org>
61485
61486         * m4/xvasprintf.m4: New file.
61487
61488 2006-05-09  Bruno Haible  <bruno@clisp.org>
61489
61490         * lib/xvasprintf.c: Include limits.h, string.h, xsize.h.
61491         (EOVERFLOW): Define fallback value.
61492         (xstrcat): New function.
61493         (xvasprintf): Recognize the special case of a string concatenation.
61494
61495 2006-05-08  Eric Blake  <ebb9@byu.net>
61496
61497         * gnulib-tool (func_version): Base copyright year on CVS date.
61498         (func_emit_copyright_notice): New function.
61499         (func_emit_lib_Makefile_am): Use it.
61500         (func_emit_tests_Makefile_am): Likewise.
61501         (func_import): Likewise.
61502
61503 2006-05-08  Bruno Haible  <bruno@clisp.org>
61504
61505         * modules/stdarg: New file.
61506         * MODULES.html.sh (func_all_modules): Add section for <stdarg.h>.
61507
61508 2006-05-08  Bruno Haible  <bruno@clisp.org>
61509
61510         * m4/stdarg.m4: New file, from GNU gettext.
61511
61512 2006-05-08  Bruno Haible  <bruno@clisp.org>
61513
61514         * config/srclist.txt (build-aux/config.rpath): different from latest
61515         release.
61516
61517 2006-05-08  Bruno Haible  <bruno@clisp.org>
61518
61519         * build-aux/config.rpath: Add support for Sun C 5.9 on Linux.
61520
61521 2006-05-05  Jim Meyering  <jim@meyering.net>
61522
61523         * m4/warning.m4: New file, derived from bison's file by the same name.
61524
61525 2006-05-03  Bruno Haible  <bruno@clisp.org>
61526
61527         * lib/stdint_.h: Shorter URL.
61528         * lib/inttypes.h: Likewise.
61529
61530 2006-05-02  Paul Eggert  <eggert@cs.ucla.edu>
61531
61532         * modules/inttypes (Maintainer): Change from Derek Price to 'all'.
61533
61534 2006-05-02  Paul Eggert  <eggert@cs.ucla.edu>
61535
61536         * lib/verify.h: Document the internals better.  Most of this change
61537         was written by Bruno Haible.
61538
61539 2006-05-02  Paul Eggert  <eggert@cs.ucla.edu>
61540
61541         * doc/verify.texi: New file, partly based on a proposal by
61542         Bruno Haible.
61543
61544 2006-05-02  Bruno Haible  <bruno@clisp.org>
61545
61546         * m4/full-header-path.m4 (gl_FULL_HEADER_PATH): Move the include_next
61547         test from here...
61548         * m4/_inttypes_h.m4 (gl_INTTYPES_H): ... to here.
61549
61550 2006-04-29  Bruno Haible  <bruno@clisp.org>
61551
61552         * lib/gcd.c: Use WORD_T and GCD instead of unsigned long and gcd.
61553         Suggested by Oskar Liljeblad <oskar@osk.mine.nu>.
61554
61555 2006-04-29  Bruno Haible  <bruno@clisp.org>
61556
61557         * gnulib-tool: Make --update option actually work.
61558
61559 2006-04-29  Bruno Haible  <bruno@clisp.org>
61560
61561         * doc/gcd.texi: New file.
61562         * doc/gnulib.texi: Include it.
61563
61564 2006-04-25  Paul Eggert  <eggert@cs.ucla.edu>
61565
61566         * lib/getdate.y (get_date): When adding relative date, start with the
61567         initial time, not with the result of the first mktime call.
61568
61569 2006-04-25  Bruno Haible  <bruno@clisp.org>
61570
61571         * gnulib-tool (func_import): Output the include directives in three
61572         blocks, sorted separately.
61573         Reported by Ben Pfaff <blp@cs.stanford.edu>.
61574
61575 2006-04-24  Paul Eggert  <eggert@cs.ucla.edu>
61576
61577         * m4/unlink-busy.m4 (gl_FUNC_UNLINK_BUSY_TEXT): Use prototype
61578         to define main with arguments, for C++.  Reported by Eric Blake.
61579         * m4/c-stack.m4 (AC_SYS_XSI_STACK_OVERFLOW_HEURISTIC):
61580         Prefer 'int main ()' to 'int main (void)', for C++.
61581         * m4/getcwd-path-max.m4 (gl_FUNC_GETCWD_PATH_MAX): Likewise.
61582         * m4/fsusage.m4 (gl_FILE_SYSTEM_USAGE): Specify a return type
61583         for 'main', for C99 and C++.
61584
61585 2006-04-24  Paul Eggert  <eggert@cs.ucla.edu>
61586
61587         * m4/fsusage.m4 (gl_FILE_SYSTEM_USAGE): Use return, not exit.
61588         Don't assume that exit status -1 is valid.
61589         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP): Likewise.
61590         * m4/putenv.m4 (gl_FUNC_PUTENV): Likewise.
61591         * m4/rmdir-errno.m4 (gl_FUNC_RMDIR_NOTEMPTY): Likewise.
61592         * m4/readdir.m4 (GL_FUNC_READDIR): Include <stdlib.h>.
61593         * m4/rename.m4 (vb_FUNC_RENAME): Likewise.
61594         * m4/unlink-busy.m4 (gl_FUNC_UNLINK_BUSY_TEXT): Use AC_RUN_IFELSE,
61595         not AC_TRY_RUN.  Use return, not exit.  Don't assume that
61596         functions can be used without declaring them, or that you can
61597         exit with status -1.
61598         * m4/utimes-null.m4 (gl_FUNC_UTIMES_NULL): Likewise.
61599
61600 2006-04-24  Karl Berry  <karl@gnu.org>
61601
61602         * config/srclist.txt (longdouble.m4): sync lost.
61603
61604 2006-04-24  Eric Blake  <ebb9@byu.net>
61605
61606         * m4/strerror_r.m4 (AC_FUNC_STRERROR_R): Avoid unused variable warning.
61607
61608 2006-04-24  Bruno Haible  <bruno@clisp.org>
61609
61610         * m4/poll.m4 (gl_FUNC_POLL): When cross-compiling, reject also the
61611         poll() implementation in AIX.
61612         Reported by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
61613
61614 2006-04-24  Bruno Haible  <bruno@clisp.org>
61615
61616         * m4/poll.m4 (gl_FUNC_POLL): Rearrange code, so that POLL_H gets
61617         assigned exactly once.
61618
61619 2006-04-23  Claudio Fontana  <claudio@gnu.org>
61620             Bruno Haible  <bruno@clisp.org>
61621
61622         * modules/gettext (Makefile.am): Add a -I flag for <libintl.h>.
61623         * gnulib-tool (func_emit_lib_Makefile_am): Emit empty default value
61624         for AM_CPPFLAGS.
61625
61626 2006-04-23  Bruno Haible  <bruno@clisp.org>
61627
61628         * modules/copy-file: Depend on unistd.
61629         * modules/execute: Likewise.
61630         * modules/fatal-signal: Likewise.
61631         * modules/findprog: Likewise.
61632         * modules/mkdtemp : Likewise.
61633         * modules/pipe: Likewise.
61634         * modules/wait-process: Likewise.
61635
61636 2006-04-23  Bruno Haible  <bruno@clisp.org>
61637
61638         * lib/fwriteerror.c (fwriteerror): Call fclose also when an error
61639         condition was already detected.
61640         Reported by Ben Pfaff <blp@cs.stanford.edu>.
61641
61642 2006-04-23  Bruno Haible  <bruno@clisp.org>
61643
61644         * lib/copy-file.c: Include <unistd.h> unconditionally.
61645         * lib/execute.c: Likewise.
61646         * lib/fatal-signal.c: Likewise.
61647         * lib/findprog.c: Likewise.
61648         * lib/mkdtemp.c: Likewise.
61649         * lib/pipe.h: Likewise.
61650         * lib/pipe.c: Likewise.
61651         * lib/wait-process.h: Likewise.
61652
61653 2006-04-23  Bruno Haible  <bruno@clisp.org>
61654
61655         * gnulib-tool (func_usage): Fix --import description. Document
61656         --update.
61657         (func_import): Create temporary file in a temporary directory, if
61658         --dry-run is specified. Silence errors from 'grep' when there are no
61659         m4 files in $m4dir.
61660         (func_create_testdir): Silence errors from 'grep' when there are no
61661         m4 files in $m4dir.
61662         Reported by Karl Berry <karl@freefriends.org>.
61663
61664 2006-04-20  Bruno Haible  <bruno@clisp.org>
61665
61666         * m4/argp.m4 (gl_ARGP): Don't call AC_CHECK_DECLS_ONCE with more than
61667         one argument, so that the code will be portable to Autoconf 2.60.
61668         * m4/getlogin_r.m4 (gl_PREREQ_GETLOGIN_R): Likewise.
61669         * m4/getpass.m4 (gl_PREREQ_GETPASS): Likewise.
61670         * m4/unlocked-io.m4 (gl_FUNC_GLIBC_UNLOCKED_IO): Likewise.
61671
61672 2006-04-19  Derek Price  <derek@ximbiot.com>
61673             Eric Blake  <ebb9@byu.net>
61674
61675         * m4/full-header-path.m4 (gl_FULL_HEADER_PATH): Use </full/path.h>
61676         rather than "/full/path.h".  Update comment to match.  Shorten &
61677         generalize m4_translit call via AS_TR_CPP.
61678
61679 2006-04-19  Derek Price  <derek@ximbiot.com>
61680             Eric Blake  <ebb9@byu.net>
61681
61682         * lib/inttypes.h: Correct grammar in comment.
61683
61684 2006-04-18  Derek Price  <derek@ximbiot.com>
61685             Paul Eggert  <eggert@cs.ucla.edu>
61686
61687         * modules/inttypes: New file.
61688         * modules/strtoimax, modules/strtoumax: Depend on inttypes.
61689
61690 2006-04-18  Derek Price  <derek@ximbiot.com>
61691             Paul Eggert  <eggert@cs.ucla.edu>
61692
61693         * m4/_inttypes_h.m4, m4/full-header-path.m4, m4/include_next.m4:
61694         New files.
61695
61696 2006-04-18  Derek Price  <derek@ximbiot.com>
61697             Paul Eggert  <eggert@cs.ucla.edu>
61698
61699         * lib/inttypes.h: New file.
61700         * lib/strtoimax.c: Assume <inttypes.h>.
61701
61702 2006-04-15  Paul Eggert  <eggert@cs.ucla.edu>
61703
61704         * lib/utimens.c (futimens): glibc futimesat messes up if /proc
61705         isn't mounted.  Problem reported by Kir Kolyshkin.
61706
61707 2006-04-13  Paul Eggert  <eggert@cs.ucla.edu>
61708
61709         * lib/regcomp.c (init_dfa): Don't use wchar_t or wctype_t if
61710         RE_ENABLE_I18N is not defined.  Problem reported by Mark D. Baushke via
61711         Derek R. Price.
61712         * lib/regex.h (RE_DUP_MAX): Update comment to match current
61713         implementation.
61714
61715 2006-04-12  Eric Blake  <ebb9@byu.net>
61716
61717         * modules/time_r (Makefile.am): Remove lib_SOURCES line, as this
61718         is now done automatically by the corresponding Autoconf macro.
61719
61720 2006-04-11  Paul Eggert  <eggert@cs.ucla.edu>
61721
61722         * m4/time_r.m4 (gl_TIME_R): Add AC_LIBSOURCES for time_r.c and
61723         time_r.h.
61724
61725 2006-04-09  Paul Eggert  <eggert@cs.ucla.edu>
61726
61727         Merge regex changes from libc, removing some of our
61728         POSIX-conformance changes that were rejected and redoing them in a
61729         less-intrusive way.
61730
61731         * lib/regcomp.c (re_compile_internal, init_dfa):
61732         Length arg is now size_t, not Idx.  All uses changed.
61733         (peek_token): Forward decl now says internal_function.
61734         (__re_error_msgid, __re_error_msgid_idx):
61735         Now static rather than extern with attribute_hidden.
61736         (re_compile_pattern) [!defined _LIBC]: Use K&R-style defn.
61737         For some reason libc prefers K&R style defns for external functions.
61738         (regerror) [!defined _LIBC]: Likewise.
61739         (re_set_syntax, re_compile_fastmap, regcomp, regfree, re_comp):
61740         (seek_collating_symbol_entry, lookup_collation_sequence_value):
61741         (build_range_exp, build_collating_symbol):
61742         Use K&R-style defn.
61743         (re_compile_fastmap): Use '\0' to memset, not 0.
61744         (utf8_sb_map): Make the calculations more obvious.
61745         (init_dfa, parse_bracket_exp, build_charclass_op):
61746         Call calloc and cast result, as glibc does.
61747         (init_word_char, fetch_token, peek_token, peek_token_bracket):
61748         (build_range_exp, build_collating_symbol):
61749         Now internal functions.
61750
61751         * lib/regex.c [!defined _LIBC]: Allow compiling with C++ compilers.
61752
61753         * lib/regex.h (__USE_GNU_REGEX): New macro.  Don't depend on
61754         _REGEX_SOURCE any more; depend on _GNU_SOURCE instead.
61755         Don't depend on VMS; depend on __VMS instead, for POSIX
61756         namespace cleanness.
61757         (regoff_t): Define to ssize_t, not long int.
61758
61759         Remove the REG_ macros named below.  Instead, make the old names
61760         (e.g., RE_BACKSLASH_ESCAPE_IN_LISTS) visible only if
61761         __USE_GNU_REGEX.
61762         (REG_BACKSLASH_ESCAPE_IN_LISTS):
61763         (REG_BK_PLUS_QM, REG_CHAR_CLASSES, REG_CONTEXT_INDEP_ANCHORS):
61764         (REG_CONTEXT_INDEP_OPS, REG_CONTEXT_INVALID_OPS):
61765         (REG_DOT_NEWLINE, REG_DOT_NOT_NULL, REG_HAT_LISTS_NOT_NEWLINE):
61766         (REG_INTERVALS, REG_LIMITED_OPS, REG_NEWLINE_ALT):
61767         (REG_NO_BK_BRACES, REG_NO_BK_PARENS, REG_NO_BK_REFS):
61768         (REG_NO_BK_VBAR, REG_NO_EMPTY_RANGES):
61769         (REG_UNMATCHED_RIGHT_PAREN_ORD, REG_NO_POSIX_BACKTRACKING):
61770         (REG_NO_GNU_OPS, REG_DEBUG, REG_INVALID_INTERVAL_ORD):
61771         (REG_IGNORE_CASE, REG_CARET_ANCHORS_HERE):
61772         (REG_CONTEXT_INVALID_DUP, REG_NO_SUB, REG_SYNTAX_EMACS):
61773         (REG_SYNTAX_AWK, REG_SYNTAX_GNU_AWK, REG_SYNTAX_POSIX_AWK):
61774         (REG_SYNTAX_GREP, REG_SYNTAX_EGREP, REG_SYNTAX_POSIX_EGREP):
61775         (REG_SYNTAX_ED, REG_SYNTAX_SED, _REG_SYNTAX_POSIX_COMMON):
61776         (REG_SYNTAX_POSIX_BASIC, REG_SYNTAX_POSIX_MINIMAL_BASIC):
61777         (REG_SYNTAX_POSIX_EXTENDED, REG_SYNTAX_POSIX_MINIMAL_EXTENDED):
61778         (REG_DUP_MAX, REG_UNALLOCATED, REG_REALLOCATE, REG_FIXED):
61779         (REG_NREGS):
61780         Remove.  All uses replaced by the old RE_* names.
61781         (RE_BACKSLASH_ESCAPE_IN_LISTS):
61782         (RE_BK_PLUS_QM, RE_CHAR_CLASSES, RE_CONTEXT_INDEP_ANCHORS):
61783         (RE_CONTEXT_INDEP_OPS, RE_CONTEXT_INVALID_OPS):
61784         (RE_DOT_NEWLINE, RE_DOT_NOT_NULL, RE_HAT_LISTS_NOT_NEWLINE):
61785         (RE_INTERVALS, RE_LIMITED_OPS, RE_NEWLINE_ALT):
61786         (RE_NO_BK_BRACES, RE_NO_BK_PARENS, RE_NO_BK_REFS):
61787         (RE_NO_BK_VBAR, RE_NO_EMPTY_RANGES):
61788         (RE_UNMATCHED_RIGHT_PAREN_ORD, RE_NO_POSIX_BACKTRACKING):
61789         (RE_NO_GNU_OPS, RE_DEBUG, RE_INVALID_INTERVAL_ORD):
61790         (RE_IGNORE_CASE, RE_CARET_ANCHORS_HERE):
61791         (RE_CONTEXT_INVALID_DUP, RE_NO_SUB):
61792         Don't bother having these macros be independent of each others'
61793         values, since they no longer exist in the POSIX name space.
61794
61795         Rename the following member names back to their old names,
61796         unless !__USE_GNU_REGEX.  All uses changed back.
61797         (buffer): Renamed from re_buffer.
61798         (allocated): Renamed from re_allocated.
61799         (used): Renamed from re_used.
61800         (syntax): Renamed from re_syntax.
61801         (fastmap): Renamed from re_fastmap.
61802         (translate): Renamed from re_translate.
61803         (can_be_null): Renamed from re_can_be_null.
61804         (regs_allocated): Renamed from re_regs_allocated.
61805         (fastmap_accurate): Renamed from re_fastmap_accurate.
61806         (no_sub): Renamed from re_no_sub.
61807         (not_bol): Renamed from re_not_bol.
61808         (not_eol): Renamed from re_not_eol.
61809         (newline_anchor): Renamed from re_newline_anchor.
61810         (num_regs): Renamed from rm_num_regs.
61811         (start): Renamed from rm_start.
61812         (end): Renamed from rm_end.
61813
61814         (free_state): Move up a bit.
61815
61816         * lib/regex_internal.h (inline) [__GNUC__ < 3 && defined _LIBC]:
61817         #define to be empty.
61818         (ASCII_CHARS): New macro, replacing all uses of 0x80 and/or SBC_MAX / 2
61819         when that is what is intended.
61820         (SBC_MAX): Define to UCHAR_MAX + 1, not 256.
61821         (__re_error_msgid, __re_error_msgid_idx): Remove decls; not needed.
61822         (MAX): New macro.
61823         (re_xmalloc, re_calloc, re_xrealloc, re_x2realloc): Remove.
61824         All uses changed back to re_malloc, etc.  It's now the caller's
61825         responsibility to check for overflow; all callers changed.
61826         (re_alloc_oversized, re_x2alloc_oversized, re_xnmalloc, re_xnrealloc):
61827         (re_x2nrealloc): Remove.
61828         (free_state): Remove decl.
61829
61830         * lib/regexc.c (regexec, re_match, re_search, re_match_2, re_search_2):
61831         (re_set_registers, re_exec):
61832         Use K&R-style defn.
61833
61834         2006-01-31  Roland McGrath  <roland@redhat.com>
61835
61836         * lib/regcomp.c (calc_eclosure_iter): Remove dead variables.
61837         Reported by Mike Frysinger <vapier@gentoo.org>.
61838
61839         2006-01-15  Andreas Jaeger  <aj@suse.de>
61840
61841         [BZ #1950]
61842         * lib/regex_internal.c (re_string_reconstruct): Adjust for
61843         build_wcs_upper_buffer change.
61844         (build_wcs_upper_buffer): Change return type.
61845
61846         2005-12-10  Ulrich Drepper  <drepper@redhat.com>
61847
61848         * lib/regex_internal.h: Include <stdint.h> if available.
61849
61850         2005-12-06  Paolo Bonzini  <bonzini@gnu.org>
61851
61852         * lib/regex_internal.h (SIZE_MAX): Provide a default definition.
61853
61854         2005-10-14  Ulrich Drepper  <drepper@redhat.com>
61855
61856         * lib/regcomp.c: Adjust for changed secondary hash function.
61857
61858         2005-09-30  Ulrich Drepper  <drepper@redhat.com>
61859
61860         * lib/regex.h: Pretty printing.
61861         Clean up namespace a bit.
61862
61863         2005-09-30  Jakub Jelinek  <jakub@redhat.com>
61864
61865         * lib/regexec.c (update_cur_sifted_state, check_arrival,
61866         check_arrival_add_next_nodes): Avoid using uninitialized variable.
61867
61868         2005-09-06  Paul Eggert  <eggert@cs.ucla.edu>
61869                     Ulrich Drepper  <drepper@redhat.com>
61870
61871         [BZ #1302]
61872         * lib/regex_internal.h (bitset_t): Renamed from bitset.  All uses
61873         changed.
61874         (bitset_word_t): Renamed from bitset_word.  All uses changed.
61875
61876         2005-09-22  Ulrich Drepper  <drepper@redhat.com>
61877
61878         [BZ #281]
61879         * lib/regex.h: Define RE_TRANSLATE_TYPE as unsigned char *.
61880         * lib/regcomp.c: Remove unnecessary uses of
61881         unsigned RE_TRANSLATE_TYPE.
61882         * lib/regex_internal.h: Likewise.
61883         * lib/regex_internal.c: Likewise.
61884         * lib/regexec.c: Likewise.
61885         Based on a patch by Stepan Kasal <kasal@ucw.cz>.
61886
61887         2005-09-07  Ulrich Drepper  <drepper@redhat.com>
61888
61889         * lib/regexec.c (find_recover_state): Remove unnecessary
61890         initialization.
61891         (transit_state_bkref): Make DFA a const pointer.
61892         (get_subexp): Likewise.
61893         (check_arrival): Likewise.
61894         (update_cur_sifted_state): Likewise.
61895         (re_search_internal): Likewise.
61896         (prune_impossible_nodes): Likewise.
61897         (acquire_init_state_context): Likewise.
61898         (proceed_next_node): Likewise.
61899         (set_regs): Likewise.
61900         (free_fail_stack_return): Likewise.
61901         (check_arrival_expand_ecl): Mark DFA parameter as const.
61902         (check_arrival_expand_ecl_sub): Likewise.
61903         (check_subexp_limits): Likewise.
61904         (sub_epsilon_src_nodes):  Likewise.
61905         (add_epsilon_src_nodes):  Likewise.
61906         (merge_state_array): Likewise.
61907         (update_regs): Likewise.
61908         (build_trtable): Likewise.
61909         (sift_states_backward): Mark MCTX parameter as const.
61910         (build_sifted_states): Likewise.
61911         (update_cur_sifted_state): Likewise.
61912         (sift_states_mkref): Likewise.
61913         (check_arrival_expand_ecl): Mark eclosure as const.
61914         (check_dst_limits_calc_pos_1): Likewise.
61915         * lib/regex_internal.h (re_match_context_t): Make dfa a const
61916         pointer.
61917
61918         2005-09-06  Ulrich Drepper  <drepper@redhat.com>
61919
61920         * lib/regexec.c (merge_state_with_log): Define dfa as const pointer.
61921         (transit_state_sb): Likewise.
61922         (transit_state_mb): Likewise.
61923         (sift_states_iter_mb): Likewise.
61924         (check_arrival_add_next_nodes): Likewise.
61925         (check_node_accept_bytes): Change first parameter to pointer-to-const.
61926         [_LIBC] (re_search_2_stub): Use mempcpy.
61927
61928         * lib/regex_internal.c (re_string_reconstruct): Avoid calling
61929         mbrtowc for very simple UTF-8 case.
61930
61931         * lib/regex_internal.c (re_acquire_state): Make DFA pointer arg
61932         a pointer-to-const.
61933         (re_acquire_state_context): Likewise.
61934         * lib/regex_internal.h: Adjust prototypes.
61935
61936         * lib/regex.c: Prevent using C++ compilers.
61937
61938         * lib/regex_internal.c (re_acquire_state): Minor code rearrangement.
61939         (re_acquire_state_context): Likewise.
61940
61941 2006-04-09  Paul Eggert  <eggert@cs.ucla.edu>
61942
61943         * modules/regex (Depends-on): Add ssize_t.
61944
61945 2006-04-09  Paul Eggert  <eggert@cs.ucla.edu>
61946
61947         * m4/regex.m4 (gl_REGEX): Check for new glibc interface to
61948         translation table.
61949
61950 2006-04-09  Paul Eggert  <eggert@cs.ucla.edu>
61951
61952         * doc/gnulib-tool.texi (Modified imports): pathname -> file name.
61953
61954 2006-03-29  Mark D. Baushke  <mdb@gnu.org>
61955             Bruno Haible  <bruno@clisp.org>
61956
61957         * lib/stdint_.h: On OpenBSD, don't redefine types already included in
61958         <sys/types.h> and <inttypes.h>.
61959
61960 2006-03-25  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
61961
61962         * m4/argz.m4 (gl_FUNC_ARGZ): If we define `error_t', also define
61963         `__error_t_defined', so argp.h will not typedef the former.
61964
61965 2006-03-25  Paul Eggert  <eggert@cs.ucla.edu>
61966
61967         * m4/regex.m4 (gl_REGEX): Don't insist on REG_SYNTAX_POSIX_EGREP,
61968         REG_SYNTAX_EMACS, and REG_IGNORE_CASE.  Settle for the traditional
61969         glibc names.  Even if glibc is changed to conform to POSIX, the
61970         traditional names will be available anyway, since regex depends on
61971         the extensions module.  Also, fix a longstanding typo in the
61972         implementation of Spencer ERE test #75 from grep 2.3.  Problems
61973         reported by Emanuele Giaquinta.  Also, change sense of cached
61974         variable, so that the message makes sense.
61975
61976 2006-03-24  Simon Josefsson  <jas@extundo.com>
61977
61978         * lib/base64.c: Fix problems reported by Eric Blake <ebb9@byu.net>,
61979         including some doc fixes.
61980         (base64_encode_alloc): Fix +1 bug on allocation failures.
61981
61982 2006-03-24  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
61983
61984         * lib/base64.c (base64_encode): Do not read past end of array with
61985         unsanitized input on systems with CHAR_BIT > 8.
61986
61987 2006-03-24  Eric Blake  <ebb9@byu.net>
61988
61989         * lib/time_r.c (copy_string_result): Remove, as it is no longer used.
61990
61991 2006-03-22  Karl Berry  <karl@gnu.org>
61992
61993         * config/srclist.txt (*setenv.[ch]): get from coreutils.
61994         * config/srclistvars.sh (COREUTILS): new var.
61995
61996 2006-03-17  Jim Meyering  <jim@meyering.net>
61997
61998         * m4/regex.m4 (gl_REGEX): Fix typo in last change:
61999         s/_REGEX_WIDE_OFFSETS/_REGEX_LARGE_OFFSETS/.
62000
62001 2006-03-16  Paul Eggert  <eggert@cs.ucla.edu>
62002
62003         * m4/regex.m4 (gl_REGEX): Don't check for off_t, since the code
62004         no longer needs it.  Instead, check that regoff_t is as least
62005         as wide as ptrdiff_t.
62006
62007         Don't define _REGEX_WIDE_OFFSETS unless using the included regex,
62008         so that our regex.h stays compatible with the installed regex.
62009         This is helpful for installers who configure --without-included-regex.
62010         Problem reported by Emanuele Giaquinta.
62011
62012 2006-03-16  Paul Eggert  <eggert@cs.ucla.edu>
62013
62014         * lib/regex.h (regoff_t) [defined _REGEX_LARGE_OFFSETS]:
62015         Typedef to long int, not to off_, as POSIX will likely change
62016         in that direction.
62017
62018 2006-03-15  Eric Blake  <ebb9@byu.net>
62019
62020         * m4/dirfd.m4 (gl_FUNC_DIRFD): Use AC_REQUIRE for AC_HEADER_DIRENT.
62021
62022 2006-03-13  Sergey Poznyakoff  <gray@gnu.org.ua>
62023
62024         * lib/argp-help.c (validate_uparams): Fix typo
62025         * lib/argp-parse.c (argp_default_options): Consistently begin help
62026         messages with a lowercase letter.
62027
62028 2006-03-11  Paul Eggert  <eggert@cs.ucla.edu>
62029
62030         * lib/time_r.h (asctime_r, ctime_r): Remove.  These functions can
62031         overrun buffers and shouldn't be used (much as gets shouldn't be
62032         used).
62033         * lib/time_r.c (asctime_r, ctime_r): Likewise.
62034
62035 2006-03-08  Simon Josefsson  <jas@extundo.com>
62036
62037         * m4/gc-random.m4: Permit 'no' as variable values and fix warnings,
62038         suggested by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
62039
62040 2006-03-08  Simon Josefsson  <jas@extundo.com>
62041
62042         * m4/gc-random.m4: Call AC_CANONICAL_HOST and use $host_os instead of
62043         $target, suggested by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
62044
62045 2006-03-08  Simon Josefsson  <jas@extundo.com>
62046
62047         * lib/gc-gnulib.c (randomize): Don't open files called 'no', they
62048         signal that configure disabled the device.
62049
62050 2006-03-08  Simon Josefsson  <jas@extundo.com>
62051
62052         * build-aux/maint.mk: Fix refresh-po, to handle no translated
62053         languages.
62054
62055 2006-03-07  Simon Josefsson  <jas@extundo.com>
62056
62057         * modules/getopt (Depends-on): Add unistd.
62058
62059         * modules/unistd: New file.
62060
62061 2006-03-07  Simon Josefsson  <jas@extundo.com>
62062
62063         * modules/gc-random: New file.
62064
62065 2006-03-07  Simon Josefsson  <jas@extundo.com>
62066
62067         * m4/unistd_h.m4: New file.
62068
62069 2006-03-07  Simon Josefsson  <jas@extundo.com>
62070
62071         * m4/readline.m4 (gl_FUNC_READLINE): Rewrite the cached part of the
62072         test to be side-effect free by storing the result in the cache
62073         variable gl_cv_lib_readline, and moving the assignment of
62074         LIBREADLINE and LTLIBREADLINE outside the COMMANDS-TO-SET-IT.
62075         From Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
62076
62077 2006-03-07  Simon Josefsson  <jas@extundo.com>
62078
62079         * m4/gc-random.m4: New file, mostly from gc.m4.  Warn instead of
62080         error on missing devices (the functions will return an error).
62081
62082         * m4/gc.m4: Move random stuff to gc-random.m4
62083
62084 2006-03-07  Simon Josefsson  <jas@extundo.com>
62085
62086         * lib/unistd_.h: New file.
62087
62088 2006-03-07  Simon Josefsson  <jas@extundo.com>
62089
62090         * lib/gc-libgcrypt.c, gc-gnulib.c: Use GC_USE_RANDOM.
62091
62092 2006-03-07  Paul Eggert  <eggert@cs.ucla.edu>
62093
62094         * m4/unistd_h.m4 (gl_HEADER_UNISTD): Rename, to match modules file.
62095         Problem reported by Juan Manuel Guerrero.
62096
62097 2006-03-07  Paul Eggert  <eggert@cs.ucla.edu>
62098
62099         * lib/c-stack.c: Include unistd.h unconditionally, since we now assume
62100         the unistd module.
62101         * lib/getlogin_r.c: Likewise.
62102         * lib/getlogin_r.h: Likewise.
62103         * lib/glob.c: Likewise.
62104         * lib/pagealign_alloc.c: Likewise.
62105         * lib/unistd_.h: Remove; no longer needed.
62106
62107 2006-03-07  Paul Eggert  <eggert@cs.ucla.edu>
62108
62109         * MODULES.html.sh (Support for systems lacking POSIX:2001):
62110         Add unistd.
62111         * modules/c-stack (Depends-on): Add unistd.
62112         * modules/getlogin_r: Likewise.
62113         * modules/glob: Likewise.
62114         * modules/pagealign_alloc: Likewise.
62115         * modules/unistd (Files): Remove lib/unistd_.h.
62116         (EXTRA_DIST): Remove.
62117         (unistd.h): Create using 'echo' rather than 'cp', so that we don't
62118         need unistd_.h.
62119         (MOSTLYCLEANFILES): Remove unistd.h-t.
62120
62121 2006-03-03  Simon Josefsson  <jas@extundo.com>
62122
62123         * build-aux/maint.mk: Add several syntax checks from CoreUtils.
62124
62125 2006-03-03  Simon Josefsson  <jas@extundo.com>
62126
62127         * build-aux/maint.mk: Add refresh-po rule, based on ideas from
62128         libidn and bison.
62129
62130 2006-03-03  Simon Josefsson  <jas@extundo.com>
62131
62132         * build-aux/maint.mk: Add indent target.
62133
62134 2006-03-03  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de> (tiny change)
62135
62136         * m4/poll.m4 (gl_FUNC_POLL): If we deem poll(2) unacceptable, use
62137         our replacement poll.h in any case, to avoid a differing
62138         declaration from a system header.  Seen on AIX.
62139
62140 2006-03-01  Simon Josefsson  <jas@extundo.com>
62141
62142         * lib/readline.c: Fix typo, tiny patch from Stepan Kasal
62143         <kasal@ucw.cz>.
62144
62145 2006-03-01  Paul Eggert  <eggert@cs.ucla.edu>
62146
62147         * modules/gettime (Depends-on): Add extensions module.
62148         * modules/nanosleep (Depends-on): Likewise.
62149         * modules/settime (Depends-on): Likewise.
62150
62151 2006-03-01  Paul Eggert  <eggert@cs.ucla.edu>
62152
62153         * m4/clock_time.m4 (gl_CLOCK_TIME): Require gl_USE_SYSTEM_EXTENSIONS,
62154         not merely AC_GNU_SOURCE, for the benefit of Solaris 10 when compiled
62155         pedantically.
62156         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP): Likewise.
62157         * m4/timespec.m4 (gl_TIMESPEC): Likewise.
62158
62159         * m4/extensions.m4 (gl_USE_SYSTEM_EXTENSIONS): Use "=" with "test",
62160         not "==".  Reported by Ralf Wildenhues.
62161
62162 2006-03-01  Karl Berry  <karl@gnu.org>
62163
62164         * doc/Copyright/request-*: new files, synced from gnuorg.
62165
62166 2006-03-01  Karl Berry  <karl@gnu.org>
62167
62168         * config/srclist.txt (Copyright/*): new entries.
62169
62170 2006-02-28  Simon Josefsson  <jas@extundo.com>
62171
62172         * lib/getopt.c: Protect #include of unistd.h, for MSVS.
62173
62174 2006-02-27  Simon Josefsson  <jas@extundo.com>
62175
62176         * lib/base64.h: Indent #define's.  From Jim Meyering
62177         <jim@meyering.net>.
62178
62179 2006-02-27  Jim Meyering  <jim@meyering.net>
62180
62181         Revert the change of 2006-02-24, so these files can continue
62182         to be sync'd from gettext.
62183         * lib/mkdtemp.c, setenv.c, unsetenv.c: *Un*-normalize inclusion
62184         of `config.h'.
62185
62186 2006-02-26  Paul Eggert  <eggert@cs.ucla.edu>
62187
62188         * modules/intprops: New file.
62189         * MODULES.html.sh (Numeric conversion functions <stdlib.h>):
62190         Add intprops.
62191         * modules/getloadavg (Files): Remove lib/intprops.h.
62192         (Depends-on): Add intprops.
62193         * modules/human: Likewise.
62194         * modules/inttostr: Likewise.
62195         * modules/openat: Likewise.
62196         * modules/sig2str: Likewise.
62197         * modules/userspec: Likewise.
62198         * modules/utimecmp: Likewise.
62199         * modules/xnanosleep: Likewise.
62200         * modules/xstrtol: Likewise.
62201
62202 2006-02-24  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>  (tiny changes)
62203
62204         * modules/xstrtod: Omit xstrtod.h, xstrtod.c; they're in LIB_SOURCES.
62205         * modules/lock-tests (TESTS): Use $(EXEEXT).
62206         * modules/tls-tests: Likewise.
62207         * modules/argp-tests: Likewise.
62208         (check_PROGRAMS): New var, replacing...
62209         (noinst_PROGRAMS, test_argp_SOURCES): Remove.
62210
62211 2006-02-24  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
62212
62213         * lib/mkdtemp.c, lib/setenv.c, lib/unsetenv.c: Normalize inclusion of
62214         `config.h'.
62215
62216 2006-02-24  Paul Eggert  <eggert@cs.ucla.edu>
62217
62218         * lib/glob.c: Say "invalid" rather than "illegal" in comments.
62219
62220 2006-02-22  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
62221
62222         Sync from coreutils.
62223         * m4/mkdir-p.m4 (gl_MKDIR_PARENTS): Require gl_FUNC_LCHMOD and
62224         gl_CHDIR_SAFER.
62225
62226 2006-02-22  Jim Meyering  <jim@meyering.net>
62227
62228         Sync from coreutils.
62229         * m4/chdir-safer.m4: New file.
62230
62231 2006-02-20  Paul Eggert  <eggert@cs.ucla.edu>
62232
62233         * lib/getcwd.c (AT_FDCWD): Work around a bug in Solaris 9 and 10, where
62234         AT_FDCWD exceeds INT_MAX.
62235         * lib/openat.h (AT_FDCWD): Likewise.
62236
62237 2006-02-17  Eric Blake  <address@hidden>
62238
62239         * m4/getaddrinfo.m4 (gl_GETADDRINFO): Fix caching error.
62240
62241 2006-02-16  Simon Josefsson  <jas@extundo.com>
62242
62243         * modules/getaddrinfo (Depends-on): Add sys_socket.
62244
62245 2006-02-15  Simon Josefsson  <jas@extundo.com>
62246
62247         * build-aux/maint.mk: Add dsyntax-check rule.
62248
62249 2006-02-15  Eric Blake  <ebb9@byu.net>
62250
62251         * m4/sys_socket_h.m4 (gl_HEADER_SYS_SOCKET): Don't attempt using
62252         winsock2.h or ws2tcpip.h when sys/socket.h is present. Fixes
62253         'present but cannot compile' warnings on cygwin.
62254         * m4/socklen.m4 (gl_TYPE_SOCKLEN_T): Use gl_HEADER_SYS_SOCKET.  Don't
62255         use ws2tcpip.h if sys/socket.h works.
62256         * m4/getaddrinfo.m4 (gl_PREREQ_GETADDRINFO): Use gl_HEADER_SYS_SOCKET.
62257         (gl_GETADDRINFO): Don't use ws2tcpip.h when sys/socket.h is present.
62258
62259 2006-02-14  Simon Josefsson  <jas@extundo.com>
62260
62261         * modules/maintainer-makefile (Files): Rename.
62262
62263         * build-aux/GNUmakefile: Rename Makefile.maint to maint.mk
62264         and (the local) Makefile.cfg to maint-cfg.mk.
62265
62266         * build-aux/Makefile.maint, build-aux/maint.mk: Renamed the former
62267         to the latter.
62268
62269         * modules/maintainer-makefile: New module.
62270
62271         * build-aux/Makefile.maint: New file, from GNU CoreUtils, although
62272         severaly stripped to make it possible to build it up from scratch
62273         with reliable tests.
62274
62275         * build-aux/GNUmakefile: New file, from GNU CoreUtils with some
62276         fixes to permit overriding the default actions when configure and
62277         makefile are not available.
62278
62279 2006-02-14  Paul Eggert  <eggert@cs.ucla.edu>
62280
62281         Sync from coreutils.
62282         * modules/lstat (Depends-on): Don't depend on xalloc.
62283         (License): Change from GPL to LGPL, since this is now simply a
62284         replacement for a libc function.
62285
62286 2006-02-14  Jim Meyering  <jim@meyering.net>
62287
62288         Sync from coreutils.
62289
62290         Eliminate the unwelcome (albeit unlikely) possibility of xmalloc
62291         failure on deficient systems, and simplify gnulib lgpl dependencies.
62292         * lib/lstat.c (rpl_lstat): Rewrite to use stat() in place of the
62293         xmalloc/lstat combination.  Based on a patch from Bruno Haible.
62294
62295         * lib/xalloc-die.c: Remove unused definition of N_.
62296
62297 2006-02-14  Jim Meyering  <jim@meyering.net>
62298
62299         Sync from coreutils.
62300         * m4/ls-mntd-fs.m4 (AC_FUNC_GETMNTENT): Invoke
62301         AC_CHECK_FUNCS(getmntent) unconditionally so that tests of
62302         $ac_cv_func_getmntent (e.g., in gl_LIST_MOUNTED_FILE_SYSTEMS) need not
62303         double-quote uses of that variable, to accommodate the rare case in
62304         which getmntent is available in none of the libraries checked.  This
62305         happens at least on FreeBSD 5.0.
62306
62307 2006-02-13  Simon Josefsson  <jas@extundo.com>
62308
62309         * gnulib-tool (Usage): Fix --import, from
62310         karl@freefriends.org (Karl Berry).
62311
62312 2006-02-13  Sergey Poznyakoff  <gray@gnu.org.ua>
62313
62314         * lib/argp-fmtstream.c: Restore another bugfix lost on 2005-12-12
62315
62316 2006-02-07  Sergey Poznyakoff  <gray@gnu.org.ua>
62317
62318         * lib/argp-namefrob.h: Restore changes accidentally lost during the
62319         "autoupdate" on 2005-12-12.
62320
62321 2006-02-07  Paul Eggert  <eggert@cs.ucla.edu>
62322
62323         * modules/closeout (Depends-on): Remove atexit.
62324
62325 2006-02-07  Paul Eggert  <eggert@cs.ucla.edu>
62326
62327         * lib/closeout.c (close_stdout): Don't assume 'bool' converts nonzero
62328         ints to 0 or 1, as this isn't true for the stdbool.h substitute.
62329
62330 2006-02-05  Paul Eggert  <eggert@cs.ucla.edu>
62331
62332         * m4/extensions.m4 (gl_USE_SYSTEM_EXTENSIONS): Don't #define
62333         __EXTENSIONS__ if this causes compilation to fail.  Problem
62334         reported by Nelson H. F. Beebe with Solaris 10 and Sun C 5.7
62335         c89 -D_XOPEN_SOURCE -D_XOPEN_SOURCE_EXTENDED.
62336
62337 2006-01-27  Paul Eggert  <eggert@cs.ucla.edu>
62338
62339         * lib/fnmatch.c (L_): Renamed from L, to work around a bug in
62340         Mac OS X 10.3.9 with GCC 3 reported by Claudio Fontana in
62341         <http://lists.gnu.org/archive/html/bug-gnulib/2006-01/msg00074.html>.
62342         All uses changed.
62343
62344 2006-01-26  Simon Josefsson  <jas@extundo.com>
62345
62346         * lib/socket_.h: Set WINVER to 0x0501, to make sure getaddrinfo
62347         prototype is visible on mingw32.
62348
62349         * lib/getaddrinfo.h: Define EAI_ADDRFAMILY and EAI_SYSTEM if not set,
62350         for mingw32.
62351
62352         * lib/gai_strerror.c, getaddrinfo.h: Protect netdb.h #include (for
62353         mingw32).
62354
62355 2006-01-26  Paul Eggert  <eggert@cs.ucla.edu>
62356
62357         * lib/fts.c (diropen): Open with O_NOCTTY | O_NONBLOCK too.  Don't
62358         attempt to open for write; this always fails, at least on POSIX
62359         hosts.  This reinstates the 2006-01-09 change, which was
62360         inadvertently removed.
62361
62362 2006-01-26  Bruno Haible  <bruno@clisp.org>
62363
62364         * gnulib-tool (func_import): Use "trap 'exit $?' instead of "trap :".
62365         Reported by Paul Eggert.
62366
62367 2006-01-26  Bruno Haible  <bruno@clisp.org>
62368             Paul Eggert  <eggert@cs.ucla.edu>
62369
62370         * lib/stdbool_.h (_Bool)
62371         [(! (defined __cplusplus || defined __BEOS__)
62372           && !defined __GNUC__
62373           && !(defined __HP_cc || defined __xlc__
62374                || (defined __SUNPRO_C && (__SUNPRO_C < 0x550 || __STDC__ == 1))
62375                || defined __sgi))]:
62376         #define to signed char in these cases too; this simplifies
62377         the code (so that we don't have to worry about HP-UX, AIX, SunPRO,
62378         etc., separately) and makes it more conservative.
62379
62380 2006-01-25  Simon Josefsson  <jas@extundo.com>
62381
62382         * m4/getaddrinfo.m4: Look for getaddrinfo inside ws2tcip.h and
62383         -lws2_32.  Protect sys/socket.h and netdb.h #include's.  Include
62384         ws2tcpip.h with WINVER=0x0501.  All for mingw32.
62385
62386 2006-01-25  Sergey Poznyakoff  <gray@gnu.org.ua>
62387
62388         * lib/argp-namefrob.h: Bugfix. Remove stray #
62389
62390 2006-01-25  Paul Eggert  <eggert@cs.ucla.edu>
62391
62392         * m4/stdbool.m4 (AC_HEADER_STDBOOL): Check for xlc bug if __GCC__ too,
62393         so that we test the test.
62394         Check for yet another HP-UX cc bug involving *bool |= bool.
62395
62396 2006-01-25  Karl Berry  <karl@gnu.org>
62397
62398         * config/srclist.txt (vasnprintf.c): sync lost.
62399
62400 2006-01-25  Jim Meyering  <jim@meyering.net>
62401
62402         Sync from the stable (b5) branch of coreutils:
62403
62404         * lib/fts.c (fts_children): Don't let close() clobber errno from
62405         failed fchdir().
62406
62407         * lib/fts.c (fts_stat): When following a symlink-to-directory,
62408         don't necessarily interpret stat-fails+lstat-succeeds as indicating
62409         a dangling symlink.  That can also happen at least for ELOOP.
62410         The fix: return FTS_SLNONE only when the stat errno is ENOENT.
62411         FYI, this bug predates the inclusion of fts.c in coreutils.
62412
62413         * lib/fts.c (fts_open): Put new maxarglen declaration and uses
62414         in their own block, so pre-c99 compilers don't object.
62415
62416         Avoid the double-free (first in fts_read, second in fts_close) that
62417         would occur when an `active' directory is made inaccessible (e.g.,
62418         via chmod a-x) during a traversal.
62419         * lib/fts.c (fts_read): After a failed fchdir, update sp->fts_cur
62420         before returning.  Reproduce this failure by
62421         mkdir -p a/b; cd a; chmod a-x . b
62422         Reported by Stavros Passas.
62423
62424 2006-01-25  Jim Meyering  <jim@meyering.net>
62425
62426         * lib/fileblocks.c: Remove more useless parentheses.
62427         * lib/readutmp.h: Likewise.
62428
62429 2006-01-25  Bruno Haible  <bruno@clisp.org>
62430
62431         * lib/stdbool_.h (_Bool) [IRIX cc]: Define as 'signed char', to avoid
62432         warnings.
62433         Reported by Paul Eggert.
62434
62435 2006-01-25  Bruno Haible  <bruno@clisp.org>
62436
62437         * gnulib-tool (func_import): Use "trap :" instead of "trap -" to get
62438         rid of a trap command. For Solaris sh.
62439         Reported by Mark D. Baushke <mdb@gnu.org>.
62440
62441 2006-01-24  Simon Josefsson  <jas@extundo.com>
62442
62443         * lib/socket_.h (SHUT_WR, SHUT_RDWR): Don't hardcode, suggested by
62444         Bruno.
62445
62446 2006-01-24  Karl Berry  <karl@gnu.org>
62447
62448         * config/srclist.txt (argp-namefrob.h): sync lost.
62449
62450 2006-01-24  Jim Meyering  <jim@meyering.net>
62451
62452         * modules/openat (Files): Add lib/intprops.h.
62453         From Mark D. Baushke.
62454
62455 2006-01-24  Jim Meyering  <jim@meyering.net>
62456
62457         * m4/openat.m4 (gl_FUNC_OPENAT): Add AC_LIBSOURCES([intprops.h]).
62458         Reported by Mark D. Baushke.
62459
62460 2006-01-24  Jim Meyering  <jim@meyering.net>
62461
62462         * lib/socket_.h: Remove useless parentheses in uses of cpp `defined'.
62463
62464 2006-01-24  Bruno Haible  <bruno@clisp.org>
62465
62466         * modules/strnlen (Maintainer): Change from glibc to all.
62467
62468 2006-01-24  Bruno Haible  <bruno@clisp.org>
62469
62470         * m4/stdbool.m4 (AC_HEADER_STDBOOL): Check for IBM and HP-UX bugs.
62471         Patch by Paul Eggert.
62472
62473 2006-01-24  Bruno Haible  <bruno@clisp.org>
62474
62475         * lib/stdbool_.h (_Bool) [__cplusplus]: Don't define if the compiler
62476         already has it.
62477         Report and patch by Albert Chin-A-Young  <china@thewrittenword.com> on
62478         2005-11-26.
62479
62480         * lib/stdbool_.h (_Bool) [HP-UX cc, AIX cc,xlc]: Define as
62481         'signed char' to avoid problems with the built-in _Bool type.
62482         Reported by Paul Eggert on 2005-11-26.
62483
62484 2006-01-24  Bruno Haible  <bruno@clisp.org>
62485
62486         * gnulib-tool (func_import): Avoid constructing complicated sed
62487         expressions inside backquote.
62488         Report and solution by Mark D. Baushke <mdb@gnu.org>.
62489
62490 2006-01-23  Ulrich Drepper  <drepper@redhat.com>
62491
62492         These changes imported from libc.
62493         * lib/getopt.c: Use __fxprintf instead of inline stream orientation
62494         test and two separate function calls.
62495         * lib/strndup.c (__strndup): Add libc_hidden_def.
62496
62497 2006-01-23  Simon Josefsson  <jas@extundo.com>
62498
62499         * modules/lock-tests: Use check_PROGRAMS instead of noinst_PROGRAMS.
62500         Remove the test_*_SOURCES variable: automake infers it by default.
62501         * modules/tls-tests: Likewise.
62502
62503 2006-01-23  Paul Eggert  <eggert@cs.ucla.edu>
62504
62505         Work around porting bugs reported by Dieter in
62506         <http://lists.gnu.org/archive/html/bug-bison/2006-01/msg00049.html>.
62507         * lib/getopt.c (_NOPROTO): Remove; no longer needed.
62508         Include <stdlib.h> and <unistd.h> in all environments; it's safe now.
62509         Include "getopt.h" first, to check interface.
62510         (getenv): Declare only if defined HAVE_DECL_GETENV &&
62511         !HAVE_DECL_GETENV.
62512         * lib/strndup.c [!_LIBC]: Include "strndup.h" to get prototype.
62513         (__strndup): Revert to K&R-style function dfns, the glibc style.
62514         * lib/strnlen.c: Don't claim it's taken from glibc; it's not.
62515         (strnlen, __strnlen): Remove #defines and #undefs; not needed.
62516         Include strnlen.h first, to get prototype properly.
62517         (strnlen): Renamed from __strnlen.
62518         Remove weak alias.
62519
62520 2006-01-23  Paul Eggert  <eggert@cs.ucla.edu>
62521
62522         * m4/getopt.m4 (gl_PREREQ_GETOPT): Check for getenv decl.
62523
62524 2006-01-23  Paul Eggert  <eggert@cs.ucla.edu>
62525
62526         * config/srclist.txt: Adjust to reflect glibc reorganization.
62527         This affects only comments.
62528
62529 2006-01-22  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>  (tiny change)
62530
62531          * gnulib-tool, build-aux/csharpcomp.sh.in: Do not pass `-q' to mktemp.
62532          Reported by Bruce Korb <bkorb@gnu.org>.
62533
62534 2006-01-22  Paul Eggert  <eggert@cs.ucla.edu>
62535
62536         * lib/quotearg.c (quotearg_buffer_restyled): Add "default: break;"
62537         to pacify gcc -Wswitch-default.
62538
62539 2006-01-22  Bruno Haible  <bruno@clisp.org>
62540
62541         * lib/vasnprintf.c (VASNPRINTF): In the computation of the size of the
62542         temporary buffer for sprintf, take into account the precision also
62543         for 'd', 'i', 'u', 'o', 'x', 'X'.
62544
62545 2006-01-21  Sergey Poznyakoff  <gray@gnu.org.ua>
62546
62547         * modules/argp-tests: New module
62548         * tests/test-argp.c: New file
62549         * tests/test-argp-2.sh: New file
62550
62551 2006-01-21  Sergey Poznyakoff  <gray@gnu.org.ua>
62552
62553         * lib/argp-help.c (usage_long_opt): Do not print DOC options.
62554         (__argp_base_name): Removed
62555         * lib/argp-namefrob.h (__argp_basename): Removed definition. Was a
62556         typo.
62557         (__argp_base_name): Provide macro definition or extern declaration
62558         depending on the configuration
62559
62560 2006-01-20  Simon Josefsson  <jas@extundo.com>
62561
62562         * modules/inet_ntop (Depends-on): Depend on sys_socket.
62563
62564 2006-01-20  Simon Josefsson  <jas@extundo.com>
62565
62566         * lib/inet_ntop.h: Unconditionally include sys/socket.h.
62567
62568 2006-01-20  Paul Eggert  <eggert@cs.ucla.edu>
62569
62570         * m4/lib-ignore.m4 (gl_IGNORE_UNUSED_LIBRARIES): Use -Wl,-z,ignore
62571         rather than -Xlinker -z -Xlinker ignore, as it's more portable.
62572         Suggested by Bruno Haible.
62573
62574 2006-01-20  Karl Berry  <karl@gnu.org>
62575
62576         * config/srclist.txt (argp-fmtstream.h, localcharset.c): comment out
62577         until changes propagate, I guess.
62578
62579 2006-01-19  Simon Josefsson  <jas@extundo.com>
62580
62581         * m4/socklen.m4: Look in ws2tcpip.h too, for mingw32.
62582
62583 2006-01-19  Simon Josefsson  <jas@extundo.com>
62584
62585         * lib/socket_.h: Map SHUT_RD, SHUT_WR, SHUT_RDWR correctly.
62586
62587 2006-01-19  Simon Josefsson  <jas@extundo.com>
62588
62589         * gnulib-tool: Set check_PROGRAMS.
62590
62591         * modules/arcfour-tests, modules/arctwo-tests, modules/crc-tests,
62592         modules/des-tests, modules/gc-arcfour-tests,
62593         modules/gc-arctwo-tests, modules/gc-des-tests,
62594         modules/gc-hmac-md5-tests, modules/gc-hmac-sha1-tests,
62595         modules/gc-md2-tests, modules/gc-md4-tests, modules/gc-md5-tests,
62596         modules/gc-pbkdf2-sha1-tests, modules/gc-rijndael-tests,
62597         modules/gc-sha1-tests, modules/gc-tests, modules/hmac-md5-tests,
62598         modules/hmac-sha1-tests, modules/md2-tests, modules/md4-tests,
62599         modules/md5-tests, modules/readline, modules/rijndael-tests: Use
62600         check_PROGRAMS instead of noinst_PROGRAMS to be able to remove
62601         test_*_SOURCES.
62602
62603 2006-01-18  Simon Josefsson  <jas@extundo.com>
62604
62605         * modules/socklen (Depends-on): Depend on sys_socket.
62606
62607 2006-01-18  Simon Josefsson  <jas@extundo.com>
62608
62609         * modules/arcfour-tests, modules/arctwo-tests, modules/crc-tests,
62610         modules/des-tests, modules/gc-arcfour-tests,
62611         modules/gc-arctwo-tests, modules/gc-des-tests,
62612         modules/gc-hmac-md5-tests, modules/gc-hmac-sha1-tests,
62613         modules/gc-md2-tests, modules/gc-md4-tests, modules/gc-md5-tests,
62614         modules/gc-pbkdf2-sha1-tests, modules/gc-rijndael-tests,
62615         modules/gc-sha1-tests, modules/gc-tests, modules/hmac-md5-tests,
62616         modules/hmac-sha1-tests, modules/md2-tests, modules/md4-tests,
62617         modules/md5-tests, modules/readline, modules/rijndael-tests: Add
62618         $(EXEEXT) to automake TESTS variable, for mingw32.
62619
62620 2006-01-17  Simon Josefsson  <jas@extundo.com>
62621
62622         * modules/socklen (Include): Need sys/socket.h.
62623
62624 2006-01-17  Bruno Haible  <bruno@clisp.org>
62625
62626         * modules/ssize_t (Include): Add <sys/types.h>.
62627
62628 2006-01-16  Paul Eggert  <eggert@cs.ucla.edu>
62629
62630         * m4/lib-ignore.m4 (gl_IGNORE_UNUSED_LIBRARIES): Don't use ldd, as
62631         it's not portable and it doesn't work with cross-compiles.
62632         Problem reported by Bruno Haible.  Fix missing-$ typo in
62633         'test "gl_cv_ignore_unused_libraries" ...' that prevented
62634         -zignore from being used with Sun's C compiler.
62635
62636 2006-01-12  Simon Josefsson  <jas@extundo.com>
62637
62638         * lib/base64.c: Fix warning, reported by Bruno Haible
62639         <bruno@clisp.org> and patch by Paul Eggert <eggert@CS.UCLA.EDU>.
62640
62641 2006-01-12  Bruno Haible  <bruno@clisp.org>
62642
62643         * modules/ldd: New file.
62644         * build-aux/ldd.sh.in: New file.
62645         * MODULES.html.sh (Support for building libraries and executables): Add
62646         ldd.
62647
62648 2006-01-12  Bruno Haible  <bruno@clisp.org>
62649
62650         * m4/ldd.m4: New file.
62651
62652 2006-01-12  Bruno Haible  <bruno@clisp.org>
62653
62654         * gnulib-tool (func_import, func_create_testdir): Don't go into an
62655         endless loop while replacing $auxdir with build-aux.
62656
62657 2006-01-11  Simon Josefsson  <jas@extundo.com>
62658
62659         * lib/stdint_.h (SIZE_MAX): Add missing (.
62660
62661 2006-01-11  Paul Eggert  <eggert@cs.ucla.edu>
62662
62663         Sync from coreutils.
62664         * lib/md5.c: Fix commentary typos.
62665         (alignof, UNALIGNED_P): No need for a GCC-specific version.
62666         * lib/md5.h (__attribute__): Remove; unused.
62667         * lib/sha1.c: Fix commentary to match md5 better.
62668         * lib/sha1.h (struct sha1_ctx): Use a word buffer, not a byte buffer,
62669         so that we don't need to worry about alignment.  All uses changed.
62670         This merges the 2005-10-28 md5 change into sha1.
62671
62672 2006-01-11  Jim Meyering  <jim@meyering.net>
62673
62674         Sync from coreutils.
62675         * lib/md5.c (OP): Fix spacing.
62676
62677 2006-01-11  Bruno Haible  <bruno@clisp.org>
62678
62679         Ensure automatic ordering between gl_LOCK and gl_ARGP.
62680         * m4/lock.m4 (gl_LOCK_BODY): Renamed from gl_LOCK.
62681         (gl_LOCK): New macro, requiring gl_LOCK_BODY.
62682
62683 2006-01-11  Bruno Haible  <bruno@clisp.org>
62684
62685         Ensure automatic ordering between gl_LOCK and gl_ARGP.
62686         * gnulib-tool (func_import, func_create_testdir): Put gl_LOCK into
62687         the "early" section as well.
62688
62689 2006-01-11  Bruno Haible  <bruno@clisp.org>
62690
62691         Avoid "ar: no archive members specified" error on MacOS X.
62692         * gnulib-tool (func_modules_add_dummy): New function.
62693         (func_import, func_create_testdir): Invoke it.
62694
62695 2006-01-11  Bruno Haible  <bruno@clisp.org>
62696
62697         * gnulib-tool (func_import, func_create_testdir): Replace build-aux
62698         with $auxdir in AC_CONFIG_FILES statements.
62699
62700 2006-01-11  Bruno Haible  <bruno@clisp.org>
62701
62702         * gnulib-tool (func_emit_lib_Makefile_am, func_emit_tests_Makefile_am):
62703         Initialize also noinst_HEADERS to empty.
62704
62705 2006-01-11  Bruno Haible  <bruno@clisp.org>
62706
62707         * gnulib-tool (AUTOMAKEPATH, AUTOCONF, ACLOCAL, AUTOMAKE): New
62708         variables.
62709         (func_create_megatestdir): Call aclocal, autoconf, automake here, not
62710         autoreconf.
62711
62712 2006-01-11  Bruno Haible  <bruno@clisp.org>
62713
62714         * gnulib-tool (AUTOCONF, ACLOCAL, AUTOMAKE, AUTORECONF): Make
62715         overridable by the user.
62716         Reported by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
62717
62718 2006-01-10  Simon Josefsson  <jas@extundo.com>
62719
62720         * modules/sys_socket: New file.
62721
62722 2006-01-10  Simon Josefsson  <jas@extundo.com>
62723
62724         * m4/sys_socket_h.m4: New file.
62725
62726 2006-01-10  Simon Josefsson  <jas@extundo.com>
62727
62728         * lib/socket_.h: New file.
62729
62730 2006-01-10  Paul Eggert  <eggert@cs.ucla.edu>
62731
62732         * modules/readutmp (Maintainer): Add myself.
62733
62734 2006-01-10  Paul Eggert  <eggert@cs.ucla.edu>
62735
62736         * m4/memcoll.m4 (gl_MEMCOLL): Don't require AC_FUNC_MEMCMP, undoing
62737         the 2002-12-31 change.  Problem and fix reported by Bruno Haible.
62738         People who are still concerned with buggy memcmp implementations
62739         can invoke gl_FUNC_MEMCMP themselves.
62740
62741 2006-01-10  Paul Eggert  <eggert@cs.ucla.edu>
62742
62743         * lib/regex_internal.h (BITSET_WORD_BITS):
62744         Work around a bug in 64-bit PGC (before version 6.1-2), where the
62745         preprocessor mishandles large unsigned values as if they were signed.
62746         Problem reported by Claudio Fontana in
62747         <http://lists.gnu.org/archive/html/bug-gnulib/2005-12/msg00061.html>.
62748
62749 2006-01-10  Jim Meyering  <jim@meyering.net>
62750
62751         Avoid the double-free (first in fts_read, second in fts_close) that
62752         would occur when an `active' directory is made inaccessible (e.g.,
62753         via chmod a-x) during a traversal.
62754         * lib/fts.c (fts_read): After a failed fchdir, update sp->fts_cur
62755         before returning.  Reproduce this failure by
62756         mkdir -p a/b; cd a; chmod a-x . b
62757         Reported by Stavros Passas.
62758
62759         Sync from coreutils.
62760         * lib/sha1.c: Tweak grammar in a comment.
62761
62762 2006-01-10  Jim Meyering  <jim@meyering.net>
62763
62764         * m4/fpending.m4: Also include <stdio.h>, for Dragonfly.
62765         Patch by Joerg Sonnenberger.
62766
62767 2006-01-10  Bruno Haible  <bruno@clisp.org>
62768
62769         * modules/readutmp: Depend on module free.
62770         * modules/strtok_r: Depend on module restrict.
62771
62772 2006-01-10  Bruno Haible  <bruno@clisp.org>
62773
62774         * modules/gettext (configure.ac): Add an invocation of
62775         AM_GNU_GETTEXT_VERSION. Needed since autoreconf is used by gnulib-tool.
62776
62777 2006-01-10  Bruno Haible  <bruno@clisp.org>
62778
62779         * m4/localcharset.m4 (gl_LOCALCHARSET): Also test for getc_unlocked.
62780         Reported by Werner Lemberg <wl@gnu.org>.
62781
62782 2006-01-10  Bruno Haible  <bruno@clisp.org>
62783
62784         * lib/localcharset.c: Update from GNU gettext.
62785
62786 2006-01-10  Bruno Haible  <bruno@clisp.org>
62787
62788         * lib/argp.h (__const): Remove macro. Use const instead.
62789         * lib/argp-fmtstream.h (__const): Likewise.
62790         * lib/glob_.h (__const): Remove macro.
62791         * lib/glob-libc.h: Use const instead of __const.
62792
62793 2006-01-10  Bruno Haible  <bruno@clisp.org>
62794
62795         * gnulib-tool (func_emit_tests_Makefile_am): Emit an empty SUBDIR
62796         variable.
62797         Needed to avoid an automake error regarding the 'gettext' module.
62798
62799 2006-01-09  Simon Josefsson  <jas@extundo.com>
62800
62801         * modules/inet_ntop (Depends-on): Add restrict.
62802
62803 2006-01-09  Simon Josefsson  <jas@extundo.com>
62804
62805         * modules/gc-rijndael-tests (License): Put under LGPL.
62806
62807         * modules/gc-des-tests (License): Likewise.
62808
62809         * modules/gc-arcfour-tests (License): Likewise.
62810
62811         * modules/gc-arctwo-tests (License): Likewise.
62812
62813         * modules/gc-pbkdf2-sha1-tests (License): Likewise.
62814
62815         * modules/gc-hmac-sha1-tests (Files): Likewise.
62816
62817         * modules/gc-hmac-md5-tests (License): Likewise.
62818
62819         * modules/gc-sha1-tests (License): Likewise.
62820
62821         * modules/gc-md5-tests (License): Likewise.
62822
62823         * modules/gc-md4-tests (License): Likewise.
62824
62825         * modules/gc-md2-tests (License): Likewise.
62826
62827         * modules/gc-tests (License): Likewise.
62828
62829         * modules/des-tests (License): Likewise.
62830
62831         * modules/md4-tests (License): Likewise.
62832
62833         * modules/md2-tests (License): Likewise.
62834
62835 2006-01-09  Paul Eggert  <eggert@cs.ucla.edu>
62836
62837         Sync from coreutils:
62838
62839         * MODULES.html.sh (build_lib): New section, with new lib-ignore module.
62840         * modules/lib-ignore: New file.
62841         * modules/mkdir-p (Files): Add chdir-safer.c, chdir-safer.h, lchmod.h,
62842         chdir-safer.m4, lchmod.m4.
62843         * modules/openat: Add mkdirat.c, openat-priv.h.
62844
62845 2006-01-09  Paul Eggert  <eggert@cs.ucla.edu>
62846
62847         Sync from coreutils.
62848         * m4/lib-ignore.m4: New file.
62849         * m4/lchmod.m4: New file.
62850
62851 2006-01-09  Paul Eggert  <eggert@cs.ucla.edu>
62852
62853         Sync from coreutils.
62854         * lib/chdir-long.c (cdb_free): Don't bother trying to open directory
62855         for write access: POSIX says that must fail.
62856         * lib/fts.c (diropen): Likewise.
62857         * lib/save-cwd.c (save_cwd): Likewise.
62858         * lib/chdir-long.c (cdb_free): Open with O_NOCTTY | O_NONBLOCK as
62859         well, for minor improvements on hosts that lack O_DIRECTORY.
62860         * lib/chown.c (rpl_chown) [CHOWN_MODIFIES_SYMLINK]:
62861         Don't try O_WRONLY unless O_RDONLY failed wth EACCES.
62862         Fall back on chown if open failed with EACCES.
62863
62864         * lib/gettime.c (gettime) [!defined OK_TO_USE_1S_CLOCK]:
62865         Report an error at compile-time if only a 1-second nominal clock
62866         resolution is found.
62867
62868         * lib/lchmod.h: New file.
62869         * lib/mkdir-p.c: Include lchmod.h, lchown.h.
62870         (make_dir_parents): Use lchown rather than chown, and
62871         lchmod rather than chmod.
62872
62873         * lib/mountlist.c (ME_DUMMY): "none" and "proc" file systems are
62874         dummies too.  Problem with "none" reported by Bob Proulx.  Problem with
62875         "proc" reported by n0dalus.
62876
62877         * lib/mountlist.c: Include <limits.h>.
62878         (dev_from_mount_options)
62879         [defined MOUNTED_GETMNTENT1 || defined MOUNTED_GETMNTENT2]:
62880         New function.  It no longer assumes "dev=" has the System V meaning
62881         on Linux (since it doesn't).  It also parses "dev=" more carefully.
62882         (read_file_system_list)
62883         [defined MOUNTED_GETMNTENT1 || defined MOUNTED_GETMNTENT2]: Use it.
62884         MOUNTED_GETMNTENT2 is new here; the code didn't used to look for
62885         dev= in that case.
62886
62887         * lib/posixtm.h (PDS_PRE_2000): New macro.
62888         * lib/posixtm.c (year): Arg is now syntax_bits rather than
62889         allow_century.  All usages changed.  Reject dates outside the range
62890         1969-1999 if PDS_PRE_2000 is used.
62891
62892 2006-01-09  Paul Eggert  <eggert@cs.ucla.edu>
62893
62894         Sync from coreutils.
62895         * doc/getdate.texi (General date syntax): Invalid dates are rejected.
62896         (Time of day items): Mention the possibility of leap seconds.
62897         Problem reported by Dr. David Alan Gilbert.
62898
62899 2006-01-09  Jim Meyering  <jim@meyering.net>
62900
62901         Sync from coreutils.
62902
62903         * lib/version-etc.c (COPYRIGHT_YEAR): Update to 2006.
62904
62905         * lib/chdir-safer.h, lib/chdir-safer.c: New files.
62906
62907         * lib/modechange.c (mode_compile): Reject an invalid mode string
62908         that starts with an octal digit.  From Andreas Gruenbacher.
62909
62910         * lib/openat.c: Include "fcntl--.h" and "unistd--.h", to map open
62911         and dup to open_safer and dup_safer, respectively.
62912         (openat_permissive): Fix typo in comment.
62913
62914         * lib/openat.c: Don't include <stdlib.h>, <unistd.h>, <fcntl.h>,
62915         "gettext.h"; either no longer needed or are guaranteed by openat.h.
62916         (_): Remove; no longer needed.
62917         (openat): Renamed from rpl_openat; no need for rpl_openat
62918         since openat.h renames openat for us.
62919         Replace most of the body with a call to openat_permissive,
62920         to avoid duplicate code.
62921         Port to (probably hypothetical) environments were mode_t is
62922         wider than int.
62923         (openat_permissive): Require mode arg, so that we can check
62924         types better.  Put it just after flags.  Change cwd failure
62925         indicator from pointer-to-bool to pointer-to-errno-value.
62926         All callers changed.
62927         Invoke openat_save_fail and/or openat_restore_fail if
62928         cwd_errno is null, so that openat can call us.
62929         (openat_permissive, fdopendir, fstatat, unlinkat):
62930         Simplify errno handling to avoid some duplicate code,
62931         as it's OK to set errno on success.
62932         * lib/openat.h: Revamp code so that function macros depend on
62933         __OPENAT_PREFIX only, not also on AT_FDCWD.
62934         (openat_ro): Remove.  Caller changed to use openat_permissive.
62935         (openat_permissive): Now a macro, if not a function.
62936         (openat_restore_fail, openat_save_fail): Now always functions,
62937         since mkdirat needs them even if __OPENAT_PREFIX is defined.
62938
62939         * lib/openat-priv.h: New file, defining macros used by mkdirat.c
62940         and openat.c.
62941         * lib/mkdirat.c: Include openat-priv.h.
62942         Remove definitions of macros defined therein.
62943         * lib/openat.c: Likewise.
62944
62945         * lib/mkdirat.c (mkdirat): New file and function.
62946         * lib/openat.h (mkdirat): Declare.
62947
62948         * lib/openat.c (fdopendir): Don't change errno when returning non-NULL.
62949
62950         * lib/openat.h (openat_permissive): Declare.
62951         (openat_ro): Define.
62952
62953         * lib/openat.c (EXPECTED_ERRNO): New macro.
62954         (openat_permissive): New function -- used in remove.c rewrite.
62955         (all functions): Set errno just before returning, only if there
62956         was an actual failure.
62957         Use EXPECTED_ERRNO rather than comparing against only ENOTDIR.
62958
62959         Emulate openat-family functions using Linux's procfs, if possible.
62960         Idea and some code based on Ulrich Drepper's glibc changes.
62961
62962         * lib/openat.c: (BUILD_PROC_NAME): New macro.
62963         Include <stdio.h>, <string.h>, "alloca.h" and "intprops.h".
62964         (rpl_openat): Emulate by trying to open /proc/self/fd/%d/%s,
62965         before falling back on save_cwd and restore_cwd.
62966         (fdopendir, fstatat, unlinkat): Likewise.
62967
62968         * lib/openat.c (fstatat, unlinkat): Perform the syscall directly,
62969         skipping the save_cwd...restore_cwd overhead, if FILE is absolute.
62970
62971         * lib/openat.c (rpl_openat): Use the promoted type (int), not mode_t,
62972         as second argument to va_arg.  Otherwise, some versions of gcc
62973         warn that `if this code is reached, the program will abort'.
62974
62975 2006-01-09  Jim Meyering  <jim@meyering.net>
62976
62977         Sync from coreutils.
62978         * m4/openat.m4 (gl_FUNC_OPENAT): Require and compile mkdirat.c.
62979         Require openat-priv.h.
62980
62981 2006-01-09  Bruno Haible  <bruno@clisp.org>
62982
62983         * modules/strnlen (Include): Use strnlen.h.
62984
62985 2006-01-09  Bruno Haible  <bruno@clisp.org>
62986
62987         * m4/stdint.m4 (gl_STDINT_H): Also test for <sys/bitypes.h>.
62988
62989 2006-01-09  Bruno Haible  <bruno@clisp.org>
62990
62991         * lib/sysexit_.h (EX_OK): New macro.
62992         Suggested by Martin Lambers <marlam@marlam.de>.
62993
62994 2006-01-09  Bruno Haible  <bruno@clisp.org>
62995
62996         * lib/stdint_.h: On Linux libc4 and libc5, include <sys/bitypes.h> and
62997         don't define _STDINT_H_NEED_SIGNED_INT_TYPES.
62998
62999 2006-01-09  Bruno Haible  <bruno@clisp.org>
63000
63001         * lib/stdint_.h (SIZE_MAX): Write the value without involving negative
63002         numbers.
63003
63004 2006-01-09  Bruno Haible  <bruno@clisp.org>
63005
63006         * lib/javacomp.sh.in: Move to ../build-aux/javacomp.sh.in.
63007         * lib/javaexec.sh.in: Move to ../build-aux/javaexec.sh.in.
63008         * lib/csharpcomp.sh.in: Move to ../build-aux/csharpcomp.sh.in.
63009         * lib/csharpexec.sh.in: Move to ../build-aux/csharpexec.sh.in.
63010
63011 2006-01-09  Bruno Haible  <bruno@clisp.org>
63012
63013         * build-aux/javacomp.sh.in: New file, moved from lib/.
63014         * modules/javacomp-script (Files): Update.
63015         (configure.ac): Add AC_CONFIG_FILES invocation.
63016         (EXTRA_DIST): Remove variable.
63017
63018         * build-aux/javaexec.sh.in: New file, moved from lib/.
63019         * modules/javaexec (Files): Update.
63020         (configure.ac): Add AC_CONFIG_FILES invocation.
63021         (EXTRA_DIST): Remove javaexec.sh.in.
63022
63023         * build-aux/csharpcomp.sh.in: New file, moved from lib/.
63024         * modules/csharpcomp-script (Files): Update.
63025         (configure.ac): Add AC_CONFIG_FILES invocation.
63026         (EXTRA_DIST): Remove variable.
63027
63028         * build-aux/csharpexec.sh.in: New file, moved from lib/.
63029         * modules/csharpexec (Files): Update.
63030         (configure.ac): Add AC_CONFIG_FILES invocation.
63031         (EXTRA_DIST): Remove csharpexec.sh.in.
63032
63033 2006-01-09  Andreas Gruenbacher  <agruen@suse.de>
63034
63035         Sync from coreutils.
63036
63037         Add POSIX ACL support
63038         * lib/acl.h (copy_acl, set_acl): Add declarations.
63039         * lib/acl.c (acl_entries): Add fallback implementation for POSIX ACL
63040         systems other than Linux.
63041         (chmod_or_fchmod): New function: use fchmod when possible,
63042         and chmod otherwise.
63043         (file_has_acl): Add a POSIX ACL implementation, with a
63044         Linux-specific subcase.
63045         (copy_acl): Add: copy an acl and S_ISUID, S_ISGID, and
63046         S_ISVTX from one file to another.  Fall back to fchmod/chmod when
63047         acls are unsupported.
63048         (set_acl): Add: set a file's acl and S_ISUID, S_ISGID, and
63049         S_ISVTX to a defined value.  Fall back to fchmod/chmod when acls
63050         are unsupported.
63051
63052 2006-01-09  Andreas Gruenbacher  <agruen@suse.de>
63053
63054         Sync from coreutils.
63055         * m4/acl.m4 (AC_FUNC_ACL): Add POSIX ACL and Linux-specific acl tests.
63056
63057 2006-01-07  Bruno Haible  <bruno@clisp.org>
63058
63059         * gnulib-tool (func_import): Add an AC_PROG_RANLIB dependency to
63060         gl_EARLY.
63061
63062 2006-01-04  Paul Eggert  <eggert@cs.ucla.edu>
63063
63064         * lib/strftime.c (tzname): Don't declare if it is already #defined.
63065         Problem reported for Mingw by Mark Junker.
63066
63067 2006-01-04  Paul Eggert  <eggert@cs.ucla.edu>
63068
63069         * README: Gnulib normally doesn't generate a tarball.
63070
63071 2006-01-03  Paul Eggert  <eggert@cs.ucla.edu>
63072
63073         * lib/xtime.h (xtime_make, xtime_nonnegative_nsec, xtime_nsec): Use
63074         long int, not int, for nanosecond counts, so that people who are
63075         used to POSIX struct timespec won't be surprised.  Reported by Jim
63076         Meyering.
63077
63078 2005-12-28  Bruno Haible  <bruno@clisp.org>
63079
63080         * build-aux/config.rpath: Update from GNU gettext.
63081
63082 2005-12-16  Jim Meyering  <jim@meyering.net>
63083
63084         * modules/fprintftime: New module.
63085         * MODULES.html.sh (Date and time <time.h>): Add fprintftime.
63086
63087 2005-12-16  Jim Meyering  <jim@meyering.net>
63088
63089         * m4/fprintftime.m4: New file.
63090
63091 2005-12-16  Jim Meyering  <jim@meyering.net>
63092
63093         * lib/fprintftime.c, lib/fprintftime.h: New files.
63094
63095 2005-12-15  Simon Josefsson  <jas@extundo.com>
63096
63097         * modules/socklen (configure.ac): Fix M4 macro name, to align with
63098         new m4/socklen.m4.
63099
63100 2005-12-10  Sergey Poznyakoff  <gray@gnu.org.ua>
63101
63102         * m4/argp.m4: Define HAVE_DECL_PROGRAM_INVOCATION_NAME and
63103         HAVE_DECL_PROGRAM_INVOCATION_SHORT_NAME
63104
63105 2005-12-10  Sergey Poznyakoff  <gray@gnu.org.ua>
63106
63107         * lib/argp-fmtstream.c (__argp_fmtstream_update): Fix coredump
63108         * lib/argp-help.c (fill_in_uparams): Check if the constructed
63109         struct uparams is valid. Fall back to the default values if it is
63110         not.
63111
63112 2005-12-09  Sergey Poznyakoff  <gray@gnu.org.ua>
63113
63114         * modules/argp (Files): Add argp-pin.c
63115         (Depends-on): dirname
63116         (lib_SOURCES): Add argp-pin.c
63117
63118 2005-12-09  Sergey Poznyakoff  <gray@gnu.org.ua>
63119
63120         * m4/argp.m4:  Check if program_invocation_name and
63121         program_invocation_short_name are declared and define appropriate
63122         macros if they are not.
63123
63124 2005-12-09  Sergey Poznyakoff  <gray@gnu.org.ua>
63125
63126         * lib/argp-help.c (__argp_base_name): New function
63127         (__argp_short_program_name): Rewrite using __argp_base_name
63128         * lib/argp-namefrob.h: Define program_invocation_name and
63129         program_invocation_short_name if requested
63130         (__argp_base_name): Add prototype
63131         * lib/argp-parse.c (argp_def): Use gettext wrappers
63132         (argp_default_parser): Use __argp_base_name
63133         * lib/argp-pin.c: New file. Defines program_invocation_name and
63134         program_invocation_short_name on systems that lack them.
63135
63136 2005-12-07  Paul Eggert  <eggert@cs.ucla.edu>
63137
63138         * m4/stat-time.m4 (gl_STAT_TIME): Add check for
63139         TYPEOF_STRUCT_STAT_ST_ATIM_IS_STRUCT_TIMESPEC, to fix IRIX 5.3
63140         porting problem reported by Georg Schwarz in
63141         <http://lists.gnu.org/archive/html/bug-coreutils/2005-12/msg00083.html>.
63142
63143 2005-12-07  Paul Eggert  <eggert@cs.ucla.edu>
63144
63145         * lib/stat-time.h (STATE_TIMESPEC, STAT_TIMESPEC_NS): Add check for
63146         TYPEOF_STRUCT_STAT_ST_ATIM_IS_STRUCT_TIMESPEC, to fix IRIX 5.3
63147         porting problem reported by Georg Schwarz in
63148         <http://lists.gnu.org/archive/html/bug-coreutils/2005-12/msg00083.html>.
63149
63150 2005-12-05  Bruno Haible  <bruno@clisp.org>
63151
63152         * lib/csharpcomp.sh.in (options_csc): For -l option, add a .dll suffix.
63153         * lib/csharpcomp.c (compile_csharp_using_sscli): Likewise.
63154         Reported by Mark Junker <mjscod@gmx.de>.
63155
63156 2005-12-02  Paul Eggert  <eggert@cs.ucla.edu>
63157
63158         * m4/socklen.m4 (gl_TYPE_SOCKLEN_T): Renamed from gl_SOCKLEN_T.
63159         Use implementation from Albert Chin, with some
63160         comments/corrections by Stepan Kasal and myself.
63161
63162 2005-12-02  Bruno Haible  <bruno@clisp.org>
63163
63164         * gnulib-tool (func_import): Accept GPLed build tool modules when
63165         --lgpl is given.
63166         * modules/csharpcomp-script: New file.
63167         * modules/csharpcomp: Depend on it.
63168         * modules/javacomp-script: New file.
63169         * modules/javacomp: Depend on it.
63170         Suggested by Simon Josefsson.
63171
63172 2005-12-01  Paul Eggert  <eggert@cs.ucla.edu>
63173
63174         * m4/regex.m4 (gl_REGEX): Check whether off_t can be used in a switch
63175         statement, to work around an HP-UX 10.20 compiler bug reported by
63176         Peter O'Gorman.
63177
63178 2005-11-29  Paul Eggert  <eggert@cs.ucla.edu>
63179
63180         * modules/savedir (Depends-on): Add openat.
63181
63182 2005-11-29  Paul Eggert  <eggert@cs.ucla.edu>
63183
63184         * lib/stdint_.h (intmax_t) [defined intmax_t]: Do not declare.
63185         (uintmax_t) [defined uintmax_t]: Do not declare.
63186         (SIZE_MAX) [defined SIZE_MAX]: Do not define.
63187         This works around a problem if intmax_t.m4 and/or uintmax_t.m4
63188         and/or size_max.m4 are also used.  Problem reported by Mark D. Baushke.
63189         (SIZE_MAX): Define to ((size_t) -1), not (~(size_t)0), for the
63190         sake of portability to weird hosts that C allows (though we don't
63191         know of any practical examples).
63192
63193         * lib/savedir.h (fdsavedir): New decl.
63194         * lib/savedir.c (fdsavedir, savedirstream): New functions; the latter
63195         contains most of the former guts of savedir.
63196         (savedir): Use savedirstream.
63197         Include "openat.h".
63198
63199 2005-11-25  Paul Eggert  <eggert@cs.ucla.edu>
63200
63201         * modules/obstack (Files): Add m4/ulonglong.m4.
63202         Problem reported by Davide Angelocola.
63203
63204 2005-11-15  Paul Eggert  <eggert@cs.ucla.edu>
63205
63206         * lib/xstrtod.c: Don't bother with #pragma STDC FENV_ACCESS ON, as
63207         coreutils no longer futzes with rounding modes.
63208
63209 2005-11-14  Jim Meyering  <jim@meyering.net>
63210
63211         * lib/mkstemp-safer.c: Include <config.h>, required for possible
63212         replacement of mkstemp.
63213
63214 2005-11-10  Simon Josefsson  <jas@extundo.com>
63215
63216         * lib/readline.c: Remove EOL.
63217
63218 2005-11-10  Paul Eggert  <eggert@cs.ucla.edu>
63219
63220         * modules/gethrxtime (Depends-on): Add gettime.
63221
63222 2005-11-10  Paul Eggert  <eggert@cs.ucla.edu>
63223
63224         * m4/gethrxtime.m4 (gl_PREREQ_GETHRXTIME): Don't require AC_HEADER_TIME
63225         or gettimeofday; no longer needed.
63226
63227 2005-11-10  Paul Eggert  <eggert@cs.ucla.edu>
63228
63229         * lib/gethrxtime.c: Include "timespec.h" rather than the sys/time /
63230         time business.
63231         (gethrxtime) [! (HAVE_NANOUPTIME
63232         || (defined CLOCK_MONOTONIC && HAVE_CLOCK_GETTIME)
63233         || HAVE_MICROUPTIME)]: Fall back on gettime rather than rolling
63234         our own approximation.
63235
63236 2005-11-08  Eric Blake  <ebb9@byu.net>
63237
63238         * lib/inet_ntop.h: Use #if !, not #ifndef, for AC_CHECK_DECLS.
63239
63240 2005-11-08  Eric Blake  <ebb9@byu.net>
63241
63242         * lib/getaddrinfo.h: Use #if !, not #ifndef, for AC_CHECK_DECLS.
63243
63244 2005-11-04  Bruno Haible  <bruno@clisp.org>
63245
63246         * gnulib-tool: Implement --update mode.
63247
63248 2005-10-30  Paul Eggert  <eggert@cs.ucla.edu>
63249
63250         Fix porting problem reported by Theodoros V. Kalamatianos.
63251         * lib/utimens.c (futimens) [HAVE_WORKING_UTIMES && HAVE_FUTIMES]:
63252         Don't assume that futimes failing means we must fail.
63253
63254 2005-10-30  Paul Eggert  <eggert@cs.ucla.edu>
63255
63256         * m4/chdir-long.m4 (gl_FUNC_CHDIR_LONG): Revamp wording and local
63257         variables to suggest the intended function of the PATH_MAX check.
63258
63259 2005-10-30  Kean Johnston  <jkj@sco.com>
63260
63261         Trivial changes to support SCO systems.
63262         * m4/chdir-long.m4 (gl_FUNC_CHDIR_LONG): Check for MAXPATHLEN as well
63263         as PATH_MAX.
63264         * m4/fpending.m4 (gl_FUNC_FPENDING): Correct check for SCO systems,
63265         where __ptr is null when no I/O is pending.
63266
63267 2005-10-29  Paul Eggert  <eggert@cs.ucla.edu>
63268
63269         * lib/getcwd.c (__getcwd): Don't assume that system calls after readdir
63270         leave errno alone.  Problem reported by Dmitry V. Levin.
63271
63272 2005-10-28  Simon Josefsson  <jas@extundo.com>
63273
63274         * tests/test-gc-md4.c, tests/test-gc-md5.c, tests/test-gc-sha1.c:
63275         Test more.
63276
63277         * tests/test-gc-md2.c, tests/test-md2.c: New files.
63278
63279         * modules/md2, modules/md2-tests: New files.
63280
63281 2005-10-28  Simon Josefsson  <jas@extundo.com>
63282
63283         * m4/inet_ntop.m4: More tests.
63284
63285         * m4/gc-md2.m4, md2.m4: New file.
63286
63287 2005-10-28  Simon Josefsson  <jas@extundo.com>
63288
63289         * lib/inet_ntop.h, inet_ntop.c: Make it work under mingw32: Add
63290         "restrict" keywords, as per POSIX.  Protect the function
63291         declaration around HAVE_DECL_INET_NTOP rather than HAVE_INET_NTOP.
63292         Don't use K&R prototypes.  Check the sprintf return values.
63293         Re-define EAFNOSUPPORT if not present.  Indent.
63294
63295         * lib/md5.h, md5.c: Simplify buffer handling visavi alignment,
63296         suggested by Bruno Haible <bruno@clisp.org>.
63297
63298         * lib/gc-gnulib.c, gc-libgcrypt.c: Check calloc return value.
63299
63300         * lib/gc.h: Add MD2 and RMD160 length defines.  Add prototypes.
63301
63302         * lib/gc-libgcrypt.c: Add MD2 (which is not available through
63303         libgcrypt).
63304
63305         * lib/gc-gnulib.c: Add MD2.  Implement gc_hash_* API.
63306
63307         * lib/md2.h, lib/md2.c: New files.
63308
63309 2005-10-28  Paul Eggert  <eggert@cs.ucla.edu>
63310
63311         * lib/savedir.c (savedir): Don't assume that xrealloc etc. leave
63312         errno alone.  Problem reported by Frederic Jolliton.
63313
63314 2005-10-27  Paul Eggert  <eggert@cs.ucla.edu>
63315
63316         * modules/verify (License): Change from GPL to LGPL.  This is a
63317         tiny module and there are apparently near-equivalents that are
63318         under the BSD license.
63319
63320 2005-10-24  Simon Josefsson  <jas@extundo.com>
63321
63322         * modules/sha1: Relicense to LGPL.
63323
63324 2005-10-24  Simon Josefsson  <jas@extundo.com>
63325
63326         * lib/md4.h: Shrink buffer size, now that we changed the type.
63327
63328 2005-10-23  Simon Josefsson  <jas@extundo.com>
63329
63330         * gnulib-tool (func_import): Fix --tests-base.
63331
63332 2005-10-22  Simon Josefsson  <jas@extundo.com>
63333
63334         * modules/arcfour (Depends-on): Need stdint.
63335
63336 2005-10-22  Simon Josefsson  <jas@extundo.com>
63337
63338         * m4/gc.m4: Don't be fooled by --disable-*random-device parameters,
63339         suggested by Bruno Haible <bruno@clisp.org>.  Fix error messages.
63340
63341 2005-10-22  Simon Josefsson  <jas@extundo.com>
63342
63343         * lib/md4.h, md4.c: Simplify buffer handling visavi alignment,
63344         suggested by Bruno Haible <bruno@clisp.org>.
63345
63346 2005-10-22  Simon Josefsson  <jas@extundo.com>
63347
63348         * lib/crc.h: Include stddef.h, for size_t.
63349
63350 2005-10-22  Simon Josefsson  <jas@extundo.com>
63351
63352         * lib/arcfour.h, arcfour.c: Use fixed size indices in the
63353         arcfour_context struct (simplify test vector testing in GNU
63354         Shishi).
63355
63356 2005-10-21  Simon Josefsson  <jas@extundo.com>
63357
63358         * modules/des, modules/des-tests: New files.
63359
63360         * modules/gc-des, modules/gc-des-tests: New files.
63361
63362         * tests/test-des.c, tests/test-gc-des.c: New file.
63363
63364 2005-10-21  Simon Josefsson  <jas@extundo.com>
63365
63366         * modules/arctwo, modules/arctwo-tests: New files.
63367
63368         * tests/test-arctwo.c: New file.
63369
63370         * modules/gc-arctwo, modules/gc-arctwo-tests: New files.
63371
63372         * tests/test-gc-arctwo.c: New file.
63373
63374 2005-10-21  Simon Josefsson  <jas@extundo.com>
63375
63376         * m4/gc.m4: Don't use libgcrypt if gcrypt.h isn't found, suggested by
63377         Bruno Haible <bruno@clisp.org>.
63378
63379         * m4/gc-des.m4: New file.
63380
63381 2005-10-21  Simon Josefsson  <jas@extundo.com>
63382
63383         * m4/arctwo.m4: New file.
63384
63385         * m4/gc-arctwo.m4: New file.
63386
63387 2005-10-21  Simon Josefsson  <jas@extundo.com>
63388
63389         * lib/rijndael-api-fst.c: Fix bugs in CBC mode for more than one
63390         block.
63391
63392 2005-10-21  Simon Josefsson  <jas@extundo.com>
63393
63394         * lib/hmac-md5.c (hmac_md5): Add comments, suggested by Bruno Haible
63395         <bruno@clisp.org>.
63396
63397         * lib/hmac-sha1.c (hmac_sha1): Likewise.
63398
63399         * lib/crc.c (crc32_update): Actually use crc parameter, suggested by
63400         Bruno Haible <bruno@clisp.org>.
63401
63402         * lib/crc.h: Include stdint.h directly, suggested by Bruno Haible
63403         <bruno@clisp.org>.
63404
63405 2005-10-21  Simon Josefsson  <jas@extundo.com>
63406
63407         * lib/gc-libgcrypt.c (gc_cipher_open): Handle ECB.
63408
63409 2005-10-21  Simon Josefsson  <jas@extundo.com>
63410
63411         * lib/gc-gnulib.c: Support ARCTWO in CBC mode.
63412
63413 2005-10-21  Simon Josefsson  <jas@extundo.com>
63414
63415         * lib/des.h, lib/des.c: New files.
63416
63417         * lib/gc-gnulib.c: Support DES.c
63418
63419 2005-10-21  Simon Josefsson  <jas@extundo.com>
63420
63421         * lib/arctwo.h, lib/arctwo.c: New files.
63422
63423         * lib/gc-gnulib.c: Support ARCTWO.
63424
63425 2005-10-21  Simon Josefsson  <jas@extundo.com>
63426
63427         * lib/arctwo.h (arctwo_setkey): Protect variable in CPP macro,
63428         suggested by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
63429
63430 2005-10-21  Simon Josefsson  <jas@extundo.com>
63431
63432         * gnulib-tool (func_import, func_create_testdir): Define automake
63433         conditional GL_COND_LIBTOOL if libtool is used (to be used by modules
63434         Makefile.am snippet),
63435         suggested by Bruno Haible <bruno@clisp.org>.
63436
63437         * modules/gc (Makefile.am): Use it.
63438
63439 2005-10-21  Bruno Haible  <bruno@clisp.org>
63440
63441         * gnulib-tool (func_import, func_create_testdir): Add quoting to last
63442         patch.
63443
63444 2005-10-19  Simon Josefsson  <jas@extundo.com>
63445
63446         * tests/test-gc-rijndael.c: New file.
63447
63448         * modules/gc-rijndael, modules/gc-rijndael-test: New files.
63449
63450 2005-10-19  Simon Josefsson  <jas@extundo.com>
63451
63452         * tests/test-gc-md4.c, tests/test-gc-md5.c: Test gc_hash_buffer
63453         interface too.
63454
63455 2005-10-19  Simon Josefsson  <jas@extundo.com>
63456
63457         * tests/test-gc-arcfour.c: New file.
63458
63459         * modules/gc-arcfour, modules/gc-arcfour-tests: New files.
63460
63461 2005-10-19  Simon Josefsson  <jas@extundo.com>
63462
63463         * modules/gc-md4, modules/gc-md4-tests: New file.
63464
63465         * tests/test-gc-md4.c: New file.
63466
63467 2005-10-19  Simon Josefsson  <jas@extundo.com>
63468
63469         * m4/gc-md4.m4: New file.
63470
63471 2005-10-19  Simon Josefsson  <jas@extundo.com>
63472
63473         * m4/gc-hmac-md5.m4, gc-hmac-sha1.m4, gc-md4.m4,
63474         gc-md5.m4, gc-sha1.m4: Fix typo, suggested by Stepan Kasal
63475         <kasal@ucw.cz>.
63476
63477 2005-10-19  Simon Josefsson  <jas@extundo.com>
63478
63479         * m4/gc-arcfour.m4: New file.
63480
63481         * m4/gc-rijndael.m4: New file.
63482
63483 2005-10-19  Simon Josefsson  <jas@extundo.com>
63484
63485         * lib/gc.h, gc-gnulib.c, gc-libgcrypt.c: Support MD4.
63486
63487 2005-10-19  Simon Josefsson  <jas@extundo.com>
63488
63489         * lib/gc-gnulib.c: Support ARCFOUR.
63490
63491 2005-10-19  Simon Josefsson  <jas@extundo.com>
63492
63493         * lib/gc-gnulib.c: Implement gc_cipher_* API, currently only with AES
63494         support.
63495
63496         * lib/gc.h: Add ECB enum type.
63497
63498         * lib/hmac-md5.c, hmac-sha1.c: Include memxor.h.
63499
63500 2005-10-18  Simon Josefsson  <jas@extundo.com>
63501
63502         * tests/test-md5.c: New file.
63503
63504         * modules/md5-tests: New file.
63505
63506 2005-10-18  Simon Josefsson  <jas@extundo.com>
63507
63508         * tests/test-md4.c: New file.
63509
63510         * modules/md4, modules/md4-tests: New files.
63511
63512 2005-10-18  Simon Josefsson  <jas@extundo.com>
63513
63514         * m4/md4.m4: New file.
63515
63516 2005-10-18  Simon Josefsson  <jas@extundo.com>
63517
63518         * lib/md4.h, lib/md4.c: New files, based on md5.?.
63519
63520 2005-10-17  Stepan Kasal  <kasal@ucw.cz>
63521
63522         * gnulib-tool (func_create_testdir): Omit the second check whether
63523         BUILT_SOURCES in nonempty.
63524
63525 2005-10-17  Simon Josefsson  <jas@extundo.com>
63526
63527         * tests/test-rijndael.c: New file.
63528
63529 2005-10-17  Simon Josefsson  <jas@extundo.com>
63530
63531         * modules/sha1: Depend on stdint instead of md5.
63532
63533         * modules/md5: Depend on stdint, remove uint32_t.
63534
63535 2005-10-17  Simon Josefsson  <jas@extundo.com>
63536
63537         * modules/gc-sha1-tests: New file.
63538
63539         * tests/test-gc-sha1.c: New file.
63540
63541 2005-10-17  Simon Josefsson  <jas@extundo.com>
63542
63543         * m4/md5.m4: Remove call to uint32_t.m4.
63544
63545 2005-10-17  Simon Josefsson  <jas@extundo.com>
63546
63547         * lib/sha1.c: Use uint32_t instead of md5_uint32.t
63548
63549         * lib/sha1.h: Use stdint.h and uint32_t instead of md5_uint32 from
63550         md5.h.
63551
63552         * lib/md5.c: Use uin32_t.  Fix non-gcc UNALIGNED_P macro.
63553
63554         * lib/md5.h: Use stdint.h and uint32_t.  Doc fix.
63555
63556 2005-10-17  Simon Josefsson  <jas@extundo.com>
63557
63558         * lib/gc.h, gc-libgcrypt.c: Add more hash types/functions.
63559
63560 2005-10-17  Simon Josefsson  <jas@extundo.com>
63561
63562         * lib/gc.h, gc-libgcrypt.c: Add ciphers.
63563
63564 2005-10-17  Simon Josefsson  <jas@extundo.com>
63565
63566         * lib/gc-libgcrypt.c (gc_hmac_sha1): Fix assert.
63567
63568         * lib/gc.h (gc_nonce, gc_pseudo_random, gc_random): Add prototypes.
63569
63570 2005-10-17  Bruno Haible  <bruno@clisp.org>
63571
63572         * m4/stdbool.m4 (AC_HEADER_STDBOOL): Change the return statement so
63573         that it can also be used in a test.
63574
63575 2005-10-16  Bruno Haible  <bruno@clisp.org>
63576
63577         * gnulib-tool (func_emit_tests_Makefile_am): Also define
63578         TESTS_ENVIRONMENT, so that individual tests can augment it.
63579
63580         * gnulib-tool (func_create_testdir): Use an intermediate target for
63581         building $(BUILT_SOURCES). Needed because BUILT_SOURCES can contain
63582         macros, like $(ALLOCA_H), which cannot be passed through the command
63583         line.
63584
63585 2005-10-15  Simon Josefsson  <jas@extundo.com>
63586
63587         * modules/rijndael-tests: New file.
63588
63589         * modules/rijndael: New file.
63590
63591 2005-10-15  Simon Josefsson  <jas@extundo.com>
63592
63593         * m4/rijndael.m4: New file.
63594
63595 2005-10-15  Simon Josefsson  <jas@extundo.com>
63596
63597         * lib/rijndael-api-fst.h, lib/rijndael-api-fst.c: New files.
63598
63599         * lib/rijndael-alg-fst.h, lib/rijndael-alg-fst.c: New files.
63600
63601 2005-10-14  Simon Josefsson  <jas@extundo.com>
63602
63603         * tests/test-arcfour.c: New file.
63604
63605         * modules/arcfour, modules/arcfour-tests: New files.
63606
63607 2005-10-14  Simon Josefsson  <jas@extundo.com>
63608
63609         * m4/arcfour.m4: New file.
63610
63611 2005-10-14  Simon Josefsson  <jas@extundo.com>
63612
63613         * lib/arcfour.h, lib/arcfour.c: New files.
63614
63615 2005-10-14  Roland McGrath  <roland@redhat.com>
63616
63617         Import from libc.  [BZ #1331]
63618         * lib/obstack.h [!__STDC__] (obstack_int_grow_fast): Fix misnamed
63619         macro argument.
63620         Reported by Matej Vela <vela@debian.org>.
63621
63622 2005-10-14  Paul Eggert  <eggert@cs.ucla.edu>
63623
63624         * lib/obstack.c [defined _LIBC && defined USE_IN_LIBIO]: Don't
63625         include <wchar.h>; no longer needed.
63626
63627 2005-10-14  Paul Eggert  <eggert@cs.ucla.edu>
63628
63629         * config/srclist.txt: Add glibc bug 321 for obstack.c, obstack.h.
63630
63631 2005-10-14  Jakub Jelinek  <jakub@redhat.com>
63632         and  Ulrich Drepper  <drepper@redhat.com>
63633
63634         Import from libc.
63635         * lib/obstack.c (print_and_abort) [defined _LIBC]: Use __fxprintf
63636         instead of inline stream orientation test and two separate
63637         function calls.  Pay no attention to USE_IN_LIBIO.
63638
63639 2005-10-13  Simon Josefsson  <jas@extundo.com>
63640
63641         * modules/gc-hmac-md5-tests: New file.
63642
63643         * tests/test-gc-hmac-sha1.c: New file.
63644
63645         * tests/test-gc.c (main): Remove MD5 and HMAC-MD5 tests.
63646
63647         * modules/gc-hmac-md5-tests: New file.
63648
63649         * tests/test-gc-md5.c: New file.
63650
63651         * modules/gc-md5-tests: New file.
63652
63653 2005-10-13  Simon Josefsson  <jas@extundo.com>
63654
63655         * lib/gc-pbkdf2-sha1.c (gc_pbkdf2_sha1): Optimize CEIL computation.
63656         Move memory allocation outside of loop.
63657
63658 2005-10-13  Paul Eggert  <eggert@cs.ucla.edu>
63659
63660         * lib/mkdir-p.c (make_dir_parents): Don't report an error if an
63661         intermediate directory is in a read-only file system.  Problem
63662         reported by Eric Blake.
63663
63664 2005-10-13  Oskar Liljeblad  <oskar@osk.mine.nu>
63665
63666         * modules/human (Depends-on): Depend on xstrtoumax, not xstrtol.
63667
63668 2005-10-12  Simon Josefsson  <jas@extundo.com>
63669
63670         * tests/test-hmac-sha1.c: New file.
63671
63672         * modules/hmac-sha1-tests: New file.
63673
63674         * modules/hmac-sha1: New file.
63675
63676 2005-10-12  Simon Josefsson  <jas@extundo.com>
63677
63678         * modules/gc-sha1: New file.
63679
63680 2005-10-12  Simon Josefsson  <jas@extundo.com>
63681
63682         * modules/gc-pbkdf2-sha1, modules/gc-pbkdf2-sha1-tests: New files.
63683
63684         * tests/test-gc-pbkdf2-sha1.c: New file.
63685
63686 2005-10-12  Simon Josefsson  <jas@extundo.com>
63687
63688         * modules/gc-md5, modules/gc-hmac-md5: New files.
63689
63690         * modules/gc (Files): Remove md5, memxor and hmac files.
63691
63692 2005-10-12  Simon Josefsson  <jas@extundo.com>
63693
63694         * m4/gc-pbkdf2-sha1.m4: New file.
63695
63696         * m4/gc-hmac-sha1.m4: New file.
63697
63698         * m4/gc-sha1: New file.
63699
63700         * m4/hmac-sha1.m4: New file.
63701
63702 2005-10-12  Simon Josefsson  <jas@extundo.com>
63703
63704         * m4/gc-md5.m4, m4/gc-hmac-md5.m4: New files.
63705
63706         * m4/gc.m4: Don't call gl_MD5, gl_MEMXOR or gl_HMAC_MD5.
63707
63708 2005-10-12  Simon Josefsson  <jas@extundo.com>
63709
63710         * lib/gc.h, gc-gnulib.c, gc-libgcrypt.c: Use Gc_rc for return types,
63711         suggested by Bruno Haible <bruno@clisp.org>.
63712
63713 2005-10-12  Simon Josefsson  <jas@extundo.com>
63714
63715         * lib/gc.h, gc-gnulib.c, gc-libgcrypt.c: Support SHA-1.
63716
63717 2005-10-12  Simon Josefsson  <jas@extundo.com>
63718
63719         * lib/gc-pbkdf2-sha1.c: New file.
63720
63721         * lib/gc.h: Add gc_pbkdf2_sha1 prototype.
63722
63723 2005-10-12  Simon Josefsson  <jas@extundo.com>
63724
63725         * lib/gc-libgcrypt.c (gc_hmac_sha1): New function.
63726
63727         * lib/gc-gnulib.c (gc_hmac_sha1): New function.
63728
63729 2005-10-12  Simon Josefsson  <jas@extundo.com>
63730
63731         * lib/gc-gnulib.c: Condition MD5 and HMAC-MD5 use on GC_USE_MD5 and
63732         GC_USE_HMAC_MD5, respectively.
63733
63734         * lib/gc-libgcrypt.c (gc_md5): Fix assert call.
63735         (gc_md5): Fix typo.
63736
63737         * lib/gc.h (gc_hash_buffer): Use gc_hash in prototype.
63738
63739         * lib/gc-libgcrypt.c (gc_hash_buffer): Ditto.
63740
63741         * lib/gc-gnulib.c (gc_hash_buffer): Ditto.
63742
63743 2005-10-12  Bruno Haible  <bruno@clisp.org>
63744
63745         * m4/stdbool.m4 (gl_STDBOOL_H): Define as an alias of AM_STDBOOL_H.
63746         Reported by Stepan Kasal <kasal@ucw.cz>.
63747
63748 2005-10-11  Simon Josefsson  <jas@extundo.com>
63749
63750         * tests/test-crc.c: New file.
63751
63752         * modules/crc, modules/crc-tests: New files.
63753
63754 2005-10-11  Simon Josefsson  <jas@extundo.com>
63755
63756         * m4/crc.m4: New file.
63757
63758 2005-10-11  Simon Josefsson  <jas@extundo.com>
63759
63760         * lib/gc.h: Add gc_hash and gc_hash_buffer.
63761
63762         * lib/gc-gnulib.c (gc_hash_buffer): Add.  Reorder #include's.
63763
63764         * lib/gc-libgcrypt.c (gc_hash_buffer): Add.
63765
63766 2005-10-11  Simon Josefsson  <jas@extundo.com>
63767
63768         * lib/crc.h, lib/crc.c: New files.
63769
63770         * lib/gc.h (gc_hash_buffer): Add doc.
63771
63772 2005-10-11  Bruno Haible  <bruno@clisp.org>
63773
63774         * modules/c-strcasestr: New file.
63775         * MODULES.html.sh (String handling <string.h>): Add c-strcasestr.
63776
63777 2005-10-11  Bruno Haible  <bruno@clisp.org>
63778
63779         * modules/c-strcase: New file.
63780         * MODULES.html.sh (String handling <string.h>): Add c-strcase.
63781
63782 2005-10-11  Bruno Haible  <bruno@clisp.org>
63783
63784         * lib/strcasecmp.c: Include limits.h.
63785         (strcasecmp): Avoid integer overflow on exotic platforms.
63786         * lib/strncasecmp.c: Include limits.h.
63787         (strncasecmp): Avoid integer overflow on exotic platforms.
63788         Reported by Paul Eggert.
63789
63790 2005-10-11  Bruno Haible  <bruno@clisp.org>
63791
63792         * lib/c-strcasestr.h: New file, from GNU gettext.
63793         * lib/c-strcasestr.c: New file, from GNU gettext.
63794
63795 2005-10-11  Bruno Haible  <bruno@clisp.org>
63796
63797         * lib/c-strcase.h: New file, from GNU gettext.
63798         * lib/c-strcasecmp.c: New file, from GNU gettext.
63799         * lib/c-strncasecmp.c: New file, from GNU gettext.
63800
63801 2005-10-10  Paul Eggert  <eggert@cs.ucla.edu>
63802
63803         * modules/mempcpy (License): GPL -> LGPL.
63804         * modules/strchrnul (License): Likewise.
63805         * modules/sysexits (License): Likewise.
63806
63807 2005-10-08  Simon Josefsson  <jas@extundo.com>
63808
63809         * config/srclist.txt: Bug 1423 is closed, but 1439 remains.
63810
63811 2005-10-07  Simon Josefsson  <jas@extundo.com>
63812
63813         * m4/memxor.m4: Remove gl_C_RESTRICT call.
63814
63815 2005-10-06  Simon Josefsson  <jas@extundo.com>
63816
63817         * tests/test-hmac-md5.c: New file.
63818
63819         * modules/hmac-md5-tests: New file.
63820
63821         * modules/hmac-md5: New file.
63822
63823 2005-10-06  Simon Josefsson  <jas@extundo.com>
63824
63825         * m4/hmac-md5.m4: New file.
63826
63827         * m4/memxor.m4: Require gl_C_RESTRICT.
63828
63829 2005-10-06  Simon Josefsson  <jas@extundo.com>
63830
63831         * lib/memxor.c (memxor): Avoid casts and warnings.
63832
63833 2005-10-06  Simon Josefsson  <jas@extundo.com>
63834
63835         * lib/hmac-md5.c: New file.
63836
63837         * lib/hmac.h: New file.
63838
63839 2005-10-06  Paul Eggert  <eggert@cs.ucla.edu>
63840
63841         * m4/stdbool.m4 (AC_HEADER_STDBOOL): Check that bool
63842         promotes to int, not unsigned int, to catch the AIX 5.3
63843         compiler bug.
63844
63845 2005-10-05  Simon Josefsson  <jas@extundo.com>
63846
63847         * modules/memxor: New file.
63848
63849         * modules/iconv (Files): Move config.rpath to havelib, it is used
63850         there.
63851
63852         * modules/havelib (Files): Add config.rpath.
63853
63854 2005-10-05  Simon Josefsson  <jas@extundo.com>
63855
63856         * m4/memxor.m4: New file.
63857
63858 2005-10-05  Simon Josefsson  <jas@extundo.com>
63859
63860         * lib/memxor.c (memxor): Fix compiler error.
63861
63862         * lib/md5.h (MD5_DIGEST_SIZE, MD5_BLOCK_SIZE): Add, see also
63863         <http://sourceware.org/bugzilla/show_bug.cgi?id=1423>.
63864
63865         * lib/memxor.h, lib/memxor.c: New files.
63866
63867         * lib/getaddrinfo.h: Don't protect sys/types.h with HAVE_SYS_TYPES_H,
63868         we assume all systems have it, suggested by Jim Meyering
63869         <jim@meyering.net>.  Remove HAVE_SYS_SOCKET_H test too, to see if
63870         any systems lack sys/socket.h; mingw32 is known to lack it, but we
63871         don't support it yet anyway.  Also remove HAVE_NETDB_H test, for
63872         same reasons.
63873
63874 2005-10-05  Simon Josefsson  <jas@extundo.com>
63875
63876         * config/srclist.txt: Add glibc bug 1423 for md5.h.
63877
63878 2005-10-05  Paul Eggert  <eggert@cs.ucla.edu>
63879
63880         * m4/getaddrinfo.m4 (gl_PREREQ_GETADDRINFO): Don't check for
63881         sys/socket.h, netdb.h, sys/types.h; the checks areno longer
63882         needed, since the source code now assumes these .h files.
63883
63884 2005-10-05  Derek Price  <derek@ximbiot.com>
63885
63886         * lib/getdelim.c (SIZE_MAX): New macro, if not already defined.
63887
63888 2005-10-05  Bruno Haible  <bruno@clisp.org>
63889
63890         * modules/stdint (License): Change to LGPL.
63891
63892 2005-10-04  Simon Josefsson  <jas@extundo.com>
63893
63894         * lib/getaddrinfo.h: Move sys/types.h include first, reported by "Mark
63895         D. Baushke" <mdb@gnu.org>.
63896
63897 2005-10-04  Bruno Haible  <bruno@clisp.org>
63898
63899         * lib/verify.h (verify_true): Provide alternative definition for C++.
63900
63901 2005-10-03  Paul Eggert  <eggert@cs.ucla.edu>
63902
63903         * lib/getdelim.c: Include getdelim.h first.  Include <limits.h>.
63904         (SSIZE_MAX): New macro, if not already defined.
63905         (getdelim): Fix buffer overrun on 64-bit hosts with lines longer
63906         than 2 GiB.
63907
63908 2005-10-02  Paul Eggert  <eggert@cs.ucla.edu>
63909
63910         Sync from coreutils.
63911         * m4/openat.m4 (gl_FUNC_OPENAT): Check for fdopendir.
63912         * m4/ullong_max.m4 (gl_ULLONG_MAX): Simplify so that it merely
63913         defines ULONG_MAX_LT_ULLONG_MAX.  Thomas M.Ott reports that
63914         ULLONG_MAX doesn't work with 2.7.2.1.
63915
63916 2005-10-02  Paul Eggert  <eggert@cs.ucla.edu>
63917
63918         * modules/xreadlink (Makefile.am): Remove lib_SOURCES.
63919         From Ben Pfaff.
63920
63921         * modules/exclude (Depends-on): Depend on verify.
63922         * modules/strtoimax (Depends-on): Likewise.
63923         * modules/utimecmp (Depends-on): Likewise.
63924
63925 2005-10-02  Paul Eggert  <eggert@cs.ucla.edu>
63926
63927         * lib/exclude.c: Include verify.h.
63928         (verify): Remove.  All callers changed to use verify.h's version.
63929         * lib/strtoimax.c: Likewise.
63930         * lib/utimecmp.c: Likewis.e
63931
63932         Sync from coreutils.
63933         * lib/.cppi-disable: Add getaddrinfo.h, getdelim.h, getline.h,
63934         getpass.c, mbchar.h, mbuiter.h, strcase.h, strnlen.h, strnlen1.h.
63935         * lib/.cvsignore: Add fts.h, search.h, t-fpending.
63936         * lib/settime.c (settime): Fix { typo in previous patch.  Also, don't
63937         bother returning ENOSYS if settimeofday or stime fails; just let
63938         them return whatever errno they want to return.
63939         * lib/utimens.c: Include unistd.h, for dup2.
63940         (futimens): Fix typo: HAVE_FUTIMESAT was misspelled in an #if.
63941         (futimens) [! HAVE_FUTIMESAT]: If !file, set errno before returning -1.
63942
63943 2005-10-02  Jim Meyering  <jim@meyering.net>
63944
63945         Sync from coreutils.
63946         * m4/utimes.m4 (gl_FUNC_UTIMES): Detect the version of utimes
63947         from glibc-2.2.5 that fails for read-only files.
63948
63949 2005-10-02  Jim Meyering  <jim@meyering.net>
63950
63951         Sync from coreutils.
63952         * lib/fts-cycle.c [HAVE_CONFIG_H]: Include <config.h>.
63953         * lib/openat-die.c: Use `#ifdef HAVE_CONFIG_H', not
63954         `#if HAVE_CONFIG_H'.
63955         * lib/openat.c (fdopendir): Do not define if HAVE_FDOPENDIR.
63956         Remove AT_FDCWD test.
63957         Do not consume the fd unless successful.
63958         * lib/openat.h (fdopendir): Do not define if HAVE_FDOPENDIR.
63959         * lib/settime.c (settime): Move the HAVE_STIME block `up' into an #elif
63960         block, so that we don't even try to compile it if settimeofday is
63961         available.  This works around a compilation failure on OSF1 V5.1,
63962         due to stime requiring a `long int*' while tv_sec is `int'.
63963
63964 2005-10-02  Alfred M. Szmidt  <ams@gnu.org>
63965
63966         Sync from coreutils.
63967         * m4/chdir-long.m4 (gl_FUNC_CHDIR_LONG): Compare $gl_have_path...
63968         against `yes', rather than just testing for nonempty.
63969
63970 2005-10-01  Simon Josefsson  <jas@extundo.com>
63971
63972         * m4/getaddrinfo.m4: Include sys/types.h for sys/socket.h, on FreeBSD
63973         and Darwin.
63974
63975         * m4/getaddrinfo.m4: Use AC_GNU_SOURCE, GNU only declare getaddrinfo
63976         as an (POSIX) extension.  Check for sys/types.h, sys/socket.h, and
63977         netdb.h too, needed by getaddrinfo.h.  Check if getaddrinfo,
63978         freeaddrinfo and gai_strerror are declared by the POSIX headers.
63979         Check if struct addrinfo is declared.
63980
63981 2005-10-01  Simon Josefsson  <jas@extundo.com>
63982
63983         * lib/getaddrinfo.h: Protect #include's of sys/socket.h and netdb.h.
63984         Only define struct addrinfo if !HAVE_STRUCT_ADDRINFO.  Protect
63985         AI_* and EAI_* definitions.  Protect function declarations.
63986
63987 2005-10-01  Jim Meyering  <jim@meyering.net>
63988
63989         Sync from coreutils.
63990
63991         * m4/getaddrinfo.m4 (gl_GETADDRINFO): Look for getservbyname in these
63992         libraries [inet nsl socket xnet].  Nelson Beebe reported that with
63993         native cc on Solaris 7, getaddrinfo.c requires -lsocket.
63994         * m4/getaddrinfo.m4 (gl_GETADDRINFO): Check for gethostbyname
63995         in the inet and nsl libraries.  Required on Solaris 5.7.
63996
63997 2005-10-01  Jim Meyering  <jim@meyering.net>
63998
63999         Sync from coreutils.
64000         * m4/getaddrinfo.m4 (gl_GETADDRINFO): Check for gethostbyname
64001         in the inet and nsl libraries.  Required on Solaris 5.7.
64002
64003 2005-10-01  Eric Blake  <ebb9@byu.net>  (tiny change)
64004
64005         * lib/getdelim.c (getdelim): Remove unused variables.
64006
64007 2005-09-29  Paul Eggert  <eggert@cs.ucla.edu>
64008
64009         * lib/xtime.h (XTIME_PRECISION): Now of type int, not long long int,
64010         so that the code works even with ancient cpp.  Portability problem
64011         with GCC 2.7.2.1 reported by Thomas M.Ott.
64012
64013 2005-09-27  Paul Eggert  <eggert@cs.ucla.edu>
64014
64015         * modules/regex (Depends-on): Add strcase.
64016
64017         * modules/gethostname (Licence): Change from GPL to LGPL, since
64018         gethostname.c is a trivial implementation of a standard library
64019         function.
64020         * modules/poll (License): Change from GPL to LGPL, since it's
64021         derived from LGPL code.
64022
64023 2005-09-27  Jim Meyering  <jim@meyering.net>
64024
64025         * lib/getcwd.c: Change #ifdef<TAB>HAVE_CONFIG_H to #ifdef
64026         HAVE_CONFIG_H.
64027
64028         * lib/intprops.h (signed_type_or_expr__): Define.
64029         (INT_STRLEN_BOUND) [__GNUC__]: Use a slightly tighter bound
64030         for unsigned types.
64031
64032 2005-09-26  Paul Eggert  <eggert@cs.ucla.edu>
64033
64034         * lib/verify.h (verify_expr): Remove, replacing with:
64035         (verify_true): New macro that returns true instead of void.
64036         (verify_type__): Remove.
64037         (verify): Use verify_true rather than verify_type__.
64038
64039 2005-09-26  Bruno Haible  <bruno@clisp.org>
64040
64041         * modules/mbchar (Include): Mention that HAVE_WCHAR_H && HAVE_WCTYPE_H
64042         is necessary.
64043         (lib_SOURCES): Remove mbchar.c.
64044         * modules/mbfile (Include): Mention that HAVE_MBRTOWC is necessary.
64045         (Files): Add m4/mbrtowc.m4.
64046         * modules/mbiter: Likewise.
64047         * modules/mbuiter: Likewise.
64048
64049 2005-09-26  Bruno Haible  <bruno@clisp.org>
64050
64051         * m4/mbchar.m4 (gl_MBCHAR): Check for wchar.h and wctype.h. Don't
64052         compile mbchar.c if they are not both present.
64053         * m4/mbfile.m4 (gl_MBFILE): Require gl_FUNC_MBRTOWC.
64054         * m4/mbiter.m4 (gl_MBITER): Likewise.
64055         * m4/strstr.m4 (gl_PREREQ_STRSTR): Use AC_REQUIRE.
64056         * m4/strcasestr.m4 (gl_PREREQ_STRCASESTR): Likewise.
64057         * m4/strcase.m4 (gl_PREREQ_STRCASECMP): Likewise.
64058
64059 2005-09-25  Jim Meyering  <jim@meyering.net>
64060
64061         * modules/inet_ntop (Depends-on): Add socklen, since inet_ntop.c
64062         also uses socklen_t.
64063
64064 2005-09-24  Paul Eggert  <eggert@cs.ucla.edu>
64065
64066         * lib/utimens.c (ENOSYS): Define if not already defined.
64067         (futimens): Support having a null PATH if the file descriptor
64068         is nonnegative.
64069
64070         * lib/regex_internal.h (__GNUC_PREREQ, always_inline, inline, pure):
64071         Remove.
64072         (__attribute): Define to empty unless GCC 3.1 or later.
64073         This works around a core dump on OpenBSD 3.4, which has GCC
64074         2.95.3, which dumps core when given __attribute__(()).  It also
64075         simplifies other tests, since we really don't want to bother with
64076         worrying about which ancient version of GCC supported what.
64077         Original problem reported by Yoann Vandoorselaere, with part of
64078         the fix suggested by Derek Price.
64079
64080 2005-09-24  Jim Meyering  <jim@meyering.net>
64081
64082         * lib/verify.h (verify_type__): Use `unsigned int' as the bitfield type
64083         so we can once again use a positive bitfield width of 1 -- now we
64084         don't have to explain why we were using a bitfield width of 2.
64085
64086 2005-09-23  Paul Eggert  <eggert@cs.ucla.edu>
64087
64088         * m4/regex.m4 (gl_REGEX): If replacing, define regcomp to rpl_regcomp,
64089         and similarly for the other external symbols.  Problem reported
64090         by James Gallager.
64091
64092         * m4/fnmatch.m4 (_AC_FUNC_FNMATCH_IF): Catch Sun Studio 10u1 on Linux
64093         bug reported by Jim Meyering.
64094
64095         * m4/utimens.m4 (gl_UTIMENS): Check for futimesat.
64096         * m4/getaddrinfo.m4 (gl_PREREQ_GETADDRINFO): Undo previous change;
64097         not needed, since socklen is a prerequisite module.
64098
64099 2005-09-23  Paul Eggert  <eggert@cs.ucla.edu>
64100
64101         * lib/getaddrinfo.c [HAVE_NETINET_IN_H]: Include <netinet/in.h>.
64102         Problem reported by Eric Blake.
64103         (getaddrinfo): Initialize se so that it's not garbage.
64104         Redo internal storage allocation so that it doesn't make unportable
64105         assumptions about alignment.
64106         Fix a memory leak.
64107
64108         * lib/utimens.c (futimens): Use futimesat if available.
64109         Prefer it to futimes since it doesn't have the futimes bug.
64110
64111         * lib/verify.h (GL_CONCAT0, GL_CONCAT): Remove.
64112         (verify): Don't use the __LINE__ trick, as it doesn't work in general.
64113         Instead, declare a function that returns a pointer to an array,
64114         and use verify_type__ to declare the size of the array.
64115         Problem and germ of a solution reported by Bruno Haible.
64116         (verify_type__): Use 2, not 1, for bitfield size, to avoid
64117         a warning with Irix 6.5 cc.  Problem reported by Bruno Haible.
64118
64119 2005-09-23  Jim Meyering  <jim@meyering.net>
64120
64121         Sync from coreutils.
64122         Correct build failure (socklen_t not defined) on at least
64123         mips-sgi-irix6.5 and alphaev67-dec-osf5.1.
64124         * m4/getaddrinfo.m4 (gl_PREREQ_GETADDRINFO): Require gl_SOCKLEN_T.
64125
64126 2005-09-23  Jim Meyering  <jim@meyering.net>
64127
64128         * modules/getaddrinfo (Depends-on): Add socklen.
64129
64130 2005-09-23  Bruno Haible  <bruno@clisp.org>
64131
64132         * tests/test-verify.c: New file.
64133
64134 2005-09-22  Paul Eggert  <eggert@cs.ucla.edu>
64135
64136         Sync from coreutils.
64137
64138         * modules/argmatch (Depends-on): Add verify.
64139         * modules/getloadavg (Depends-on): Depend on fcntl-safer, not
64140         unistd-safer.
64141         * modules/save-cwd (Depends-on): Likewise.
64142
64143         * modules/openat (Files): Add lib/openat-die.c.
64144         (Depends-on): Remove error, exitfail.
64145         Add dirname.
64146
64147         * modules/verify: New file.
64148         * MODULES.html.sh (Diagnostics <assert.h>): New section,
64149         with "verify" module.
64150
64151 2005-09-22  Paul Eggert  <eggert@cs.ucla.edu>
64152
64153         Sync from coreutils.
64154
64155         * m4/backupfile.m4, calloc.m4, chown.m4, cloexec.m4, dup2.m4:
64156         * m4/fileblocks.m4, free.m4, ftruncate.m4, getcwd.m4, getpagesize.m4:
64157         * m4/getugroups.m4, group-member.m4, idcache.m4, link-follow.m4:
64158         * m4/mkstemp.m4, mktime.m4, mountlist.m4, nanosleep.m4, pathmax.m4:
64159         * m4/physmem.m4, posixver.m4, putenv.m4, safe-read.m4, same.m4:
64160         * m4/save-cwd.m4, stdio-safer.m4, unistd-safer.m4, unlinkdir.m4:
64161         * m4/userspec.m4, xgetcwd.m4, xreadlink.m4:
64162         Don't bother checking for string.h, stdlib.h, unistd.h.
64163         * m4/fts.m4 (gl_FUNC_FTS_CORE): Don't require
64164         AC_FUNC_LSTAT_FOLLOWS_SLASHED_SYMLINK; that's now the lstat
64165         module's job.
64166         * m4/jm-macros.m4 (gl_MACROS): Likewise.
64167         * m4/prereq.m4 (gl_PREREQ): Add gl_FUNC_LSTAT.
64168
64169         * m4/getdate.m4 (gl_C_COMPOUND_LITERALS): New macro.
64170         (gl_GETDATE): Use it.
64171
64172         * m4/mkdir-p.m4 (gl_MKDIR_PARENTS): Don't bother checking for unistd.h.
64173
64174 2005-09-22  Paul Eggert  <eggert@cs.ucla.edu>
64175
64176         Sync from coreutils.
64177
64178         * lib/.cppi-disable: Add regcomp.c, regex_internal.c, regex_internal.h,
64179         stat-time.h.
64180         * lib/argmatch.h: Include verify.h
64181         (ARGMATCH_VERIFY): Use verify rather than rolling our own.
64182         (ARGMATCH_ASSERT): Remove; unused.
64183         * lib/canonicalize.c: Assume STDC_HEADERS.
64184         * lib/exclude.c: Include "strcase.h".
64185         * lib/regex_internal.h [!defined _LIBC]: Likewise.
64186         * lib/getusershell.c: Include stdio--.h rather than stdio.h
64187         and stdio-safer.h.
64188         (getusershell): Call fopen, not fopen_safer.
64189         * lib/save-cwd.c: Include fcntl--.h rather than fcntl.h.
64190         Do not include unistd-safer.h.
64191         (save_cwd): Don't call fd_safer; no longer needed
64192         now that we include fcntl--.h.
64193
64194         * lib/getdate.y (relative_time): New type.
64195         (RELATIVE_TIME_0): New constant.
64196         (parser_control): Use relative_time instead of doing it ourselves.
64197         (%union): Add new relative_time rel member.
64198         (tYEAR_UNIT, tMONTH_UNIT, tHOUR_UNIT, tMINUTE_UNIT, tSEC_UNIT):
64199         Now typeless.
64200         (relunit, relunit_snumber): Now of type rel.
64201         (zone, rel, relunit, get_date): Adjust to above changes.
64202
64203         * lib/getloadavg.c: Include fcntl--.h rather than fcntl.h.
64204         Do not include unistd-safer.h.
64205         (getloadavg): Don't call fd_safer; no longer needed
64206         now that we include fcntl--.h.
64207
64208         * lib/mkdir-p.c (ENOSYS): Define to EEXIST if not defined.
64209         (make_dir_parents): Treat ENOSYS like EEXIST.
64210
64211         Improve quality of diagnostics on restore_cwd failure.
64212         * lib/mkdir-p.h (make_dir): Remove.  All uses replaced by mkdir.
64213         (make_dir_parents): Last arg is now int * (for errno), not bool *.
64214         * lib/mkdir-p.c (make_dir, make_dir_parents): Likewise.
64215         Rewrite "mkdir -p" algorithm to avoid the need for "stat"
64216         each time through the loop.  Do not diagnose restore_cwd failure;
64217         that is the caller's job (and perhaps the caller does not care).
64218
64219         * lib/mkdir-p.c (CLEANUP_CWD, CLEANUP): Remove.
64220         (make_dir_parents): Revamp to avoid need for CLEANUP_CWD, CLEANUP.
64221         If the file already exists but is not a directory, don't bother
64222         to try to make its parents.
64223         Close potential file descriptor leak if we can't chdir("/") (!).
64224         Don't always return true if chdir($PWD) fails; return true only
64225         if the requested action was done successfully (except for the
64226         chdir($PWD)).
64227         Don't log final directory unless we actually made it.
64228         Refactor to avoid duplicate code to fix up permissions.
64229         Don't attempt to fix up parent permissions if chdir($PWD) fails.
64230
64231         * lib/strftime.c (my_strftime): Rewrite the previous change slightly,
64232         to make it a bit faster and (I hope) clearer.
64233         * lib/strftime.c (my_strftime): Add support for %:z, %::z, %:::z.
64234         Fix bug in formats like %2N.
64235
64236         * lib/verify.h: New file.
64237
64238 2005-09-22  Paul Eggert  <eggert@cs.ucla.edu>
64239
64240         Sync from coreutils.
64241         * m4/getaddrinfo.m4 (gl_PREREQ_GETADDRINFO): Check for netinet/in.h.
64242
64243 2005-09-22  Jim Meyering  <jim@meyering.net>
64244
64245         Sync from coreutils.
64246
64247         * m4/lstat.m4 (gl_FUNC_LSTAT):
64248         Use AC_LIBSOURCES to require lstat.c and lstat.h.
64249         Remove obsolete comment.
64250         * m4/xreadlink.m4: Use AC_LIBSOURCES and AC_LIBOBJ.
64251         * m4/xstrtod.m4: Likewise.
64252
64253         * m4/openat.m4 (gl_FUNC_OPENAT): Add openat-die.c.
64254
64255 2005-09-22  Jim Meyering  <jim@meyering.net>
64256
64257         Sync from coreutils.
64258
64259         * lib/backupfile.c: Use ARGMATCH_VERIFY, just in case.
64260
64261         * lib/posixtm.c (posixtime) [lint]: Initialize *all* of tm0, not just
64262         the .tm_year member, since otherwise gcc-4.0 would now warn about
64263         tm_zone, tm_gmtoff, tm_isdst, tm_yday, tm_wday.
64264
64265         * lib/quotearg.c (quotearg_n_options): Change code to be suboptimal, in
64266         order to avoid an unsuppressible warning from gcc on 64-bit systems.
64267
64268         * lib/getdate.y (get_date): Undo part of the 2005-04-04 change, so that
64269         the command "date -d'2005-03-27 +1 day'" succeeds once again, even
64270         when run in a time zone for which daylight savings time is in effect
64271         for the starting date.
64272
64273         * lib/mkdir-p.c (make_dir_parents): Don't let a failed chdir($PWD)
64274         stop us from restricting permissions of just-created absolute-named
64275         directories.
64276         * lib/mkdir-p.c (CLEANUP_CWD): Return *true*, not false when failing
64277         to restore initial working directory.
64278         * lib/mkdir-p.c (make_dir_parents): New parameter:
64279         different_working_dir, to tell caller if/when we change the working
64280         directory and are unable to return to the initial one.
64281         * lib/mkdir-p.h (make_dir_parents): Update prototype.
64282         * lib/mkdir-p.c (CLEANUP_CWD): Change one more `return 1' to
64283         `return false'.  This fixes a bug introduced on 2004-07-30.
64284
64285         * lib/openat.c (fdopendir): Be sure to close the supplied
64286         file descriptor before returning.  This makes our replacement
64287         implementation a little closer to Solaris's, where fdopendir
64288         ties the file descriptor to the returned DIR* pointer.
64289         * lib/openat.c (unlinkat): New function.
64290         * lib/openat.h (unlinkat): Add prototype.
64291         * lib/openat-die.c (openat_save_fail): Rename from openat_save_die.
64292         (openat_restore_fail): Rename from openat_restore_die.
64293         * lib/openat.c, openat.h: Reflect s/_die/_fail/ renaming.
64294
64295         Provide an alternative to exiting immediately upon save_cwd or
64296         restore_cwd failure.  Now, an application can arrange e.g.,
64297         to perform a longjump in that case.
64298         * lib/openat.c: Include dirname.h.
64299         Use IS_ABSOLUTE_FILE_NAME rather than testing for leading slash.
64300         (rpl_openat, fdopendir, fstatat): Call openat_save_die
64301         and openat_restore_die rather than calling error directly.
64302         Don't include "error.h" or "exitfail.h"; they're no longer needed.
64303
64304         * lib/openat-die.c (openat_save_die, openat_restore_die): New file.
64305         * lib/openat.h (openat_save_die, openat_restore_die): Declare and
64306         define.
64307
64308         * lib/strftime.c [FPRINTFTIME] (fprintftime): Provide a new interface:
64309         size_t fprintftime (FILE *fp, char const *fmt, struct tm const *tm,
64310                             int utc, int nanoseconds);
64311         Background:
64312         date should not have to allocate a megabyte of virtual memory to
64313         handle a format argument like +%1048575T.  When implemented with
64314         strftime, it must allocate such a buffer, use strftime to fill it
64315         in, print it, then free it.
64316         With fprintftime, it simply prints everything and exits.
64317         With no need for memory allocation, that's one fewer way to fail.
64318         * lib/strftime.c (my_strftime): Parse the colons of %:::z *after* the
64319         optional field width, not before, so we accept %9:z, not %:9z.
64320         (my_strftime): Be sure to use L_('x') for literals.
64321
64322         * lib/backupfile.c, lib/canon-host.c, lib/canonicalize.c, lib/chown.c:
64323         * lib/cloexec.c, lib/dup-safer.c, lib/dup2.c, lib/euidaccess.c:
64324         * lib/fd-safer.c, lib/fileblocks.c, lib/fopen-safer.c, lib/fsusage.c:
64325         * lib/ftruncate.c, lib/getcwd.c, lib/getcwd.h, lib/getloadavg.c:
64326         * lib/getopt_.h, lib/getpagesize.h, lib/getugroups.c:
64327         * lib/group-member.c, lib/human.h, lib/idcache.c, lib/mkdir-p.c:
64328         * lib/mountlist.c, lib/nanosleep.c, lib/pathmax.h, lib/physmem.c:
64329         * lib/posixver.c, lib/putenv.c, lib/raise.c, lib/safe-read.c:
64330         * lib/same.c, lib/save-cwd.c, lib/setenv.c, lib/settime.c:
64331         * lib/tempname.c, lib/unlinkdir.c, lib/unsetenv.c, lib/userspec.c:
64332         * lib/xgethostname.c, lib/xreadlink.c:
64333         Assume HAVE_UNISTD_H, i.e., include <unistd.h> unconditionally.
64334
64335         * lib/chown.c, lib/cloexec.c, lib/dup-safer.c, lib/dup2.c:
64336         * lib/fsusage.c, lib/getcwd.c, lib/getloadavg.c, lib/mountlist.c:
64337         * lib/openat.h, lib/save-cwd.c, lib/tempname.c:
64338         Assume HAVE_FCNTL_H (i.e., include <fcntl.h> unconditionally,
64339         and don't include <sys/file.h>).
64340
64341 2005-09-22  Eric Blake  <ebb9@byu.net>  (tiny change)
64342
64343         Sync from coreutils.
64344
64345         * lib/getloadavg.c (getloadavg) [__CYGWIN__]: Port to cygwin.
64346         [__linux__]: Allocate a big enough buffer for /proc/loadavg.
64347         [!LDAV_DONE]: Avoid unused variable warning.
64348
64349 2005-09-21  Bruno Haible  <bruno@clisp.org>
64350
64351         * lib/unicodeio.h (unicode_to_mb): New declaration.
64352
64353 2005-09-20  Derek Price  <derek@ximbiot.com>
64354
64355         * lib/getaddrinfo.c: Don't include <netdb.h> included from
64356         getaddrinfo.h.
64357
64358 2005-09-20  Bruno Haible  <bruno@clisp.org>
64359
64360         * gnulib-tool: Remove trailing slashes from the values specified for
64361         --source-base, --m4-base, --tests-base, --aux-dir.
64362         Suggested by Simon Josefsson <jas@extundo.com>.
64363
64364 2005-09-20  Bruno Haible  <bruno@clisp.org>
64365
64366         * gnulib-tool (func_all_modules, func_modules_transitive_closure,
64367         func_modules_to_filelist, func_import, func_create_testdir): Make all
64368         sorting results locale-independent, so that gnulib-cache.m4 doesn't
64369         change when gnulib-tool is invoked in a different locale.
64370
64371 2005-09-19  Simon Josefsson  <jas@extundo.com>
64372
64373         * m4/socklen.m4: Fix typo.
64374
64375 2005-09-19  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
64376
64377         Use a consistent style for including <config.h>.
64378         * lib/__fpending.c, lib/acl.c, lib/argmatch.c, lib/argp-help.c,
64379         lib/argp-parse.c, lib/argp-pvh.c, lib/backupfile.c, lib/basename.c,
64380         lib/c-stack.c, lib/calloc.c, lib/check-version.c, lib/cloexec.c,
64381         lib/closeout.c, lib/copy-file.c, lib/creat-safer.c, lib/cycle-check.c,
64382         lib/dirfd.c, lib/dirname.c, lib/dup-safer.c, lib/dup2.c,
64383         lib/euidaccess.c, lib/exclude.c, lib/exitfail.c, lib/fatal-signal.c,
64384         lib/fd-safer.c, lib/file-type.c, lib/fileblocks.c, lib/filemode.c,
64385         lib/filenamecat.c, lib/findprog.c, lib/fnmatch.c, lib/fopen-safer.c,
64386         lib/free.c, lib/fsusage.c, lib/ftruncate.c, lib/full-write.c,
64387         lib/fwriteerror.c, lib/getaddrinfo.c, lib/getcwd.c, lib/getdelim.c,
64388         lib/getline.c, lib/getlogin_r.c, lib/getndelim2.c, lib/getnline.c,
64389         lib/getopt1.c, lib/getpass.c, lib/group-member.c, lib/hard-locale.c,
64390         lib/hash-pjw.c, lib/hash.c, lib/human.c, lib/idcache.c,
64391         lib/inet_ntop.c, lib/isdir.c, lib/long-options.c, lib/malloc.c,
64392         lib/memcasecmp.c, lib/memcmp.c, lib/memcoll.c, lib/memcpy.c,
64393         lib/memmove.c, lib/mkdir-p.c, lib/modechange.c, lib/mountlist.c,
64394         lib/open-safer.c, lib/physmem.c, lib/pipe-safer.c, lib/pipe.c,
64395         lib/poll.c, lib/posixver.c, lib/progname.c, lib/progreloc.c,
64396         lib/putenv.c, lib/quote.c, lib/quotearg.c, lib/readline.c,
64397         lib/readlink.c, lib/realloc.c, lib/regex.c, lib/rename.c, lib/rmdir.c,
64398         lib/rpmatch.c, lib/safe-read.c, lib/same.c, lib/save-cwd.c,
64399         lib/savedir.c, lib/sig2str.c, lib/strcspn.c, lib/strerror.c,
64400         lib/stripslash.c, lib/strncasecmp.c, lib/strndup.c, lib/strnlen.c,
64401         lib/strnlen1.c, lib/strsep.c, lib/strstr.c, lib/strtod.c,
64402         lib/strtoimax.c, lib/strtol.c, lib/strverscmp.c, lib/tempname.c,
64403         lib/time_r.c, lib/userspec.c, lib/utimecmp.c, lib/version-etc-fsf.c,
64404         lib/version-etc.c, lib/wait-process.c, lib/xalloc-die.c, lib/xgetcwd.c,
64405         lib/xmalloc.c, lib/xmemcoll.c, lib/xnanosleep.c, lib/xreadlink.c,
64406         lib/xsetenv.c, lib/xstrndup.c, lib/xstrtoimax.c, lib/xstrtol.c,
64407         lib/xstrtoumax.c, lib/yesno.c:
64408         Standardize inclusion of config.h.
64409         * lib/__fpending.h, lib/dirfd.h, lib/getdate.h, lib/human.h,
64410         lib/inttostr.h:  Removed inclusion of config.h from header files.
64411         * lib/inttostr.c:  Adjusted in-tree users.
64412         * lib/timespec.h: Remove superfluous warning to include config.h.
64413         * lib/atexit.c, lib/chdir-long.c, lib/chown.c, lib/fchown-stub.c,
64414         lib/getgroups.c, lib/gettimeofday.c, lib/lchown.c, lib/lstat.c,
64415         lib/mkdir.c, lib/mkstemp.c, lib/nanosleep.c, lib/openat.c, lib/raise.c,
64416         lib/readtokens0.c, lib/readutmp.c, lib/unlinkdir.c: Guard inclusion of
64417         config.h with HAVE_CONFIG_H.
64418
64419 2005-09-19  Jim Meyering  <jim@meyering.net>
64420
64421         * modules/pathmax (License): Change to LGPL.
64422
64423 2005-09-19  Derek Price  <derek@ximbiot.com>
64424
64425         * config/srclist.txt: glibc's glob.h is now in lib/glob-libc.h.
64426
64427 2005-09-19  Bruno Haible  <bruno@clisp.org>
64428
64429         * gnulib-tool (import): Provide default for --tests-base.
64430
64431 2005-09-19  Bruno Haible  <bruno@clisp.org>
64432
64433         * doc/quote.texi: New file, extracted from gnulib.texi.
64434         * doc/ctime.texi: New file, extracted from gnulib.texi.
64435         * doc/inet_ntoa.texi: New file, extracted from gnulib.texi.
64436         * doc/gnulib-tool.texi: New file, extracted from gnulib.texi.
64437         * doc/gnulib.texi: Include them.
64438
64439 2005-09-18  Bruno Haible  <bruno@clisp.org>
64440
64441         Portability fix.
64442         * gnulib-tool (func_readlink): New function.
64443         (func_ln_if_changed): Use it.
64444
64445 2005-09-18  Bruno Haible  <bruno@clisp.org>
64446
64447         * gnulib-tool: Support --with-tests also with --import.
64448         (func_emit_tests_Makefile_am): Use variables $m4base and $testsbase.
64449         (func_import): Use variables $testsbase and $inctests. Emit a
64450         gl_TESTS_BASE form into gnulib-cache.m4. Create $testsbase/Makefile.am.
64451         Remind the user to add AC_CONFIG_FILES($testsdir/Makefile) and
64452         SUBDIRS += $testsdir.
64453         (func_create_testdir): Update.
64454
64455 2005-09-18  Bruno Haible  <bruno@clisp.org>
64456
64457         * gnulib-tool: Revise --dry-run implementation. Use variable $doit
64458         instead of $dry_run.
64459         (func_cp_if_changed, func_mv_if_changed): Remove functions.
64460         (func_ln_if_changed): Don't handle dry-run here.
64461         (func_import): In dry-run mode, detect more precisely which actions
64462         would be performed, and don't use "...ing" verbs.
64463
64464 2005-09-18  Bruno Haible  <bruno@clisp.org>
64465
64466         * gnulib-tool (func_tmpdir): New function, taken from GNU gettextize.
64467         (func_import): Use join on two temporary files instead of three nested
64468         loops, in order to determine which files are new or old.
64469
64470 2005-09-18  Bruno Haible  <bruno@clisp.org>
64471
64472         * gnulib-tool (func_import): Comment out code that spits out the
64473         new files with --dry-run.
64474
64475 2005-09-18  Bruno Haible  <bruno@clisp.org>
64476
64477         * doc/gnulib.texi (Invoking gnulib-tool): 50% rewritten.
64478
64479 2005-09-16  Paul Eggert  <eggert@cs.ucla.edu>
64480
64481         * lib/stat-time.h: New file.
64482         * lib/timespec.h (ST_TIME_CMP_NS, ST_TIME_CMP, ATIME_CMP, CTIME_CMP):
64483         (MTIME_CMP, TIMESPEC_NS): Remove.  Now done by stat-time.h,
64484         in a different way.
64485         (timespec_cmp): New function.
64486         * lib/utimecmp.c: Include stat-time.h.
64487         (SYSCALL_RESOLUTION): Depend on whether various struct stat
64488         members exist, not on the obsolescent ST_MTIM_NSEC.
64489         (utimecmp): Use the new stat-time functions rater than TIMESPEC_NS.
64490
64491 2005-09-16  Paul Eggert  <eggert@cs.ucla.edu>
64492
64493         * config/srclist.txt: Remove glibc bug 1033 and uncomment mktime.c.
64494
64495 2005-09-16  Paul Eggert  <eggert@cs.ucla.edu>
64496
64497         * MODULES.html.sh (File system functions): Add stat-time.
64498         * modules/stat-time: New file.
64499         * modules/timespec (Files): Remove m4/st_mtim.m4; this
64500         is now done in a different way, by the stat-time module.
64501         * modules/utimecmp (Depends-on): Add stat-time.
64502
64503 2005-09-15  Paul Eggert  <eggert@cs.ucla.edu>
64504
64505         * m4/st_mtim.m4: Remove.  Superseded by...
64506         * m4/stat-time.m4: New file.
64507         * m4/timespec.m4 (gl_TIMESPEC): Require AC_C_INLINE.
64508         Do not invoke AC_STRUCT_ST_MTIM_NSEC; no longer needed.
64509
64510 2005-09-15  Derek Price  <derek@ximbiot.com>
64511
64512         * m4/strstr.m4 (gl_FUNC_STRSTR): Don't define strstr here.
64513
64514 2005-09-15  Derek Price  <derek@ximbiot.com>
64515
64516         * lib/regex_internal.h: Blank `pure' for GNUC < 3.
64517         * lib/regex_internal.c: Ditto, using this...
64518         (__GNUC_PREREQ): ...new macro.
64519         * lib/regcomp.c, regexec.c: Blank `always_inline' for GNUC < 3.1
64520         using...
64521         (__GNUC_PREREQ): ...this new macro.
64522
64523         * lib/strstr.h: Include string.h. Define strstr as a macro here.
64524
64525 2005-09-15  Derek Price  <derek@ximbiot.com>
64526             Paul Eggert  <eggert@cs.ucla.edu>
64527
64528         * lib/regcomp.c, regexec.c, regex_internal.c: Back out previous
64529         changes, consolidating in...
64530         * lib/regex_internal.h: ...this file.
64531
64532 2005-09-13  Jim Meyering  <jim@meyering.net>
64533
64534         * lib/canon-host.c: Filter through gnu indent and reword comments
64535         slightly.
64536         * lib/canon-host.h (ch_strerror_r): Tweak cpp indentation and spacing.
64537
64538 2005-09-13  Derek Price  <derek@ximbiot.com>
64539
64540         * lib/canon-host.c (canon_host_r): Set *cherror on memory allocation
64541         failure.
64542         Reported by Jim Meyering  <jim@meyering.net>.
64543
64544 2005-09-12  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>  (tiny change)
64545
64546         * lib/base64.c: Typo.
64547         (base64_encode): Put b64str in initialized data section.
64548
64549 2005-09-12  Paul Eggert  <eggert@cs.ucla.edu>
64550
64551         Merge glibc and coreutils changes into gnulib, plus a few
64552         extra fixes.
64553         * lib/md5.c: Use #error rather than a string.
64554         (CYCLIC): New macro, from glibc source.  Use it instead of rol.
64555         * lib/md5.h (__GNUC_PREREQ, __THROW): Define if not defined already.
64556         (__attribute__): Define to empty for non recent-GCC.
64557         (__md5_buffer, __md5_finish_ctx, __md5_init_ctx, __md5_process_block):
64558         (__md5_process_bytes, __md5_read_ctx, __md5_stream):
64559         Renamed from their non-__ counterparts, with new macros replacing
64560         them if not _LIBC.  Add __THROW attribute.
64561         (rol): Remove.
64562         (struct md5_ctx): Align buffer if using GCC.
64563         * lib/sha1.h (struct sha1_ctx): Likewise.
64564         * lib/sha1.c (SWAP): Renamed from the NOTSWAP.  All uses changed.
64565         The old name was backwards.
64566         (NOTSWAP): Remove; not used.
64567         (rol): New macro, moved here from md5.h.
64568         (sha1_process_block): Remove a FIXME that doesn't make sense.
64569
64570 2005-09-12  Derek Price  <derek@ximbiot.com>
64571
64572         Return usable errors from canon-host.
64573         * lib/canon-host.h: New file.
64574         * lib/canon-host.c (canon_host): Wrap...
64575         (canon_host_r): ...this new function, which now relies exclusively on
64576         getaddrinfo.
64577         (ch_strerror): New function.
64578         (last_cherror): New global.
64579         * lib/getaddrinfo.c: Move include of getaddrinfo.h first to test
64580         interface.
64581         (getaddrinfo): Add AI_CANONNAME functionality.  Don't do arithmetic on
64582         void *.
64583         (freeaddrinfo): Free ai->ai_canonname when set.
64584
64585 2005-09-12  Derek Price  <derek@ximbiot.com>
64586
64587         Make canon-host require getaddrinfo.
64588         * m4/canon-host.m4 (gl_CANON_HOST): Remove most dependencies.
64589         AC_LIBSOURCE canon-host.h.  Call...
64590         (gl_PREREQ_CANON_HOST): ...this new function, which requires
64591         gl_GETADDRINFO.
64592         * m4/getaddrinfo.m4 (gl_GETADDRINFO): Compile gai_strerror when needed.
64593
64594 2005-09-12  Derek Price  <derek@ximbiot.com>
64595
64596         * modules/canon-host: Add canon-host.h.  Depend on getaddrinfo.  Make
64597         LGPL.
64598         * modules/getaddrinfo: Add link to opengroup spec.  Depend on strdup.
64599
64600 2005-09-12  Derek Price  <derek@ximbiot.com>
64601
64602         * lib/gai_strerror.c: Include config.h when available.  Include
64603         getaddrinfo.h before other headers to test interface.
64604         Reported by Larry Jones <lawrence.jones@ugs.com>.
64605
64606 2005-09-12  Derek Price  <derek@ximbiot.com>
64607             Paul Eggert  <eggert@cs.ucla.edu>
64608
64609         * modules/glob (Files): Add glob-libc.h.
64610
64611 2005-09-12  Derek Price  <derek@ximbiot.com>
64612             Paul Eggert  <eggert@cs.ucla.edu>
64613
64614         * m4/glob.m4 (gl_GLOB_SUBSTITUTE): AC_LIBSOURCES for glob.c,
64615         glob_.h, glob-libc.h.
64616         (gl_PREREQ_GLOB): Remove _SYS_CDEFS_H hack; no longer needed.
64617
64618 2005-09-12  Derek Price  <derek@ximbiot.com>
64619             Paul Eggert  <eggert@cs.ucla.edu>
64620
64621         * lib/glob-libc.h: Renamed from glob_.h.  The new version is
64622         taken from libc's glob.h, except with '#ifdef __GLOB_GNULIB'
64623         protecting things that should be done only in gnulib contexts.
64624         * lib/glob_.h: New file, containing only the glob things needed for
64625         gnulib.
64626         (GLOB_PREFIX): Remove.  All uses changed to look for __GLOB_GNULIB.
64627         (__GLOB_CONCAT, __GLOB_XCONCAT, __GLOB_ID): Remove; no longer needed.
64628         (glob, globfree, glob_pattern_p): Now defined simply in terms of
64629         rpl_glob, rpl_globfree, rpl_glob_pattern_p.
64630         (__GLOB_GNULIB): New macro, to keep the glob.h changes clearer
64631         and to respect the namespace rules better.
64632
64633 2005-09-08  Simon Josefsson  <jas@extundo.com>
64634
64635         * modules/socklen: New file.
64636
64637 2005-09-08  Simon Josefsson  <jas@extundo.com>
64638
64639         * m4/socklen.m4: New file.
64640
64641 2005-09-08  Paul Eggert  <eggert@cs.ucla.edu>
64642
64643         * modules/utimens (Files): Add m4/utimbuf.m4, since
64644         m4/utimens.m4 requires gl_CHECK_TYPE_STRUCT_UTIMBUF.
64645         Reported by Sergey Poznyakoff.
64646
64647 2005-09-08  Paul Eggert  <eggert@cs.ucla.edu>
64648
64649         * lib/glob.c (glob, globfree, __glob_pattern_p): Use old-style function
64650         definitions, since that's the preferred style in glibc.
64651         Fix a minor spacing issue, and update copyright notice to match
64652         glibc's.
64653
64654 2005-09-08  Paul Eggert  <eggert@cs.ucla.edu>
64655
64656         * config/srclist.txt: Remove glibc bug 1061; it's been fixed.
64657
64658 2005-09-06  Simon Josefsson  <jas@extundo.com>
64659
64660         * lib/getpass.c (getpass): Fix typo, test for HAVE_TCSETATTR and not
64661         TCSETATTR.  Reported by Derek Price <derek@ximbiot.com>.
64662
64663 2005-09-06  Paul Eggert  <eggert@cs.ucla.edu>
64664
64665         * lib/regex_internal.h (bitset_not): Add parens to avoid gcc -Wall
64666         warning.
64667
64668 2005-09-06  Paul Eggert  <eggert@cs.ucla.edu>
64669
64670         * config/srclist.txt: Add glibc bug 1302.
64671
64672 2005-09-05  Paul Eggert  <eggert@cs.ucla.edu>
64673
64674         Change bitset word type from unsigned int to unsigned long int,
64675         as this has better performance on typical 64-bit hosts.
64676         Port bitset code to hosts with unusual word sizes.
64677         * lib/regcomp.c (build_equiv_class, build_charclass, build_range_exp):
64678         (build_collating_symbol):
64679         Prefer bitset to re_bitset_ptr_t in prototypes, when the actual
64680         argument is a bitset.  This is merely a style issue, but it makes
64681         it clearer that an entire array is expected.
64682         (re_compile_fastmap_iter, init_dfa, init_word_char, optimize_subexps):
64683         * lib/regcomp.c (lower_subexp, parse_bracket_exp, built_charclass_op):
64684         Port to the case where bitset_word is not the same as unsigned int.
64685         * lib/regex_internal.h (bitset_set, bitset_clear, bitset_contain):
64686         (bitset_not, bitset_merge, bitset_set_all, bitset_mask):
64687         Likewise.
64688         * lib/regexec.c (check_dst_limits_calc_pos_1,
64689         check_subexp_matching_top):
64690         (build_trtable, group_nodes_into_DFAstates):
64691         Likewise.
64692         * lib/regcomp.c (re_compile_fastmap_iter, utf8_sb_map, optimize_utf8):
64693         Don't assume that SBC_MAX is a multiple of BITSET_WORD_BITS.
64694         * lib/regex_internal.h (bitset_set_all, bitset_not): Likewise.
64695         * lib/regexec.c (group_nodes_into_DFAstates): Likewise.
64696         * lib/regcomp.c (utf8_sb_map): Don't assume UINT_MAX == 0xffffffff.
64697         * lib/regcomp.c (optimize_subexps, lower_subexp):
64698         Work even if bitset_word has holes in its bitwise representation.
64699         * lib/regex_internal.h (BITSET_WORD_BITS): Likewise.
64700         * lib/regexec.c (check_dst_limits_calc_pos_1,
64701         check_subexp_matching_top):
64702         Likewise.
64703         * lib/regex_internal.c (re_string_reconstruct):
64704         Don't assume UCHAR_MAX == 255.
64705         * lib/regex_internal.h (bitset_set_all): Likewise.
64706         * lib/regex_internal.h (BITSET_WORD_BITS): Renamed from UINT_BITS.
64707         All uses changed.
64708         (BITSET_WORDS): Renamed from BITSET_UINTS.  All uses changed.
64709         (bitset_word): New type, replacing 'unsigned int' for bitset uses.
64710         All uses changed.
64711         (BITSET_WORD_MAX): New macro.
64712         (bitset_set, bitset_clear, bitset_contain, bitset_empty):
64713         (bitset_set_all, bitset_copy):  Now inline functions, not macros.
64714         (bitset_empty, bitset_copy):
64715         Prefer sizeof (bitset) to multiplying it out ourselves.
64716         (bitset_not_merge): Remove; unused.
64717         (bitset_contain): Return bool, not unsigned int with one bit on.
64718         All callers changed.
64719         * lib/regexec.c (build_trtable): Don't assume bitset has no stricter
64720         alignment than re_node_set; do this by defining a new internal
64721         type struct dests_alloc and using it to allocate memory.
64722
64723 2005-09-05  Bruno Haible  <bruno@clisp.org>
64724
64725         * gnulib-tool (func_import): Fix comparison in handling of symbolic
64726         links.
64727
64728 2005-09-04  Martin Lambers  <marlam@marlam.de>  (tiny change)
64729
64730         * modules/size_max (Makefile.am): Add size_max.h
64731
64732 2005-09-04  Derek Price  <derek@ximbiot.com>
64733
64734         * gnulib-tool (func_import): Fix reversed $symbolic logic.
64735
64736 2005-09-03  Simon Josefsson  <jas@extundo.com>
64737
64738         * gnulib-tool: Fix typo.
64739
64740 2005-09-03  Simon Josefsson  <jas@extundo.com>
64741
64742         * config/srclist.txt: Add glibc bug 1293.
64743
64744 2005-09-03  Derek Price  <derek@ximbiot.com>
64745
64746         * m4/getlogin_r (gl_GETLOGIN_R): Fix cut & paste error.
64747         From Larry Jones <lawrence.jones@ugs.com>.
64748
64749 2005-09-02  Simon Josefsson  <jas@extundo.com>
64750
64751         * modules/socklen: New file.
64752
64753 2005-09-02  Simon Josefsson  <jas@extundo.com>
64754
64755         * modules/havelib: New module.
64756
64757         * modules/gettext, modules/iconv, modules/lock, modules/readline:
64758         Use havelib.
64759
64760 2005-09-02  Paul Eggert  <eggert@cs.ucla.edu>
64761
64762         Check for arithmetic overflow when calculating sizes, to prevent
64763         some buffer-overflow issues.  These patches are conservative, in the
64764         sense that when I couldn't determine whether an overflow was possible,
64765         I inserted a run-time check.
64766         * lib/regex_internal.h (re_xmalloc, re_xrealloc, re_x2realloc): New
64767         macros.
64768         (SIZE_MAX) [!defined SIZE_MAX]: New macro.
64769         (re_alloc_oversized, re_x2alloc_oversized, re_xnmalloc):
64770         (re_xnrealloc, re_x2nrealloc): New inline functions.
64771         * lib/regcomp.c (init_dfa, analyze, build_range_exp,
64772         parse_bracket_exp):
64773         (build_equiv_class, build_charclass): Check for arithmetic overflow
64774         in size expression calculations.
64775         * lib/regex_internal.c (re_string_realloc_buffers):
64776         (build_wcs_upper_buffer, re_node_set_add_intersect):
64777         (re_node_set_init_union, re_node_set_insert, re_node_set_insert_last):
64778         (re_dfa_add_node, register_state): Likewise.
64779         * lib/regexec.c (re_search_stub, re_copy_regs, re_search_internal):
64780         (prune_impossible_nodes, push_fail_stack, set_regs, check_arrival):
64781         (build_trtable, extend_buffers, match_ctx_init, match_ctx_add_entry):
64782         (match_ctx_add_subtop, match_ctx_add_sublast): Likewise.
64783
64784 2005-09-02  Paul Eggert  <eggert@cs.ucla.edu>
64785
64786         * modules/inttostr (Files): Add m4/inttypes_h.m4, m4/stdint_h.m4,
64787         m4/ulonglong.m4.  Problem reported by Martin Lambers.
64788
64789 2005-09-02  Bruno Haible  <bruno@clisp.org>
64790
64791         Support for lib vs. lib64 distinction on biarch platforms.
64792         * m4/lib-prefix.m4 (AC_LIB_PREPARE_MULTILIB): New macro.
64793         (AC_LIB_PREFIX): Require it. Use $acl_libdirstem instead of 'lib'.
64794         * m4/lib-link.m4 (AC_LIB_LINKFLAGS_BODY): Likewise.
64795
64796 2005-09-02  Bruno Haible  <bruno@clisp.org>
64797
64798         * gnulib-tool (import): In the other first-use case, provide defaults
64799         as well.
64800
64801 2005-09-02  Bruno Haible  <bruno@clisp.org>
64802
64803         * config/srclist.txt: lib-link.m4 and lib-prefix.m4 currently have
64804         patches not yet found in the latest gettext release.
64805
64806 2005-09-01  Paul Eggert  <eggert@cs.ucla.edu>
64807
64808         * lib/glob.c (GET_LOGIN_NAME_MAX): Renamed from LOGIN_NAME_MAX,
64809         to avoid a collision with bits/local_lim.h in glibc.
64810         All uses changed.  Problem reported by Dmitry V. Levin in
64811         <http://sources.redhat.com/bugzilla/show_bug.cgi?id=1060>.
64812
64813         * lib/regex_internal.c (build_wcs_upper_buffer): Fix portability
64814         bugs in int versus size_t comparisons.
64815         (re_string_context_at): Fix bug where the code assumed that
64816         Idx is signed.
64817
64818         Use bool where appropriate.
64819         * lib/regcomp.c (re_set_fastmap): ICASE arg is bool, not int.
64820         All callers changed.
64821         (calc_eclosure_iter): Likewise, for ROOT arg.
64822         (parse_bracket_element): Likewise, for ACCEPT_HYPHEN arg.
64823         (build_charclass_op): Likewise, for NON_MATCH arg.
64824         * lib/regex_internal.c (re_string_allocate, re_string_construct):
64825         (re_string_construct_common): Likewise, for ICASE arg.
64826         * lib/regexec.c (re_search_2_stub, re_search_stub):
64827         Likewise, for RET_LEN arg.
64828         (check_matching): Likewise, for FL_LONGEST_MATCH arg.
64829         (set_regs): Likewise, for FL_BACKTRACK arg.
64830         * lib/regcomp.c (re_compile_fastmap_iter, optimize_utf8):
64831         (duplicate_node_closure, calc_inveclosure, calc_eclosure):
64832         (calc_eclosure_iter, parse_bracket_exp):
64833         Use bool for internal variables that are booleans.
64834         * lib/regexec.c (re_search_internal, check_matching,
64835         proceed_next_node):
64836         (set_regs, build_sifted_states, sift_states_bkref):
64837         (check_arrival_add_next_nodes, check_arrival_expand_ecl_sub):
64838         (expand_bkref_cache, build_trtable, group_nodes_into_DFAstates):
64839         (find_collation_sequence_value):
64840         Likewise.
64841         * lib/regex_internal.c (re_node_set_insert, re_node_set_insert_last):
64842         (re_node_set_compare):
64843         Return bool, not int. All callers changed.
64844         * lib/regexec.c (check_halt_node_context, check_dst_limits):
64845         (build_trtable, check_node_accept): Likewise.
64846         * lib/regex_internal.h: Include stdbool.h.
64847
64848         Fix bugs uncovered when converting to bool.
64849         * lib/regcomp.c (calc_eclosure_iter): Check for storage allocation
64850         failure instead of charging ahead blindly.
64851         * lib/regex_internal.c (register_state): Likewise.
64852         * lib/regexec.c (re_search_2_stub): Use simpler method than boolean
64853         for freeing internal storage.
64854         (group_nodes_into_DFA_states): Use unsigned int, not int, for
64855         bitset pieces used as boolean, to avoid undefined behavior
64856         on hosts that do int overflow checking.
64857
64858 2005-09-01  Paul Eggert  <eggert@cs.ucla.edu>
64859
64860         * config/srclist.txt: Add glibc bugs 1285-1287.
64861
64862 2005-09-01  Jim Meyering  <jim@meyering.net>
64863
64864         * m4/lchown.m4: Require gl_FUNC_CHOWN, for the definition of
64865         CHOWN_MODIFIES_SYMLINK, which is used by lchown.c.
64866         Require gl_STAT_MACROS, too.
64867
64868 2005-09-01  Bruno Haible  <bruno@clisp.org>
64869
64870         * gnulib-tool (import): In the first-use case, provide defaults.
64871
64872 2005-09-01  Bruno Haible  <bruno@clisp.org>
64873
64874         * gnulib-tool (func_import): Remove the .tmp files.
64875
64876 2005-09-01  Bruno Haible  <bruno@clisp.org>
64877
64878         * gnulib-tool (func_import): Fix handling of symbolic links.
64879
64880 2005-08-31  Paul Eggert  <eggert@cs.ucla.edu>
64881
64882         On 64-bit hosts (where size_t is 64 bits and int is 32 bits), the
64883         old glibc regex code mishandles strings longer than 2**31 bytes.
64884         This patch fixes this when the regex code is used in gnulib
64885         (i.e., outside glibc).
64886
64887         This patch should not affect the use of the regex code inside
64888         glibc.  No doubt this problem also needs to be handled for glibc
64889         as well, but the result will be an incompatible change to the
64890         glibc ABI, and the old ABI will have to be supported too.  That
64891         can be the the subject for another patch.
64892
64893         * lib/regex.h (_REGEX_LARGE_OFFSETS): New feature-test macro,
64894         governing whether the rest of this patch is active.  By default,
64895         the macro is disabled and the patch has no effect.
64896         (regoff_t) [defined _REGEX_LARGE_OFFSETS]: Define to off_t, not int.
64897         (__re_idx_t, __re_size_t, __re_long_size_t): New types.
64898         (struct re_pattern_buffer, re_search, re_search_2, re_match):
64899         (re_match_2, re_set_registers): Use the new types.
64900         * lib/regex_internal.h (Idx, re_hashval_t): New types.
64901         (REG_MISSING, REG_ERROR, REG_VALID_INDEX, REG_VALID_NONZERO_INDEX):
64902         New macros.
64903         (re_node_set, re_charset_t, re_token_t, re_string_realloc_buffers):
64904         (re_string_context_at, bin_tree_t, re_dfastate_t):
64905         (struct re_state_table_entry, state_array_t, re_sub_match_last_t):
64906         (re_sub_match_top_t, re_match_context_t, re_sift_context_t):
64907         (struct re_fail_stack_ent_t, struct re_fail_stack_t, struct re_dfa_t):
64908         (re_string_char_size_at, re_string_wchar_at):
64909         (re_string_elem_size_at):
64910         Use the new types and macros to port to 64-bit hosts.
64911         Use unsigned types for internal values, so that the code
64912         mostly works even for arrays larger than SSIZE_MAX.
64913         * lib/regcomp.c (re_compile_internal, init_dfa, duplicate_node):
64914         (search_duplicated_node, calc_eclosure_iter, fetch_number):
64915         (parse_reg_exp, parse_branch, parse_expression, parse_sub_exp):
64916         (build_equiv_class, build_charclass, re_compile_fastmap_iter):
64917         (free_dfa_content, create_initial_state, optimize_utf8, analyze):
64918         (optimize_subexps, calc_first, link_nfa_nodes, duplicate_node_closure):
64919         (calc_inveclosure, parse_dup_op, build_range_exp):
64920         (build_collating_symbol, parse_bracket_exp, build_charclass_op):
64921         (fetch_number, create_token_tree, mark_opt_subexp):
64922         Likewise.
64923         * lib/regex_internal.c (re_string_construct_common,
64924         create_ci_newstate):
64925         (create_cd_newstate, re_string_allocate, re_string_construct):
64926         (re_string_realloc_buffers, build_wcs_upper_buffer):
64927         (re_string_skip_chars, build_upper_buffer, re_string_translate_buffer):
64928         (re_string_reconstruct, re_string_peek_byte_case):
64929         (re_string_fetch_byte_case, re_string_context_at):
64930         (re_node_set_alloc, re_node_set_init_1, re_node_set_init_2):
64931         (re_node_set_init_copy, re_node_set_add_intersect):
64932         (re_node_set_init_union, re_node_set_merge, re_node_set_insert):
64933         (re_node_set_insert_last, re_node_set_compare, re_node_set_contains):
64934         (re_node_set_remove_at, re_dfa_add_node, calc_state_hash):
64935         (re_acquire_state, re_acquire_state_context, register_state):
64936         Likewise.
64937         * lib/regex.c (match_ctx_init, match_ctx_add_entry,
64938         search_cur_bkref_entry):
64939         (match_ctx_add_subtop, match_ctx_add_sublast, sift_ctx_init):
64940         (re_search_internal, re_search_2_stub, re_search_stub)
64941         (re_copy_regs, check_matching, check_halt_state_context, update_regs):
64942         (push_fail_stack, sift_states_iter_mb, build_sifted_states):
64943         (update_cur_sifted_state, check_dst_limits):
64944         (check_dst_limits_calc_pos_1, check_dst_limits_calc_pos):
64945         (check_subexp_limits, sift_states_bkref, merge_state_array):
64946         (check_subexp_matching_top, get_subexp, get_subexp_sub):
64947         (find_subexp_node, check_arrival, check_arrival_add_next_nodes):
64948         (check_arrival_expand_ecl, check_arrival_expand_ecl_sub):
64949         (expand_bkref_cache, check_node_accept_bytes):
64950         (group_nodes_into_DFAstates, check_node_accept, regexec, re_match):
64951         (re_search, re_match_2, re_search_2, prune_impossible_nodes):
64952         (acquire_init_state_context, check_halt_node_context):
64953         (proceed_next_node, pop_fail_stack, set_regs, free_fail_stack_return):
64954         (sift_states_backward, clean_state_log_if_needed):
64955         (sub_epsilon_src_nodes, add_epsilone_src_nodes, merge_state_with_log):
64956         (find_recover_state, transit_state_sb, transit_state_mb):
64957         (transit_state_bkref, build_trtable, match_ctx_clean):
64958         Likewise.
64959         * lib/regcomp.c (parse_dup_op): Add an extra test if Idx is unsigned,
64960         to work around an assumption that REG_MISSING is negative.
64961
64962         * lib/regcomp.c (re_comp) [defined _REGEX_RE_COMP || defined _LIBC]:
64963         (seek_collating_symbol_entry) [defined _LIBC]:
64964         (lookup_collation_sequence_value) [defined _LIBC]:
64965         (build_range_exp, build_collating_symbol) [defined _LIBC]:
64966         Use prototypes rather than old-style function definitions.
64967         * lib/regexec.c (re_exec) [defined _REGEX_RE_COMP || defined _LIBC]:
64968         (transit_state_sb) [0]:
64969         (find_collation_sequence_value) [defined _LIBC]: Likewise.
64970
64971         * lib/regexec.c (re_search_internal): Simplify update of rm_so and
64972         rm_eo.
64973
64974         * lib/regcomp.c (re_compile_fastmap_iter, init_dfa, init_word_char):
64975         (optimize_subexps, lower_subexp):
64976         Don't assume 1<<31 has defined behavior on hosts with 32-bit int,
64977         since the signed shift might overflow.  Use 1u<<31 instead.
64978         * lib/regex_internal.h (bitset_set, bitset_clear, bitset_contain):
64979         Likewise.
64980         * lib/regexec.c (check_dst_limits_calc_pos_1,
64981         check_subexp_matching_top): Likewise.
64982
64983         * lib/regcomp.c (optimize_subexps, lower_subexp):
64984         Use CHAR_BIT rather than 8, for clarity.
64985         * lib/regexec.c (check_dst_limits_calc_pos_1):
64986         (check_subexp_matching_top): Likewise.
64987         * lib/regcomp.c (init_dfa): Make table_size unsigned, so that we don't
64988         have to worry about portability issues when shifting it left.
64989         Remove no-longer-needed test for table_size > 0.
64990         * lib/regcomp.c (parse_sub_exp): Do not shift more bits than there are
64991         in a word, as the resulting behavior is undefined.
64992         * lib/regexec.c (check_dst_limits_calc_pos_1): Likewise;
64993         in one case, a <= should have been an <, and in another case the
64994         whole test was missing.
64995         * lib/regex_internal.h (BYTE_BITS): Remove.  All uses changed to
64996         the standard name CHAR_BIT.
64997         * lib/regexec.c (match_ctx_add_entry): Don't assume that ~0 == -1;
64998         this is not true on one's complement and signed-magnitude hosts.
64999
65000         * lib/regex_internal.h (re_sub_match_top_t): Remove unused member
65001         next_last_offset.
65002         (struct re_dfa_t): Remove unused member states_alloc.
65003         * lib/regcomp.c (init_dfa): Don't initialize unused members.
65004
65005 2005-08-31  Paul Eggert  <eggert@cs.ucla.edu>
65006
65007         * m4/regex.m4 (gl_REGEX): Require AC_SYS_LARGEFILE, Define
65008         _REGEX_LARGE_OFFSETS).  Test for regoff_t/off_t bug in 64-bit
65009         and large-file glibc and in 32-bit large-file Solaris.
65010
65011 2005-08-31  Paul Eggert  <eggert@cs.ucla.edu>
65012
65013         * lib/regex_internal.c (re_string_reconstruct): Don't assume buffer
65014         lengths fit in regoff_t; this isn't true if regoff_t is the same
65015         width as size_t.
65016         * lib/regex.c (re_search_internal): 5th arg is LAST_START
65017         (= START + RANGE) instead of RANGE.  This avoids overflow
65018         problems when regoff_t is the same width as size_t.
65019         All callers changed.
65020         (re_search_2_stub): Check for overflow when adding the
65021         sizes of the two strings.
65022         (re_search_stub): Check for overflow when adding START
65023         to RANGE; if it occurs, substitute the extreme value.
65024
65025 2005-08-31  Paul Eggert  <eggert@cs.ucla.edu>
65026
65027         * config/srclist.txt: Add glibc bugs 1273, 1278-1282, 1284.
65028
65029 2005-08-31  Jim Meyering  <jim@meyering.net>
65030
65031         * lib/regcomp.c (search_duplicated_node): Make first pointer arg
65032         a pointer-to-const.
65033         * lib/regex_internal.c (create_ci_newstate, create_cd_newstate):
65034         (register_state): Likewise.
65035         * lib/regexec.c (search_cur_bkref_entry, check_dst_limits):
65036         (check_dst_limits_calc_pos_1, check_dst_limits_calc_pos):
65037         (group_nodes_into_DFAstates): Likewise.
65038
65039 2005-08-31  Jim Meyering  <jim@meyering.net>
65040
65041         * check-module: Add a FIXME comment.
65042
65043 2005-08-31  Eric Blake  <ebb9@byu.net>
65044
65045         * modules/unistd-safer (Files): Add unistd--.h.
65046         * modules/stdio-safer (Files): Add stdio--.h.
65047
65048 2005-08-31  Derek Price  <derek@ximbiot.com>
65049
65050         * lib/getdelim.c (getdelim): Return EOF on EOF.
65051         Reported by Larry Jones <lawrence.jones@ugs.com>.
65052
65053 2005-08-31  Bruno Haible  <bruno@clisp.org>
65054
65055         Avoid unnecessary diffs in the generated lib/Makefile.am.
65056         * gnulib-tool (func_emit_lib_Makefile_am): Don't write the cmd into
65057         the generated files.
65058         (func_import): Don't set cmd.
65059
65060 2005-08-31  Bruno Haible  <bruno@clisp.org>
65061
65062         * lib/strstr.c: Include <stddef.h>, for NULL.
65063         * lib/strcasestr.c: Likewise.
65064         Reported by Yoann Vandoorselaere <yoann.v@prelude-ids.com>.
65065
65066 2005-08-31  Bruno Haible  <bruno@clisp.org>
65067
65068         * gnulib-tool: New option --macro-prefix.
65069         (func_import): Use macro_prefix.
65070         (import): Handle option --macro-prefix.
65071
65072 2005-08-31  Bruno Haible  <bruno@clisp.org>
65073
65074         * gnulib-tool (import): Rename most ac_* variables to cached_*.
65075         Also use new variables cached_lgpl, cached_libtool.
65076
65077 2005-08-31  Bruno Haible  <bruno@clisp.org>
65078
65079         * gnulib-tool (func_import): Require AC_GNU_SOURCE etc. instead of
65080         always instantiating them.
65081
65082 2005-08-31  Bruno Haible  <bruno@clisp.org>
65083
65084         * gnulib-tool (func_import): Read the previous cached settings
65085         from gnulib-cache.m4 and gnulib-comp.m4. Remove files that were
65086         earlier added by gnulib but are now dropped. Warn when a gnulib file
65087         overwrites a non-gnulib file.
65088
65089 2005-08-31  Bruno Haible  <bruno@clisp.org>
65090
65091         * gnulib-tool (func_import): Generate two files gnulib-cache.m4 and
65092         gnulib-comp.m4 instead of a single gnulib.m4, to make it easy for
65093         projects that don't keep autogenerated files in CVS. Put into
65094         actioncmd only the specified modules, not the transitive closure.
65095
65096 2005-08-31  Bruno Haible  <bruno@clisp.org>
65097
65098         * gnulib-tool (func_import): Fix defaulting of $libname and $libtool.
65099         Create directories that shall be filled.
65100         (import): Don't look for gl_* macros in configure.ac. Recurse across
65101         all directories containing a gnulib-cache.m4 files, if meaningful.
65102
65103 2005-08-31  Bruno Haible  <bruno@clisp.org>
65104
65105         * gnulib-tool (func_import): Emit also a stub for gl_LIBTOOL.
65106         (import): Set seen_libtool when we see gl_LIBTOOL.
65107
65108 2005-08-31  Bruno Haible  <bruno@clisp.org>
65109
65110         * gnulib-tool (func_import): Also copy m4/gnulib-tool.m4. Omit
65111         declaration macro definitions from generated gnulib.m4.
65112
65113 2005-08-30  Oskar Liljeblad  <oskar@osk.mine.nu>
65114
65115         * lib/iconvme.h: Add prototype for iconv_alloc.
65116
65117 2005-08-29  Simon Josefsson  <jas@extundo.com>
65118
65119         * lib/iconvme.c: Fix errno.
65120
65121 2005-08-29  Bruno Haible  <bruno@clisp.org>
65122
65123         * gnulib-tool: Enclose all occurrences of $destdir in "...", so
65124         that it works when the directory contains spaces.
65125
65126 2005-08-29  Bruno Haible  <bruno@clisp.org>
65127
65128         * gnulib-tool (import): Avoid unnecessary spaces in $avoidlist.
65129
65130 2005-08-29  Bruno Haible  <bruno@clisp.org>
65131
65132         * gnulib-tool (func_import): Emit more comments into gnulib.m4.
65133         Emit more advice.
65134
65135 2005-08-29  Bruno Haible  <bruno@clisp.org>
65136         and Stepan Kasal  <kasal@ucw.cz>
65137
65138         * check-module: If more parameters are given, check each of them
65139         separately; add more exceptions, as noted by Jim Meyering.
65140         (check_module): New procedure.
65141         (%exempt_header): Now contains all exceptions.
65142
65143 2005-08-29  Ben Pfaff  <blp@cs.stanford.edu>
65144
65145         * modules/byteswap (Makefile.am): Fix rule to not assume GNU make.
65146
65147 2005-08-29  Oskar Liljeblad  <oskar@osk.mine.nu>
65148
65149         * lib/iconvme.c: Split iconv_string into iconv_alloc.
65150
65151 2005-08-28  Bruno Haible  <bruno@clisp.org>
65152
65153         * m4/gnulib-tool.m4: New file.
65154
65155 2005-08-27  Jim Meyering  <jim@meyering.net>
65156
65157         * modules/unistd-safer (Files): Add pipe-safer.c.
65158         * modules/fcntl-safer (Files): Add creat-safer.c.
65159
65160 2005-08-27  Jim Meyering  <jim@meyering.net>
65161
65162         * m4/stdlib-safer.m4: New file.  From coreutils.
65163         * m4/stdio-safer.m4 (gl_STDIO_SAFER): Add stdio--.h.
65164         * m4/fcntl-safer.m4 (gl_FCNTL_SAFER): Add creat-safer.c to the
65165         AC_LIBSOURCES list and arrange to compile it via AC_LIBOBJ.
65166         * m4/unistd-safer.m4 (gl_UNISTD_SAFER): Likewise, add pipe-safer.c.
65167         Add pipe-safer.c and unistd--.h to the AC_LIBSOURCES list.
65168
65169 2005-08-27  Jim Meyering  <jim@meyering.net>
65170
65171         * lib/fopen-safer.c: Merge minor changes from coreutils.
65172         * lib/dup-safer.c: Likewise.
65173         * lib/fd-safer.c: Likewise.
65174
65175         Merge from coreutils.
65176         * lib/stdio--.h: New file.
65177         * lib/stdlib--.h: New file.
65178         * lib/mkstemp-safer.c: New file.
65179
65180         GNU tar needs these.
65181         * lib/pipe-safer.c: New file.
65182         * lib/creat-safer.c: New file.
65183         * lib/fcntl--.h (creat): Define to creat_safer.
65184         * lib/fcntl-safer.h: Include <sys/types.h> and declare creat_safer.
65185         * lib/unistd--.h (pipe): Define to pipe_safer.
65186         * lib/unistd-safer.h: Declare pipe_safer.
65187
65188 2005-08-26  Simon Josefsson  <jas@extundo.com>
65189
65190         * lib/getpass.c: Use _WIN32 instead of WIN32, suggested by Bruno
65191         Haible <bruno@clisp.org>.
65192
65193 2005-08-26  Paul Eggert  <eggert@cs.ucla.edu>
65194
65195         * lib/regex_internal.h: Remove all references to
65196         RE_NO_INTERNAL_PROTOTYPES; no longer neeeded now that we assume C89
65197         or better.
65198         (bitset_not, bitset_merge, bitset_not_merge):
65199         (bitset_mask, re_string_allocate, re_string_construct):
65200         (re_string_reconstruct, re_string_destruct, re_string_elem_size_at):
65201         (re_string_char_size_at, re_string_wchar_at, re_string_peek_byte_case):
65202         (re_string_fetch_byte_case, re_node_set_alloc, re_node_set_init_1):
65203         (re_node_set_init_2, re_node_set_init_copy, re_node_set_add_intersect):
65204         (re_node_set_init_union, re_node_set_merge, re_node_set_insert):
65205         (re_node_set_insert_last, re_node_set_compare, re_node_set_contains):
65206         (re_node_set_remove_at, re_dfa_add_node, re_acquire_state):
65207         (re_acquire_state_context):
65208         Remove unnecessary forward decls.
65209         (re_string_char_size_at, re_string_wchar_at, re_string_elem_size_at):
65210         Put __attribute at function definition,
65211         now that the function decl has been removed.
65212         * lib/regex_internal.c (re_string_peek_byte_case):
65213         (re_string_fetch_byte_case, re_node_set_compare, re_node_set_contains):
65214         Likewise.
65215
65216 2005-08-25  Stepan Kasal  <kasal@ucw.cz>
65217
65218         * m4/regex.m4: Add AC_PREREQ(2.50).
65219         (gl_REGEX): If --with-included-regex was given, skip the autodetection.
65220
65221 2005-08-25  Simon Josefsson  <jas@extundo.com>
65222
65223         * m4/getpass.m4: Check for termios.h, tcgetattr, tcsetattr, and
65224         __fsetlocking.
65225
65226 2005-08-25  Simon Josefsson  <jas@extundo.com>
65227
65228         * lib/getpass.c: Add WIN32 implementation.  Conditionalize use of
65229         termios.h, tcgetattr, tcsetattr and __fsetlocking.  Remove some
65230         GLIBC specific code.
65231
65232 2005-08-25  Paul Eggert  <eggert@cs.ucla.edu>
65233
65234         Make regex safe for g++.  This fixes one real bug (an "err"
65235         that should have been "*err").  g++ problem reported by
65236         Sam Steingold.
65237         * lib/regex_internal.h (re_calloc): New macro, consistent with
65238         re_malloc etc.  All callers of calloc changed to use re_calloc.
65239         * lib/regex_internal.c (build_wcs_upper_buffer): Return reg_errcode_t,
65240         not int.  All callers changed.
65241         * lib/regcomp.c (re_compile_fastmap_iter): Don't use
65242         alloca (mb_cur_max); just use an array of size MB_LEN_MAX.
65243         * lib/regexec.c (push_fail_stack): Use re_realloc, not realloc.
65244         (find_recover_state): Change "err" to "*err"; this fixes what
65245         appears to be a real bug.
65246         (check_arrival_expand_ecl_sub): Be consistent about reg_errcode_t
65247         versus int.
65248
65249 2005-08-25  Paul Eggert  <eggert@cs.ucla.edu>
65250
65251         * modules/regex (Depends-on): Add malloc, since the code
65252         assumes that !malloc(0) means failure.
65253
65254 2005-08-25  Paul Eggert  <eggert@cs.ucla.edu>
65255
65256         * lib/regexec.c (set_regs): Don't alloca with an unbounded size.
65257
65258         alloca modernization/simplification for regex.
65259         * lib/regex.c: Remove portability cruft for alloca.  This no longer
65260         needs to be at the start of the file, and can be moved into
65261         regex_internal.h and simplified.
65262         * lib/regex_internal.h: Include <alloca.h>.
65263         (__libc_use_alloca) [!defined _LIBC]: New macro.
65264         * lib/regexec.c (build_trtable): Remove "#ifdef _LIBC", since the code
65265         now works outside glibc.
65266
65267 2005-08-25  Paul Eggert  <eggert@cs.ucla.edu>
65268
65269         * config/srclist.txt: Add glibc bugs 1241, 1245.
65270
65271 2005-08-25  Jim Meyering  <jim@meyering.net>
65272
65273         * lib/open-safer.c: Include <config.h>.
65274         Otherwise, we'd lose LARGEFILE support in any file using
65275         e.g. "fcntl--.h"
65276
65277 2005-08-25  Bruno Haible  <bruno@clisp.org>
65278
65279         * m4/minmax.m4: Require autoconf 2.52.
65280         (gl_MINMAX_IN_HEADER): Add comments. Use m4_pushdef/m4_popdef instead
65281         of define/undefine. Use AS_TR_SH and AS_TR_CPP as more robust
65282         alternatives of translit over the alphabet.
65283         Based on a patch from Stepan Kasal <kasal@ucw.cz>.
65284
65285 2005-08-24  Simon Josefsson  <jas@extundo.com>
65286
65287         * tests/test-getpass.c: New file.
65288
65289 2005-08-24  Paul Eggert  <eggert@cs.ucla.edu>
65290
65291         * m4/regex.m4 (gl_REGEX): Use POSIX-compliant spellings when testing
65292         for GNU regex features.
65293
65294 2005-08-24  Paul Eggert  <eggert@cs.ucla.edu>
65295
65296         * lib/regcomp.c (regerror): 2nd arg is 'restrict', as per POSIX.
65297         * lib/regex.h (regerror): Likewise.
65298
65299         * lib/regex.c: Do not include <sys/types.h>, as POSIX no longer
65300         requires this.  (The code never needed it.)
65301
65302         * lib/regcomp.c, regex_internal.c, regex_internal.h, regexec.c:
65303         All uses of recently-renamed identifiers changed to use the new,
65304         POSIX-compliant names.  The code will build and run just fine
65305         without these changes, but it's better to eat our own dog food
65306         and use the standard-conforming names.
65307
65308         * lib/regex.h: Fix a multitude of POSIX name space violations.
65309         These changes have an effect only for programs that define
65310         _POSIX_C_SOURCE, _POSIX_SOURCE, or _XOPEN_SOURCE; they
65311         do not change anything for programs compiled in the normal way.
65312         Also, there is no effect on the ABI.
65313
65314         (_REGEX_SOURCE): New macro.
65315         Do not include <stddef.h> if _XOPEN_SOURCE and VMS are both
65316         defined and _GNU_SOURCE is not; this fixes a name space violation.
65317
65318         Rename the following macros to obey POSIX requirements.
65319         The old names are still visible as macros if _REGEX_SOURCE is defined.
65320         (REG_BACKSLASH_ESCAPE_IN_LISTS): renamed from
65321         RE_BACKSLASH_ESCAPE_IN_LISTS.
65322         (REG_BK_PLUS_QM): renamed from RE_BK_PLUS_QM.
65323         (REG_CHAR_CLASSES): renamed from RE_CHAR_CLASSES.
65324         (REG_CONTEXT_INDEP_ANCHORS): renamed from RE_CONTEXT_INDEP_ANCHORS.
65325         (REG_CONTEXT_INDEP_OPS): renamed from RE_CONTEXT_INDEP_OPS.
65326         (REG_CONTEXT_INVALID_OPS): renamed from RE_CONTEXT_INVALID_OPS.
65327         (REG_DOT_NEWLINE): renamed from RE_DOT_NEWLINE.
65328         (REG_DOT_NOT_NULL): renamed from RE_DOT_NOT_NULL.
65329         (REG_HAT_LISTS_NOT_NEWLINE): renamed from RE_HAT_LISTS_NOT_NEWLINE.
65330         (REG_INTERVALS): renamed from RE_INTERVALS.
65331         (REG_LIMITED_OPS): renamed from RE_LIMITED_OPS.
65332         (REG_NEWLINE_ALT): renamed from RE_NEWLINE_ALT.
65333         (REG_NO_BK_BRACES): renamed from RE_NO_BK_BRACES.
65334         (REG_NO_BK_PARENS): renamed from RE_NO_BK_PARENS.
65335         (REG_NO_BK_REFS): renamed from RE_NO_BK_REFS.
65336         (REG_NO_BK_VBAR): renamed from RE_NO_BK_VBAR.
65337         (REG_NO_EMPTY_RANGES): renamed from RE_NO_EMPTY_RANGES.
65338         (REG_UNMATCHED_RIGHT_PAREN_ORD): renamed from
65339         RE_UNMATCHED_RIGHT_PAREN_ORD.
65340         (REG_NO_POSIX_BACKTRACKING): renamed from RE_NO_POSIX_BACKTRACKING.
65341         (REG_NO_GNU_OPS): renamed from RE_NO_GNU_OPS.
65342         (REG_DEBUG): renamed from RE_DEBUG.
65343         (REG_INVALID_INTERVAL_ORD): renamed from RE_INVALID_INTERVAL_ORD.
65344         (REG_IGNORE_CASE): renamed from RE_ICASE.  This renaming is a bit
65345         unusual, since we can't clash with the POSIX REG_ICASE.
65346         (REG_CARET_ANCHORS_HERE): renamed from RE_CARET_ANCHORS_HERE.
65347         (REG_CONTEXT_INVALID_DUP): renamed from RE_CONTEXT_INVALID_DUP.
65348         (REG_NO_SUB): renamed from RE_NO_SUB.
65349         (REG_SYNTAX_EMACS): renamed from RE_SYNTAX_EMACS.
65350         (REG_SYNTAX_AWK): renamed from RE_SYNTAX_AWK.
65351         (REG_SYNTAX_GNU_AWK): renamed from RE_SYNTAX_GNU_AWK.
65352         (REG_SYNTAX_POSIX_AWK): renamed from RE_SYNTAX_POSIX_AWK.
65353         (REG_SYNTAX_GREP): renamed from RE_SYNTAX_GREP.
65354         (REG_SYNTAX_EGREP): renamed from RE_SYNTAX_EGREP.
65355         (REG_SYNTAX_POSIX_EGREP): renamed from RE_SYNTAX_POSIX_EGREP.
65356         (REG_SYNTAX_ED): renamed from RE_SYNTAX_ED.
65357         (REG_SYNTAX_SED): renamed from RE_SYNTAX_SED.
65358         (_REG_SYNTAX_POSIX_COMMON): renamed from _RE_SYNTAX_POSIX_COMMON.
65359         (REG_SYNTAX_POSIX_BASIC): renamed from RE_SYNTAX_POSIX_BASIC.
65360         (REG_SYNTAX_POSIX_MINIMAL_BASIC): renamed from
65361         RE_SYNTAX_POSIX_MINIMAL_BASIC.
65362         (REG_SYNTAX_POSIX_EXTENDED): renamed from RE_SYNTAX_POSIX_EXTENDED.
65363         (REG_SYNTAX_POSIX_MINIMAL_EXTENDED): renamed from
65364         RE_SYNTAX_POSIX_MINIMAL_EXTENDED.
65365         (REG_DUP_MAX): renamed from RE_DUP_MAX.  No need to undef it.
65366         (REG_UNALLOCATED): Renamed from REGS_UNALLOCATED.
65367         (REG_REALLOCATE): Renamed from REGS_REALLOCATE.
65368         (REG_FIXED): Renamed from REGS_FIXED.
65369         (REG_NREGS): Renamed from RE_NREGS.
65370
65371         (REG_ICASE, REG_NEWLINE, REG_NOSUB): Do not depend on the values
65372         of other REG_* macros, since POSIX says the user is allowed to
65373         #undef these macros selectively.
65374
65375         (reg_errcode_t): Update comment stating what other tables need
65376         to be consistent.
65377
65378         Rename the following enum values to obey POSIX requirements.
65379         The old names are still visible as macros.
65380         (_REG_ENOSYS): Renamed from REG_ENOSYS.  Define even if _XOPEN_SOURCE
65381         is not defined, since GNU is supposed to be a superset of POSIX as
65382         much as possible, and since we want reg_errcode_t to be a signed
65383         type for implementation consistency.
65384         (_REG_NOERROR): Renamed from REG_NOERROR.
65385         (_REG_NOMATCH): Renamed from REG_NOMATCH.
65386         (_REG_BADPAT): Renamed from REG_BADPAT.
65387         (_REG_ECOLLATE): Renamed from REG_ECOLLATE.
65388         (_REG_ECTYPE): Renamed from REG_ECTYPE.
65389         (_REG_EESCAPE): Renamed from REG_EESCAPE.
65390         (_REG_ESUBREG): Renamed from REG_ESUBREG.
65391         (_REG_EBRACK): Renamed from REG_EBRACK.
65392         (_REG_EPAREN): Renamed from REG_EPAREN.
65393         (_REG_EBRACE): Renamed from REG_EBRACE.
65394         (_REG_BADBR): Renamed from REG_BADBR.
65395         (_REG_ERANGE): Renamed from REG_ERANGE.
65396         (_REG_ESPACE): Renamed from REG_ESPACE.
65397         (_REG_BADRPT): Renamed from REG_BADRPT.
65398         (_REG_EEND): Renamed from REG_EEND.
65399         (_REG_ESIZE): Renamed from REG_ESIZE.
65400         (_REG_ERPAREN): Renamed from REG_ERPAREN.
65401         (REG_ENOSYS, REG_NOERROR, REG_NOMATCH, REG_BADPAT, REG_ECOLLATE):
65402         (REG_ECTYPE, REG_EESCAPE, REG_ESUBREG, REG_EBRACK, REG_EPAREN):
65403         (REG_EBRACE, REG_BADBR, REG_ERANGE, REG_ESPACE, REG_BADRPT, REG_EEND):
65404         (REG_ESIZE, REG_ERPAREN): Now macros, not enum constants.
65405
65406         (_REG_RE_NAME, _REG_RM_NAME): New macros.
65407         (REG_TRANSLATE_TYPE): Renamed from RE_TRANSLATE_TYPE.  All uses
65408         changed.  But support the old name if the new one is not defined
65409         and if _REGEX_SOURCE.
65410
65411         Change the following member names in struct re_pattern_buffer.
65412         The old names are still supported if !_REGEX_SOURCE.
65413         The new names are always supported, regardless of _REGEX_SOURCE.
65414         (re_buffer): Renamed from buffer.
65415         (re_allocated): Renamed from allocated.
65416         (re_used): Renamed from used.
65417         (re_syntax): Renamed from syntax.
65418         (re_fastmap): Renamed from fastmap.
65419         (re_translate): Renamed from translate.
65420         (re_can_be_null): Renamed from can_be_null.
65421         (re_regs_allocated): Renamed from regs_allocated.
65422         (re_fastmap_accurate): Renamed from fastmap_accurate.
65423         (re_no_sub): Renamed from no_sub.
65424         (re_not_bol): Renamed from not_bol.
65425         (re_not_eol): Renamed from not_eol.
65426         (re_newline_anchor): Renamed from newline_anchor.
65427
65428         Change the following member names in struct re_registers.
65429         The old names are still supported if !_REGEX_SOURCE.
65430         The new names are always supported, regardless of _REGEX_SOURCE.
65431         (rm_num_regs): Renamed from num_regs.
65432         (rm_start): Renamed from start.
65433         (rm_end): Renamed from end.
65434
65435         (re_set_syntax, re_compile_pattern, re_compile_fastmap):
65436         (re_search, re_search_2, re_match, re_match_2, re_set_registers):
65437         Prepend __ to parameter names.
65438
65439         Undo yesterday's changes.
65440
65441 2005-08-24  Paul Eggert  <eggert@cs.ucla.edu>
65442
65443         * config/srclist.txt: Remove glibc bug 1233 and add 1236, which
65444         supersedes it. Add glibc bugs 1237, 1238, 1240.  Comment out
65445         lib/regex.c.
65446
65447 2005-08-24  Jim Meyering  <jim@meyering.net>
65448
65449         Sync from coreutils.
65450         * m4/fcntl-safer.m4: New file.
65451
65452         * m4/xgetcwd.m4: Use AC_LIBSOURCES and AC_LIBOBJ to indicate source
65453         and object files for this module.
65454
65455 2005-08-24  Jim Meyering  <jim@meyering.net>
65456
65457         Sync from coreutils.
65458         * lib/fcntl--.h, lib/fcntl-safer.h, lib/open-safer.c: New files.
65459
65460 2005-08-24  Jim Meyering  <jim@meyering.net>
65461
65462         * modules/xgetcwd (Makefile.am): Remove `lib_SOURCES += ...' line,
65463         now that xgetcwd.m4 requires xgetcwd.c and xgetcwd.h.
65464
65465 2005-08-24  Jim Meyering  <jim@meyering.net>
65466
65467         * modules/fcntl-safer: New module.
65468         * modules/fts (Depends-on): Add fcntl-safer.
65469         * MODULES.html.sh (File descriptor based Input/Output):
65470         Add fcntl-safer.
65471
65472 2005-08-24  Bruno Haible  <bruno@clisp.org>
65473
65474         Support for unit test modules.
65475         * modules/README: Mention tests modules.
65476         * modules/TEMPLATE-TESTS: New file.
65477         * gnulib-tool: New options --extract-tests-module, --with-tests and
65478         --tests-base (unused for the moment).
65479         (testsbase, inctests): New variables.
65480         (func_all_modules): Exclude TEMPLATE-TESTS and *-tests.
65481         (func_verify_module): Exclude TEMPLATE-TESTS.
65482         (func_verify_nontests_module, func_verify_tests_module): New functions.
65483         (func_get_dependencies): Add implicit dependency for tests modules.
65484         (func_get_tests_module): New function.
65485         (func_modules_transitive_closure): When --with-tests was specified,
65486         include the unit tests as well, unless explicitly avoided.
65487         (func_emit_lib_Makefile_am): Ignore the tests modules here.
65488         (func_emit_tests_Makefile_am): New function.
65489         (func_create_testdir): When --with-tests was specified, emit a
65490         tests/ directory.
65491         * MODULES.html.sh (Future developments): Update.
65492
65493 2005-08-24  Bruno Haible  <bruno@clisp.org>
65494
65495         * modules/tls-tests: New file.
65496         * tests/test-tls.c: New file, from GNU gettext.
65497
65498 2005-08-24  Bruno Haible  <bruno@clisp.org>
65499
65500         * modules/lock-tests: New file.
65501         * tests/test-lock.c: New file, from GNU gettext.
65502
65503 2005-08-24  Bruno Haible  <bruno@clisp.org>
65504
65505         * lib/lock.h: Add multiple inclusion guard.
65506         * lib/tls.h: Add multiple inclusion guard.
65507
65508 2005-08-24  Bruno Haible  <bruno@clisp.org>
65509
65510         * gnulib-tool: Add support for the --aux-dir option to
65511         --create-testdir, --create-megatestdir, --test, --megatest.
65512         (func_create_testdir, func_create_megatestdir): Optionally emit a
65513         AC_CONFIG_AUX_DIR directive.
65514         (create-testdir, create-megatestdir, test, megatest): Provide a
65515         default value for $auxdir.
65516
65517 2005-08-24  Bruno Haible  <bruno@clisp.org>
65518
65519         * gnulib-tool (import): Use compound statement instead of subshell
65520         where possible.
65521
65522 2005-08-24  Bruno Haible  <bruno@clisp.org>
65523
65524         * gnulib-tool (import): Change --aux-dir default to "build-aux".
65525
65526 2005-08-24  Bruno Haible  <bruno@clisp.org>
65527
65528         * gnulib-tool (func_version): Update.
65529
65530 2005-08-24  Bruno Haible  <bruno@clisp.org>
65531
65532         * gnulib-tool (func_import, func_create_testdir,
65533         func_create_megatestdir): Quote all autoconf macro arguments.
65534
65535 2005-08-24  Bruno Haible  <bruno@clisp.org>
65536
65537         * gnulib-tool (func_create_megatestdir): Call autoreconf without the
65538         option --force, because --force causes the aclocal.m4 of each
65539         subdirectory to be newer than the corresponding config.h.in.
65540
65541 2005-08-23  Paul Eggert  <eggert@cs.ucla.edu>
65542
65543         * m4/regex.m4 (gl_INCLUDED_REGEX): Remove; no longer used.
65544         All contents moved to gl_REGEX.
65545         (gl_REGEX): Don't bother checking whether lib/regex.c exists;
65546         assume that it does.
65547
65548 2005-08-23  Paul Eggert  <eggert@cs.ucla.edu>
65549
65550         * lib/regex.h (REG_NOSYS)
65551         [!defined _XOPEN_SOURCE && 200112L <= _POSIX_C_SOURCE]:
65552         Define, since POSIX requires it as of 2001.
65553         (_REG_ENOSYS)
65554         [! (defined _XOPEN_SOURCE || 200112L <= _POSIX_C_SOURCE)]:
65555         New private symbol, used to keep the enum signed in all cases.
65556         * lib/regex.h (RE_NO_EMPTY_RANGES): Fix doc bug reported by James
65557         Youngman in
65558         <http://lists.gnu.org/archive/html/bug-gnulib/2005-07/msg00132.html>.
65559
65560         * lib/regex_internal.c (re_string_skip_chars, register_state):
65561         (calc_state_hash):
65562         Remove forward decls; no longer needed now that we use prototypes.
65563         * lib/regexec.c (acquire_init_state_context, check_halt_node_context):
65564         (proceed_next_node, pop_fail_stack, sub_epsilon_src_nodes):
65565         (clean_state_log_if_needed): Likewise.
65566
65567 2005-08-23  Paul Eggert  <eggert@cs.ucla.edu>
65568
65569         * config/srclist.txt: Add glibc bugs 1231-1233.
65570
65571 2005-08-20  Paul Eggert  <eggert@cs.ucla.edu>
65572
65573         Fix problems reported by Sam Steingold in
65574         <http://lists.gnu.org/archive/html/bug-gnulib/2005-08/msg00007.html>.
65575         * lib/regexec.c (sift_states_bkref): Fix portability bug: the code
65576         assumed that reg_errcode_t is a signed type, which is not
65577         necessarily true if _XOPEN_SOURCE is not defined.
65578         * lib/regex_internal.c (calc_state_hash): Put 'inline' before type,
65579         since some compilers warn about it otherwise.
65580
65581 2005-08-20  Paul Eggert  <eggert@cs.ucla.edu>
65582
65583         * lib/regcomp.c (create_initial_state): Remove duplicate decl.
65584         (init_word_char, create_initial_state, duplicate_node_closure):
65585         (fetch_token, peek_token_bracket, build_range_exp):
65586         (build_collating_symbol): Remove forward decls; no longer needed
65587         now that we use prototypes.
65588
65589         * lib/regcomp.c:
65590         (re_compile_pattern, re_set_syntax, re_compile_fastmap):
65591         (re_compile_fastmap_iter, regcomp, regerror, regfree):
65592         (re_compile_internal, init_dfa, init_word_char, free_workarea_compile):
65593         (create_initial_state, optimize_utf8, analyze, postorder, preorder):
65594         (optimize_subexps, lower_subexps, lower_subexp, calc_first, calc_next):
65595         (link_nfa_nodes, duplicate_node_closure, search_duplicated_node):
65596         (duplicate_node, calc_inveclosure, calc_eclosure, calc_eclosure_iter):
65597         (fetch_token, peek_token, peek_token_bracket, parse, parse_reg_exp):
65598         (parse_branch, parse_expression, parse_sub_exp, parse_dup_op):
65599         (build_range_exp, build_collating_symbol, parse_bracket_exp):
65600         (parse_bracket_element, parse_bracket_symbol, build_equiv_class):
65601         (build_charclass, build_charclass_op, fetch_number, create_tree):
65602         (create_token_tree, mark_opt_subexp, duplicate_tree):
65603         Use prototypes rather than old-style definitions.
65604
65605         * lib/regex_internal.c:
65606         (re_string_allocate, re_string_construct, re_string_realloc_buffers):
65607         (re_string_construct_common, build_wcs_buffer, build_wcs_upper_buffer):
65608         (re_string_skip_chars, build_upper_buffer, re_string_translate_buffer):
65609         (re_string_reconstruct, re_string_peek_byte_case):
65610         (re_string_fetch_byte_case, re_string_destruct, re_string_context_at):
65611         (re_node_set_alloc, re_node_set_init_1, re_node_set_init_2):
65612         (re_node_set_init_copy, re_node_set_add_intersect):
65613         (re_node_set_init_union, re_node_set_merge, re_node_set_insert):
65614         (re_node_set_insert_last, re_node_set_compare, re_node_set_contains):
65615         (re_node_set_remove_at, re_dfa_add_node, calc_state_hash):
65616         (re_acquire_state, re_acquire_state_context, register_state):
65617         (create_ci_newstate, create_cd_newstate, free_state):
65618         Likewise.
65619         * lib/regexec.c (regexec, re_match, re_search, re_match_2,
65620         re_search_2):
65621         (re_search_2_stub, re_search_stub, re_copy_regs, re_set_registers):
65622         (re_search_internal, prune_impossible_nodes):
65623         (acquire_init_state_context, check_matching, static):
65624         (check_halt_node_context, check_halt_state_context, proceed_next_node):
65625         (push_fail_stack, pop_fail_stack, set_regs, free_fail_stack_return):
65626         (update_regs, sift_states_backward, build_sifted_states):
65627         (clean_state_log_if_needed, merge_state_array):
65628         (update_cur_sifted_state, add_epsilon_src_nodes):
65629         (sub_epsilon_src_nodes, check_dst_limits, check_dst_limits_calc_pos_1):
65630         (check_dst_limits_calc_pos, check_subexp_limits, sift_states_bkref):
65631         (sift_states_iter_mb, transit_state, merge_state_with_log, static):
65632         (find_recover_state, check_subexp_matching_top, transit_state_mb):
65633         (transit_state_bkref, get_subexp, get_subexp_sub, find_subexp_node):
65634         (check_arrival, check_arrival_add_next_nodes):
65635         (check_arrival_expand_ecl, check_arrival_expand_ecl_sub):
65636         (expand_bkref_cache, build_trtable, group_nodes_into_DFAstates):
65637         (check_node_accept_bytes, check_node_accept, extend_buffers):
65638         (match_ctx_init, match_ctx_clean, match_ctx_free, match_ctx_add_entry):
65639         (search_cur_bkref_entry, match_ctx_add_subtop, match_ctx_add_sublast):
65640         (sift_ctx_init):
65641         Likewise.
65642
65643         * lib/regex_internal.h:
65644         (re_string_allocate, re_string_construct, re_string_reconstruct):
65645         (re_string_realloc_buffers, build_wcs_buffer, build_wcs_upper_buffer):
65646         (build_upper_buffer, re_string_translate_buffer, re_string_destruct):
65647         (re_string_elem_size_at, re_string_char_size_at, re_string_wchar_at):
65648         (re_string_context_at, re_string_peek_byte_case):
65649         (re_string_fetch_byte_case): Declare even if RE_NO_INTERNAL_PROTOTYPES
65650         is defined, since we now use prototypes always.
65651
65652         * lib/regex.h (_RE_ARGS): Remove.  No longer needed, since we assume
65653         C89 or better.  All uses removed.
65654
65655 2005-08-20  Paul Eggert  <eggert@cs.ucla.edu>
65656
65657         * config/srclist.txt: Add glibc bugs 1220-1227.
65658
65659 2005-08-20  Jim Meyering  <jim@meyering.net>
65660
65661         * lib/regexec.c (regexec, re_search_stub) [!_LIBC]: Omit declaration
65662         of unused local, dfa.
65663
65664 2005-08-20  Bruno Haible  <bruno@clisp.org>
65665
65666         * m4/regex.m4 (gl_PREREQ_REGEX): Require AC_GNU_SOURCE.
65667
65668 2005-08-19  Paul Eggert  <eggert@cs.ucla.edu>
65669
65670         * lib/regex_internal.c (re_string_realloc_buffers, re_node_set_insert):
65671         (re_node_set_insert_last, re_dfa_add_node):
65672         Rename local variables to avoid GCC shadowing warnings.
65673
65674 2005-08-19  Paul Eggert  <eggert@cs.ucla.edu>
65675
65676         * lib/regex_internal.c (re_acquire_state, re_acquire_state_context)
65677         [defined lint]: Suppress bogus uninitialized-variable warnings.
65678
65679         * lib/regcomp.c (duplicate_node): Return new index, not an error code,
65680         and let the caller return REG_ESPACE if out of space.  This
65681         removes an uninitialied-variable warning with GCC 4.0.1, and also
65682         avoids taking the address of a local variable.  All callers
65683         changed.
65684
65685 2005-08-19  Paul Eggert  <eggert@cs.ucla.edu>
65686
65687         * config/srclist.txt: Comment out $LIBCSRC/posix/regex_internal.c,
65688         $LIBCSRC/posix/regexec.c.
65689         Add glibc bug 1217 for regcomp.c.
65690
65691 2005-08-19  Jim Meyering  <jim@meyering.net>
65692
65693         * lib/regexec.c (proceed_next_node): Redo local variables to
65694         avoid GCC shadowing warnings.
65695
65696 2005-08-18  Bruno Haible  <bruno@clisp.org>
65697
65698         * lib/strstr.c (strstr): Fix return value in multibyte case.
65699         * lib/strcasestr.c (strcasestr): Likewise.
65700
65701 2005-08-17  Paul Eggert  <eggert@cs.ucla.edu>
65702
65703         * lib/regex.h: Remove useless space-before-tab.  From coreutils.
65704
65705 2005-08-17  Jim Meyering  <jim@meyering.net>
65706
65707         Make the %s format (seconds since the epoch) work for a negative
65708         number and when used with a zero-padded field width, e.g. %015s.
65709
65710         * lib/strftime.c (my_strftime): Move the `do_number_sign_and_padding'
65711         label so that it precedes the code to set `digits'.  Otherwise,
65712         %0Ns wouldn't work.  Before this change, `date -d @-22 +%05s' would
65713         print `00-22'.  Now, it prints `-0022', as it should.
65714
65715 2005-08-17  Bruno Haible  <bruno@clisp.org>
65716
65717         * modules/strstr (Files): Add m4/mbrtowc.m4.
65718         (Depends-on): Add mbuiter.
65719
65720 2005-08-17  Bruno Haible  <bruno@clisp.org>
65721
65722         * modules/strcasestr: New file.
65723         * MODULES.html.sh (String handling, based on ANSI C 89): Add
65724         strcasestr.
65725
65726 2005-08-17  Bruno Haible  <bruno@clisp.org>
65727
65728         * modules/strcase (Depends-on): Add mbuiter. Remove strnlen1, mbchar.
65729
65730 2005-08-17  Bruno Haible  <bruno@clisp.org>
65731
65732         * modules/mbuiter: New file.
65733         * MODULES.html.sh (Extended multibyte and wide character utilities):
65734         Add mbuiter.
65735
65736 2005-08-17  Bruno Haible  <bruno@clisp.org>
65737
65738         * m4/strstr.m4 (gl_FUNC_STRSTR): Use the replacement function always.
65739         (gl_PREREQ_STRSTR): Use gl_FUNC_MBRTOWC.
65740
65741 2005-08-17  Bruno Haible  <bruno@clisp.org>
65742
65743         * m4/strcasestr.m4: New file.
65744
65745 2005-08-17  Bruno Haible  <bruno@clisp.org>
65746
65747         * lib/strstr.h: Ignore HAVE_STRSTR, always declare the gnulib function.
65748         * lib/strstr.c: Completely rewritten, with multibyte locale support.
65749
65750 2005-08-17  Bruno Haible  <bruno@clisp.org>
65751
65752         * lib/strcasestr.h: New file.
65753         * lib/strcasestr.c: New file.
65754
65755 2005-08-17  Bruno Haible  <bruno@clisp.org>
65756
65757         * lib/strcasecmp.c: Use mbuiter.h.
65758
65759 2005-08-17  Bruno Haible  <bruno@clisp.org>
65760
65761         * lib/mbuiter.h: New file.
65762
65763 2005-08-16  Paul Eggert  <eggert@cs.ucla.edu>
65764
65765         * m4/getopt.m4 (gl_GETOPT_CHECK_HEADERS): Do not override the results
65766         of gl_GETOPT_SUBSTITUTE.  That way, if both gl_GETOPT_SUBSTITUTE
65767         and gl_GETOPT are both invoked via different paths (as happens
65768         with GNU tar CVS because it uses both argp and getopt), the former
65769         wins.
65770
65771 2005-08-16  Bruno Haible  <bruno@clisp.org>
65772
65773         * modules/tls: New file.
65774         * MODULES.html.sh (Multithreading): Add tls.
65775
65776 2005-08-16  Bruno Haible  <bruno@clisp.org>
65777
65778         * modules/strnlen1: New file.
65779         * MODULES.html.sh (String handling): Add strnlen1.
65780
65781 2005-08-16  Bruno Haible  <bruno@clisp.org>
65782
65783         * modules/strcase (Files): Add m4/mbrtowc.m4.
65784         (Depends-on): Add strnlen1, mbchar.
65785
65786 2005-08-16  Bruno Haible  <bruno@clisp.org>
65787
65788         * modules/mbiter: New file.
65789         * MODULES.html.sh (Extended multibyte and wide character utilities):
65790         Add mbiter.
65791
65792 2005-08-16  Bruno Haible  <bruno@clisp.org>
65793
65794         * modules/mbfile: New file.
65795         * MODULES.html.sh (Extended multibyte and wide character utilities):
65796         Add mbfile.
65797
65798 2005-08-16  Bruno Haible  <bruno@clisp.org>
65799
65800         * modules/mbchar: New file.
65801         * MODULES.html.sh (Extended multibyte and wide character utilities):
65802         New section.
65803
65804 2005-08-16  Bruno Haible  <bruno@clisp.org>
65805
65806         * m4/tls.m4: New file, from GNU gettext.
65807
65808 2005-08-16  Bruno Haible  <bruno@clisp.org>
65809
65810         * m4/strcase.m4 (gl_FUNC_STRCASECMP): Use the replacement function
65811         always.
65812         (gl_PREREQ_STRCASECMP): Use gl_FUNC_MBRTOWC.
65813
65814 2005-08-16  Bruno Haible  <bruno@clisp.org>
65815
65816         * m4/mbiter.m4: New file.
65817
65818 2005-08-16  Bruno Haible  <bruno@clisp.org>
65819
65820         * m4/mbfile.m4: New file.
65821
65822 2005-08-16  Bruno Haible  <bruno@clisp.org>
65823
65824         * m4/mbchar.m4: New file.
65825
65826 2005-08-16  Bruno Haible  <bruno@clisp.org>
65827
65828         * lib/tls.h: New file, from GNU gettext.
65829         * lib/tls.c: New file, from GNU gettext.
65830
65831 2005-08-16  Bruno Haible  <bruno@clisp.org>
65832
65833         * lib/strnlen1.h: New file.
65834         * lib/strnlen1.c: New file.
65835
65836 2005-08-16  Bruno Haible  <bruno@clisp.org>
65837
65838         * lib/strcasecmp.c (struct mbiter_multi): Remove at_end field.
65839         (mbi_init): Update.
65840         (mbi_avail, mbi_advance): Let the iteration end before the terminating
65841         NUL byte, not after it.
65842
65843 2005-08-16  Bruno Haible  <bruno@clisp.org>
65844
65845         * lib/strcase.h (strcasecmp): Add note in comments.
65846         * lib/strncasecmp.c: Use code from strcasecmp.c.
65847         * lib/strcasecmp.c: Use mbchar module. Define private mbiter variant.
65848         (strcasecmp): Work correctly in multibyte locales.
65849
65850 2005-08-16  Bruno Haible  <bruno@clisp.org>
65851
65852         * lib/mbiter.h: New file.
65853
65854 2005-08-16  Bruno Haible  <bruno@clisp.org>
65855
65856         * lib/mbfile.h: New file.
65857
65858 2005-08-16  Bruno Haible  <bruno@clisp.org>
65859
65860         * lib/mbchar.h: New file.
65861         * lib/mbchar.c: New file.
65862
65863 2005-08-16  Bruno Haible  <bruno@clisp.org>
65864
65865         * lib/mbchar.h (mb_cmp, mb_casecmp): Order the invalid characters after
65866         the valid ones. Makes the comparison operations transitive:
65867         cmp (a, b) < 0 && cmp (b, c) < 0 ==> cmp (a, c) < 0.
65868         * lib/strcasecmp.c (strcasecmp): Use mb_casecmp.
65869
65870 2005-08-15  Simon Josefsson  <jas@extundo.com>
65871
65872         * modules/ssize_t (License): Change to 'unlimited'.
65873
65874         * gnulib-tool (sed_extract_prog): Recognize 'unlimited' license.
65875
65876 2005-08-15  Paul Eggert  <eggert@cs.ucla.edu>
65877
65878         * config/srclist.txt: Comment out $LIBCSRC/posix/regex.h.
65879         Add comments for each pending glibc patch.
65880
65881 2005-08-15  Bruno Haible  <bruno@clisp.org>
65882
65883         * lib/regex.h (__restrict_arr): Don't define to __restrict if
65884         __cplusplus is defined.
65885
65886 2005-08-14  Jim Meyering  <jim@meyering.net>
65887
65888         Sync from coreutils.
65889
65890         * lib/fts-cycle.c (setup_dir, enter_dir, leave_dir, free_dir):
65891         Use the hash-table-based cycle-detection code not just when
65892         FTS_TIGHT_CYCLE_CHECK if specified, but also with FTS_LOGICAL.
65893         Reported by James Youngman in
65894         <http://lists.gnu.org/archive/html/bug-gnulib/2005-08/msg00011.html>.
65895         * lib/fts_.h: Mention that with FTS_LOGICAL, we use
65896         FTS_TIGHT_CYCLE_CHECK.
65897         * lib/fts.c (fts_cross_check) [FTS_DEBUG]:
65898         s/active_dir_ht/fts_cycle.ht/. This lets us compile with -DFTS_DEBUG,
65899         once again.
65900         * lib/fts.c [! _LIBC]: Include "lstat.h" rather than rolling our own.
65901         * lib/fts.c (fd_safer): Remove decl.
65902         Include fcntl--.h rather than unistd-safer.h
65903         (fts_safe_changedir): Don't call fd_safer; no longer needed
65904         now that we include fcntl--.h.
65905
65906 2005-08-12  Simon Josefsson  <jas@extundo.com>
65907
65908         * modules/getndelim2: Use ssize_t module.
65909         * modules/getnline: Likewise.
65910         * modules/safe-read: Likewise.
65911         * modules/xreadlink: Likewise.
65912
65913         * modules/ssize_t: New file.
65914
65915 2005-08-12  Simon Josefsson  <jas@extundo.com>
65916
65917         * m4/readline.m4: Look for termcap, curses or ncurses if required.
65918
65919 2005-08-12  Simon Josefsson  <jas@extundo.com>
65920
65921         * MODULES.html.sh (Support for systems lacking POSIX:2001): Add
65922         ssize_t.
65923
65924 2005-08-12  Simon Josefsson  <jas@extundo.com>
65925
65926         * MODULES.html.sh (Extra functions based on ANSI C 89: Misc): Add
65927         readline, getdelim and check_version.
65928         (Support for systems lacking ISO C 99: Sizes of integer types):
65929         Add size_max.
65930
65931 2005-08-12  Bruno Haible  <bruno@clisp.org>
65932
65933         * m4/readline.m4 (gl_FUNC_READLINE): Look for ncurses first.
65934
65935 2005-08-11  Simon Josefsson  <jas@extundo.com>
65936
65937         * modules/readline: New file.
65938
65939         * modules/strnlen (Files): Add strnlen.h.
65940
65941 2005-08-11  Simon Josefsson  <jas@extundo.com>
65942
65943         * m4/readline.m4: New file.
65944
65945 2005-08-11  Simon Josefsson  <jas@extundo.com>
65946
65947         * lib/readline.h, readline.c: New file.
65948
65949 2005-08-11  Simon Josefsson  <jas@extundo.com>
65950
65951         * doc/gnulib.texi (Initial import, Finishing touches): Mention
65952         gl_AVOID.
65953
65954 2005-08-11  Bruno Haible  <bruno@clisp.org>
65955
65956         * lib/strnlen.h (strnlen): Change parameter name to match comment.
65957
65958 2005-08-10  Stepan Kasal  <kasal@ucw.cz>
65959
65960         * m4/onceonly_2_57.m4: Really require Autoconf 2.57.
65961
65962 2005-08-10  Simon Josefsson  <jas@extundo.com>
65963
65964         * tests/test-iconvme.c: New file.
65965
65966 2005-08-10  Simon Josefsson  <jas@extundo.com>
65967
65968         * m4/strnlen.m4: New file.
65969
65970         * m4/strndup.m4: Don't check for strnlen declaration, done in
65971         strnlen.m4.
65972
65973 2005-08-10  Simon Josefsson  <jas@extundo.com>
65974
65975         * lib/strndup.c: Use strnlen.h.
65976
65977         * lib/strnlen.h: New file.
65978
65979 2005-08-08  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>  (tiny change)
65980
65981         * README: Typos.
65982
65983 2005-08-02  Simon Josefsson  <jas@extundo.com>
65984
65985         * modules/readline: New file.
65986
65987 2005-08-02  Simon Josefsson  <jas@extundo.com>
65988
65989         * modules/getdelim: New file.
65990
65991         * modules/getline: Rewrite, don't use getndelim2.
65992
65993 2005-08-02  Simon Josefsson  <jas@extundo.com>
65994
65995         * m4/getline.m4: Separate out getdelim stuff into separate module.
65996
65997         * m4/getdelim.m4: New file.
65998
65999 2005-08-02  Simon Josefsson  <jas@extundo.com>
66000
66001         * lib/getline.h, getline.c: Rewrite.
66002
66003         * lib/getdelim.h, lib/getdelim.c: New files, ported from glibc.
66004
66005 2005-07-31  Bruno Haible  <bruno@clisp.org>
66006
66007         * lib/lock.h (gl_lock_initializer): New macro.
66008         (gl_lock_define_initialized): Use it.
66009         (gl_rwlock_initializer): New macro.
66010         (gl_rwlock_define_initialized): Use it.
66011         (gl_recursive_lock_initializer): New macro.
66012         (gl_recursive_lock_define_initialized): Use it.
66013
66014 2005-07-30  Karl Berry  <karl@gnu.org>
66015
66016         * doc/gnulib.texi (Initial import): mention -I$(top_builddir)/lib.
66017         Report from Ben Pfaff, regarding getopt.
66018
66019 2005-07-26  Paul Eggert  <eggert@cs.ucla.edu>
66020
66021         Add support to getopt for Emacs, which doesn't use LIBOBJS in the
66022         normal way.
66023         * m4/getopt.m4 (gl_GETOPT_SUBSTITUTE_HEADER): New macro.
66024         (gl_GETOPT_SUBSTITUTE): Use it.  Invoke gl_PREREQ_GETOPT.
66025         (gl_GETOPT_IFELSE, gl_GETOPT_CHECK_HEADERS): New macros.
66026         (gl_GETOPT): Use the new macros.  Most of the implementation
66027         is moved to the new macros.  This is for programs like Emacs
66028         that don't want all the functionality of gl_GETOPT.
66029
66030 2005-07-26  Bruno Haible  <bruno@clisp.org>
66031
66032         * m4/lock.m4: Update from GNU gettext.
66033
66034 2005-07-26  Bruno Haible  <bruno@clisp.org>
66035
66036         * lib/lock.h: Update from GNU gettext.
66037         * lib/lock.c: Update from GNU gettext.
66038
66039 2005-07-25  Paul Eggert  <eggert@cs.ucla.edu>
66040
66041         * m4/regex.m4 (gl_INCLUDED_REGEX): Use AC_RUN_IFELSE instead of the
66042         obsolescent AC_TRY_RUN.  Include the default includes files, for
66043         'exit'.
66044
66045 2005-07-24  Bruno Haible  <bruno@clisp.org>
66046
66047         * modules/visibility: New file.
66048         * MODULES.html.sh (Misc): Add visibility.
66049
66050 2005-07-24  Bruno Haible  <bruno@clisp.org>
66051
66052         * m4/visibility.m4: New file.
66053
66054 2005-07-24  Bruno Haible  <bruno@clisp.org>
66055
66056         * doc/visibility.texi: New file.
66057
66058 2005-07-22  Bruno Haible  <bruno@clisp.org>
66059
66060         * modules/alloca-opt (Makefile.am): Remove explicit dependency on
66061         $(ALLOCA_H), redundant through BUILT_SOURCES.
66062         * modules/argz (Makefile.am): Remove explicit dependency on $(ARGZ_H),
66063         redundant through BUILT_SOURCES.
66064         * modules/byteswap (Makefile.am): Remove explicit dependency on
66065         $(BYTESWAP_H), redundant through BUILT_SOURCES.
66066         * modules/fnmatch (Makefile.am): Remove explicit dependency on
66067         $(FNMATCH_H), redundant through BUILT_SOURCES.
66068         * modules/getopt (Makefile.am): Remove explicit dependency on
66069         $(GETOPT_H), redundant through BUILT_SOURCES.
66070         * modules/glob (Makefile.am): Remove explicit dependency on $(GLOB_H),
66071         redundant through BUILT_SOURCES.
66072         * modules/poll (Makefile.am): Remove explicit dependency on $(POLL_H),
66073         redundant through BUILT_SOURCES.
66074         * modules/stdbool (Makefile.am): Remove explicit dependency on
66075         $(STDBOOL_H), redundant through BUILT_SOURCES.
66076         * modules/stdint (Makefile.am): Remove explicit dependency on
66077         $(STDINT_H), redundant through BUILT_SOURCES.
66078         * modules/sysexits (Makefile.am): Add $(SYSEXITS_H) to BUILT_SOURCES.
66079         Remove explicit dependency on $(SYSEXITS_H).
66080         Reported by Alexandre Duret-Lutz <adl@src.lip6.fr>.
66081
66082 2005-07-18  Simon Josefsson  <jas@extundo.com>
66083
66084         * lib/check-version.c (check_version): Accept identical versions too.
66085
66086 2005-07-18  Bruno Haible  <bruno@clisp.org>
66087
66088         * modules/lock: New file.
66089         * MODULES.html.sh (Multithreading): New section.
66090
66091 2005-07-18  Bruno Haible  <bruno@clisp.org>
66092
66093         * m4/lock.m4: New file, from GNU gettext.
66094
66095 2005-07-18  Bruno Haible  <bruno@clisp.org>
66096
66097         * lib/lock.h: New file, from GNU gettext.
66098         * lib/lock.c: New file, from GNU gettext.
66099
66100 2005-07-18  Bruno Haible  <bruno@clisp.org>
66101
66102         * lib/lock.h (gl_once_t): New type.
66103         (gl_once_define, gl_once): New macros.
66104         * lib/lock.c (fresh_once): New variable.
66105         (glthread_once, glthread_once_call, glthread_once_singlethreaded): New
66106         functions.
66107
66108 2005-07-16  Simon Josefsson  <jas@extundo.com>
66109
66110         * doc/gnulib.texi (Library version handling): Add ELF symbol collision
66111         workaround, suggested by Bruno.
66112
66113 2005-07-15  Paul Eggert  <eggert@cs.ucla.edu>
66114
66115         * modules/xalloc (Depends-on): Add xalloc-die.
66116         * modules/xvasprintf (Depends-on): Add xalloc-die.
66117
66118 2005-07-15  Paul Eggert  <eggert@cs.ucla.edu>
66119
66120         * lib/quotearg.c: Add translator comment suggested by Bruno Haible,
66121         with a minor change.
66122
66123 2005-07-15  Bruno Haible  <bruno@clisp.org>
66124
66125         * m4/poll.m4 (gl_FUNC_POLL): Check against MacOS X 10.4 poll() bug.
66126         When using lib/poll.c, define poll as rpl_poll.
66127
66128 2005-07-14  Paul Eggert  <eggert@cs.ucla.edu>
66129
66130         * modules/argp (Depends-on): Remove unlocked-io.
66131
66132 2005-07-14  Derek Price  <derek@ximbiot.com>
66133
66134         * m4/glob.m4 (gl_GLOB): Cache glob interface check result.  Add check
66135         for glob symlink bug.
66136
66137 2005-07-14  Bruno Haible  <bruno@clisp.org>
66138
66139         * m4/argp.m4 (gl_ARGP): Remove invocation of gl_FUNC_GLIBC_UNLOCKED_IO.
66140         Instead, test for *_unlocked function declarations directly.
66141
66142 2005-07-11  Simon Josefsson  <jas@extundo.com>
66143
66144         * modules/size_max: New file.
66145
66146         * modules/xsize: Depend on size_max module for size_max.m4.
66147
66148 2005-07-11  Simon Josefsson  <jas@extundo.com>
66149
66150         * lib/size_max.h: New file.
66151
66152 2005-07-11  Paul Eggert  <eggert@cs.ucla.edu>
66153
66154         * lib/version-etc-fsf.c (version_etc_copyright): Parameterize the
66155         copyright symbol and the year.
66156         * lib/version-etc.c (COPYRIGHT_YEAR): New constant.
66157         (version_etc_va): Use parameterized copyright notice.
66158         Reword to conform to the current GNU coding standards.
66159
66160 2005-07-11  Karl Berry  <karl@gnu.org>
66161
66162         * doc/gnulib.texi (Quoting): new node.
66163         (Initial import): more info, from Patrice.
66164
66165 2005-07-11  Bruno Haible  <bruno@clisp.org>
66166
66167         * gnulib-tool (func_usage): Document option --avoid.
66168         (Command line options): Handle --avoid.
66169         (func_acceptable): New function.
66170         (func_modules_transitive_closure): Use it.
66171
66172 2005-07-11  Bruno Haible  <bruno@clisp.org>
66173
66174         * MODULES.html.sh: Use shortcut URLs to the www.opengroup.org site.
66175         Reported by Jim Meyering.
66176
66177 2005-07-10  Bruno Haible  <bruno@clisp.org>
66178
66179         * m4/size_max.m4 (gl_SIZE_MAX): Cast ~(size_t)0 back to size_t.
66180         Needed when size_t is smaller than 'unsigned int'.
66181         Reported by Paul Eggert.
66182
66183 2005-07-09  Sergey Poznyakoff  <gray@gnu.org.ua>
66184
66185         * modules/argp (Depends-on): Add unlocked-io
66186
66187 2005-07-09  Sergey Poznyakoff  <gray@gnu.org.ua>
66188
66189         * lib/argp-namefrob.h: Include unlocked-io.h. Removed unnecessary
66190         block of defines.
66191
66192 2005-07-08  Paul Eggert  <eggert@cs.ucla.edu>
66193
66194         * config/srclist.txt: Comment out regcomp.c, since we have a porting
66195         fix now.
66196
66197 2005-07-08  Eric Blake  <ebb9@byu.net>  (tiny change)
66198         and Paul Eggert  <eggert@cs.ucla.edu>
66199
66200         * lib/regcomp.c (init_dfa, build_range_exp): Store __btowc value
66201         in wint_t, not wchar_t.  Remove now-unnecessary cast.
66202
66203 2005-07-07  Paul Eggert  <eggert@cs.ucla.edu>
66204
66205         * modules/regex (Files): Add lib/regex_internal.c,
66206         lib/regex_internal.h, lib/regexec.c, lib/regcomp.c, m4/codeset.m4.
66207         (Depends-on): Add extensions.
66208         (Makefile.am): Remove lib_SOURCES; now done by m4 code.
66209
66210 2005-07-07  Paul Eggert  <eggert@cs.ucla.edu>
66211
66212         * m4/backupfile.m4 (gl_BACKUPFILE): Use AC_CHECK_FUNCS_ONCE on
66213         pathconf.
66214         * m4/same.m4 (gl_SAME): Likewise.
66215         Require AC_SYS_LONG_FILE_NAMES; bug reported by Gerrit P. Haase.
66216
66217         * m4/regex.m4: Adjust to new libc regex implementation.
66218         (gl_INCLUDED_REGEX): Add AC_LIBSOURCES for
66219         all the .c and .h parts of (the new) regex.
66220         Quote the m4 stuff better.
66221         Check for RE_ICASE bug of old gnulib.
66222         Check for REG_STARTEND of recent libc.
66223         Rename local variables from jm_* to gl_*.
66224         Quote operand of "test -f".
66225         Say "recent enough" version of libc, not "version 2".
66226         (gl_PREREQ_REGEX): Remove AC_FUNC_ALLOCA, since alloca is a
66227         prerequisite module.  Remove AC_HEADER_STDC; no longer needed.
66228         Check for locale.h, isblank, mbrtowc, wcrtomb, wcscoll.
66229         Remove check for btowc, isascii.
66230         Require AM_LANGINFO_CODESET.
66231
66232 2005-07-07  Paul Eggert  <eggert@cs.ucla.edu>
66233
66234         * lib/regex.c, regex.h: Sync from libc.
66235         * lib/regcomp.c, lib/regexec_internal.c, lib/regex_internal.h:
66236         * lib/regexec.c:
66237         New files, synced from libc, except that regex_internal.h
66238         currently has a small porting fix.
66239
66240 2005-07-07  Paul Eggert  <eggert@cs.ucla.edu>
66241
66242         * config/srclist.txt: Add regcomp.c, regex.c, regex.h,
66243         regex_internal.c, regexec.c.
66244         Add regex_internal.h too, but as a comment, since the libc version
66245         is currently broken in gnulib mode.
66246
66247 2005-07-06  Paul Eggert  <eggert@cs.ucla.edu>
66248
66249         Support programs like Emacs that use gnulib but not gettext.
66250         * MODULES.html.sh (Internationalization functions): Add gettext-h.
66251         * modules/gettext-h: New file.
66252         * modules/gettext (Files): Remove lib/gettext.h.
66253         (Depends-on): Add gettext-h.
66254         (Makefile.am): Remove lib_SOURCES.
66255         * modules/argmatch, modules/c-stack, modules/closeout:
66256         * modules/copy-file, modules/csharpcomp, modules/csharpexec:
66257         * modules/execute, modules/file-type, modules/getaddrinfo:
66258         * modules/getopt, modules/human, modules/javacomp:
66259         * modules/javaexec, modules/mkdir-p, modules/obstack:
66260         * modules/openat, modules/pagealign_alloc, modules/pipe:
66261         * modules/quotearg, modules/regex, modules/rpmatch:
66262         * modules/unicodeio, modules/userspec, modules/version-etc:
66263         * modules/wait-process, modules/xalloc-die, modules/xmemcoll:
66264         * modules/xsetenv:
66265         Depend on gettext-h, not gettext.
66266
66267 2005-07-05  Paul Eggert  <eggert@cs.ucla.edu>
66268
66269         * gnulib-tool (func_import): Add support for 'public domain' license.
66270         * modules/alloca, modules/atexit, modules/memmove:
66271         Now public domain, not GPL.
66272         * modules/dup2, modules/getpagesize, modules/malloc, modules/memset:
66273         * modules/realloc, modules/strerror, modules/strtod:
66274         Now LGPL, not GPL.
66275
66276 2005-07-05  Bruno Haible  <bruno@clisp.org>
66277
66278         * m4/mbrtowc.m4 (gl_FUNC_MBRTOWC): Upgrade to version from current
66279         autoconf CVS. Needed for mingw.
66280
66281 2005-07-03  Paul Eggert  <eggert@cs.ucla.edu>
66282
66283         Remove the dependency of the strftime module on the tzset module.
66284         * modules/strftime (Depends-on): Remove dependency on tzset.
66285
66286 2005-07-03  Paul Eggert  <eggert@cs.ucla.edu>
66287
66288         Remove the dependency of the strftime module on the tzset module.
66289         * m4/strftime.m4 (gl_FUNC_STRFTIME): Don't require
66290         gl_FUNC_TZSET_CLOBBER.
66291
66292 2005-07-03  Paul Eggert  <eggert@cs.ucla.edu>
66293
66294         Remove the dependency of the strftime module on the tzset module.
66295         * lib/strftime.c (my_strftime)
66296         [! defined _LIBC && ! HAVE_RUN_TZSET_TEST]:
66297         Copy the input structure, to work around some of the bug with
66298         Solaris 2.5.1 and Solaris 2.6.  If you still care about these old
66299         Solaris releases, you should also use the tzset module, but we won't
66300         require it as a dependency any more since we don't want LGPLed code
66301         to depend on GPLed code.
66302
66303 2005-07-02  Jim Meyering  <jim@meyering.net>
66304
66305         * m4/chown.m4, cloexec.m4, dup2.m4, fsusage.m4:
66306         * m4/getcwd-path-max.m4, getcwd.m4, mkstemp.m4, mountlist.m4:
66307         * m4/pagealign_alloc.m4, save-cwd.m4, unistd-safer.m4:
66308         Don't check for fcntl.h, and don't test for HAVE_FCNTL_H.
66309
66310 2005-07-02  Jim Meyering  <jim@meyering.net>
66311
66312         * lib/backupfile.c (backup_args): Change a `0' to NULL.
66313
66314 2005-07-01  Paul Eggert  <eggert@cs.ucla.edu>
66315
66316         * lib/xnanosleep.c: Include timespec.h, since OpenBSD 3.4 <time.h>
66317         declares only 'struct timespec;' (!).
66318
66319 2005-07-01  Jim Meyering  <jim@meyering.net>
66320
66321         * lib/chown.c, cloexec.c, dup-safer.c, dup2.c, fsusage.c, getcwd.c:
66322         * lib/getloadavg.c, mountlist.c, openat.h, pagealign_alloc.c:
66323         * lib/save-cwd.c, tempname.c:
66324         Assume HAVE_FCNTL_H (i.e., include <fcntl.h> unconditionally,
66325         and don't include <sys/file.h>).
66326
66327 2005-06-29  Jim Meyering  <jim@meyering.net>
66328
66329         * lib/mkdir-p.c (make_dir_parents): Don't apply sizeof to a hard-coded
66330         type name.  Use the variable name instead.
66331         * lib/idcache.c (getuser, getuidbyname, getgroup, getgidbyname):
66332         Likewise.
66333
66334 2005-06-28  Simon Josefsson  <jas@extundo.com>
66335
66336         * modules/check-version (Files): Add check-version.m4.
66337
66338 2005-06-28  Simon Josefsson  <jas@extundo.com>
66339
66340         * m4/check-version.m4: New file, suggested by Jim Meyering
66341         <jim@meyering.net>.
66342
66343 2005-06-28  Simon Josefsson  <jas@extundo.com>
66344
66345         * lib/check-version.h, lib/check-version.c: New files.
66346
66347 2005-06-28  Simon Josefsson  <jas@extundo.com>
66348
66349         * lib/base64.c (base64_encode): Indent.  Rename 'b64' to avoid
66350         collision with global variable.  Better indentation.  Don't
66351         increment buffer pointer beyond buffer end.  Based on comments
66352         from Paul Eggert <eggert@cs.ucla.edu>.
66353
66354         * lib/base64.h: Indent.
66355
66356 2005-06-28  Simon Josefsson  <jas@extundo.com>
66357
66358         * doc/gnulib.texi (Library version handling): New section.
66359
66360 2005-06-28  Jim Meyering  <jim@meyering.net>
66361
66362         * check-module (find_included_lib_files): Hard-code another
66363         pair of exceptions: fts.c includes fts-cycle.c and unistd-safer.h
66364         but modules/fts-lgpl (correctly) does not list those files.
66365
66366         * modules/canonicalize (Files): Add lib/pathmax.h.
66367
66368 2005-06-25  Simon Josefsson  <jas@extundo.com>
66369
66370         * modules/check-version: New file.
66371
66372 2005-06-24  Paul Eggert  <eggert@cs.ucla.edu>
66373
66374         * lib/canon-host.c (canon-host): Append trailing "," to 0 in
66375         initializer of struct addrinfo, as an indication that we don't
66376         care how many members the structure has.
66377
66378 2005-06-24  Derek Price  <derek@ximbiot.com>
66379         and Bruno Haible  <bruno@clisp.org>
66380
66381         Remove stat module & update lstat.
66382         * m4/lstat.m4 (gl_FUNC_LSTAT): Drop AC_FUNC_LSTAT in favor of
66383         AC_FUNC_LSTAT_FOLLOWS_SLASHED_SYMLINK.
66384         * m4/stat.m4: Remove this file.
66385
66386 2005-06-24  Derek Price  <derek@ximbiot.com>
66387         and Bruno Haible  <bruno@clisp.org>
66388
66389         Remove stat module & update lstat.
66390         * lib/stat.c: Remove this file...
66391         (slash_aware_lstat): ...moving this content and its support...
66392         * lib/lstat.c (rpl_lstat): ...into here.
66393         * lib/lstat.h: New file.
66394
66395 2005-06-24  Derek Price  <derek@ximbiot.com>
66396         and Bruno Haible  <bruno@clisp.org>
66397
66398         Remove stat module & update lstat.
66399         * config/srclist.txt (libc sources): Remove stat.
66400
66401 2005-06-24  Derek Price  <derek@ximbiot.com>
66402         and Bruno Haible  <bruno@clisp.org>
66403
66404         Remove stat module & update lstat.
66405         * MODULES.html.sh (stat): Remove.
66406         * MODULES.html: Regenerated.
66407         * modules/lstat (Description): Correct function name.
66408         (Files): Add "lstat.h".
66409         (Depends-on): Remove stat, add xalloc, stat-macros.
66410         * modules/stat: Remove this file.
66411         (Include): Add "lstat.h", remove <sys/stat.h>.
66412
66413 2005-06-23  Paul Eggert  <eggert@cs.ucla.edu>
66414
66415         * lib/mktime.c: Include <string.h> even if !DEBUG.  (From glibc.)
66416         (ranged_convert): Don't save conversion in a temporary struct.
66417         This causes a warning with GCC 4.0.0, and anyway in the typical
66418         case it's not worth the extra 100 bytes or so of code.
66419         (ranged_convert, __mktime_internal): When calling a function via a
66420         pointer P, use P () rather than (*P) (), as we now assume C89 or
66421         better.
66422
66423 2005-06-22  Paul Eggert  <eggert@cs.ucla.edu>
66424
66425         * lib/readutmp.c (desirable_utmp_entry): Fix bug where "who -b" and
66426         "who -r" failed to give output.  Problem reported by Tim Waugh.
66427
66428         * lib/xmalloc.c (HAVE_GNU_CALLOC): New constant.
66429         (xcalloc): Use it to avoid needless tests.
66430         Problem reported by Jim Meyering.
66431
66432 2005-06-20  Derek Price  <derek@ximbiot.com>
66433
66434         * m4/bison.m4: Note that precious decls of YACC & YFLAGS will be
66435         unnecessary for Autoconfs > 2.59c.
66436
66437 2005-06-16  Sergey Poznyakoff  <gray@Mirddin.farlep.net>
66438
66439         * lib/argp.h (__option_is_short): Check upper limit of
66440         __key. Isprint() requires its argument to have the value
66441         of an unsigned char or EOF.
66442
66443 2005-06-16  Jim Meyering  <jim@meyering.net>
66444
66445         * lib/calloc.c (rpl_calloc): Allocate a 1-byte buffer (not 1xS or Nx1)
66446         when either N or S is zero.
66447
66448 2005-06-16  Derek Price  <derek@ximbiot.com>
66449
66450         * m4/bison.m4: Declare YACC & YFLAGS precious.
66451
66452 2005-06-10  Paul Eggert  <eggert@cs.ucla.edu>
66453
66454         * lib/fnmatch.c (fnmatch): If there is an encoding error in a
66455         multibyte string or pattern, fall back on unibyte matching.
66456         Problem reported by James Youngman.
66457
66458 2005-06-08  Bruno Haible  <bruno@clisp.org>
66459
66460         * modules/csharpcomp: New file.
66461         * MODULES.html.sh (C#): Add csharpcomp.
66462
66463 2005-06-08  Bruno Haible  <bruno@clisp.org>
66464
66465         * m4/csharpcomp.m4: New file, from GNU gettext.
66466
66467 2005-06-08  Bruno Haible  <bruno@clisp.org>
66468
66469         * lib/csharpcomp.h: New file, from GNU gettext.
66470         * lib/csharpcomp.c: New file, from GNU gettext.
66471         * lib/csharpcomp.sh.in: New file, from GNU gettext.
66472
66473 2005-06-08  Bruno Haible  <bruno@clisp.org>
66474
66475         * lib/binary-io.h (fileno): Undefine before defining it. Avoids a gcc
66476         warning on mingw.
66477
66478 2005-06-07  Derek Price  <derek@ximbiot.com>
66479
66480         Sync from CVS.
66481         * lib/glob_.h: Indent nested #ifdef.
66482
66483 2005-06-02  Paul Eggert  <eggert@cs.ucla.edu>
66484
66485         Sync from coreutils.
66486         Use "file name" when talking about file names, instead of "filename"
66487         or "path", as per the GNU coding standards.
66488         * lib/mkdir-p.c: Renamed from makepath.c.
66489         (make_dir_parents): Renamed from make_path.  All callers changed.
66490         * lib/mkdir-p.h: Likewise.  All includers changed.
66491         * lib/filenamecat.c: Renamed from path-concat.c.
66492         (file_name_concat): Renamed from path_concat.  All callers changed.
66493         [TEST_FILE_NAME_CONCAT]: Renamed from TEST_PATH_CONCAT.
66494         * lib/filenamecat.h: Likewise.  All includers changed.
66495         * lib/acl.c: Don't use "path" or "filename" to mean "file name"
66496         in comments or local variable names.
66497         * lib/basename.c: Likewise.
66498         * lib/canonicalize.c, canonicalize.h: Likewise.
66499         * lib/dirname.c, dirname.h: Likewise.
66500         * lib/euidaccess.c: Likewise.
66501         * lib/exclude.c: Likewise
66502         * lib/fnmatch_.h, fnmatch_loop.c: Likewise.
66503         * lib/fsusage.c, fsuage.h: Likewise.
66504         * lib/fts.c, fts_.h: Likewise.
66505         * lib/getcwd.c: Likewise.
66506         * lib/getloadavg.c: Likewise.
66507         * lib/mkstemp.c: Likewise.
66508         * lib/mountlist.c, mountlist.h: Likewise.
66509         * lib/openat.c, openat.h: Likewise.
66510         * lib/readlink-stub.c: Likewise.
66511         * lib/readutmp.c, readutmp.h: Likewise.
66512         * lib/rename.c: Likewise.
66513         * lib/rmdir.c: Likewise.
66514         * lib/same.c: Likewise.
66515         * lib/savedir.c: Likewise.
66516         * lib/stripslash.c: Likewise.
66517         * lib/tempname.c: Likewise.
66518         * lib/xreadlink.c: Likewise.
66519         * lib/exclude.c (excluded_file_name): Renamed from excluded_filename.
66520         All uses changed.
66521         * lib/exclude.h: Likewise.
66522
66523         * lib/euidaccess.c (getuid, getgid, getuid, getegid)
66524         [!defined _POSIX_VERSION]: Remove decls; not needed these days.
66525         * lib/idcache.c (getpwuid, getpwnam, getgrgid, getgrnam)
66526         [!defined _POSIX_VERSION]: Remove decls; not needed these days.
66527         * lib/pathmax.h: Include <limits.h> unconditionally, since other
66528         files have been getting away with it for years (MORE/BSD 4.3
66529         is extinct now).
66530         * lib/userspec.c (getpwnam, getgrnam, getgrgid)
66531         [!defined _POSIX_VERSION]: Remove decls; not needed these days.
66532
66533         * lib/pathmax.h (_POSIX_PATH_MAX) [!defined _POSIX_PATH_MAX]:
66534         Define to 256, not 255, as per modern POSIX.
66535
66536 2005-06-02  Paul Eggert  <eggert@cs.ucla.edu>
66537
66538         Sync from coreutils.
66539         Use "file name" when talking about file names, instead of "filename"
66540         or "path", as per the GNU coding standards.
66541         * MODULES.html.sh: mkdir-p renamed from makepath.
66542         filenamecat renamed from path-concat.
66543         * modules/filenamecat: Renamed from modules/path-concat.
66544         (Files): filenamecat.h and filenamecat.c renamed from
66545         path-concat.h and path-concat.c.
66546         (configure.ac): gl_FILE_NAME_CONCAT, not gl_PATH_CONCAT.
66547         (Include): filenamecat.h, not path-concat.h.
66548         * modules/mkdir-p: Renamed from modules/makepath.
66549         (Files): mkdir-p.h and mkdir-p.c renamed from makepath.h and
66550         makepath.c.
66551         (configure.ac): gl_MKDIR_PARENTS, not gl_MAKEPATH.
66552         (Include): mkdir-p.h, not makepath.h.
66553
66554 2005-06-02  Paul Eggert  <eggert@cs.ucla.edu>
66555
66556         Sync from coreutils.
66557         * m4/mkdir-p.m4: Renamed from makepath.m4.
66558         (gl_MKDIR_PARENTS): Renamed from gl_MAKEPATH.  All uses changed.
66559         Rename files from makepath.c to mkdir-p.c, and from
66560         makepath.h to mkdir-p.h.
66561         * m4/filenamecat.m4: Renamed from path-concat.m4.
66562         (gl_FILE_NAME_CONCAT): Renamed from gl_PATH_CONCAT.  All uses changed.
66563         Rename files from path-concat.c to filenamecat.c,
66564         and from path-concat.h to filenamecat.h.
66565         * m4/getcwd-path-max.m4: Don't use "path" or "filename" to mean
66566         "file name" in local variables or comments.
66567         * m4/rename.m4: Likewise.
66568
66569 2005-06-01  Bruno Haible  <bruno@clisp.org>
66570
66571         * modules/csharpexec: New file.
66572         * MODULES.html.sh (C#): New section.
66573
66574 2005-06-01  Bruno Haible  <bruno@clisp.org>
66575
66576         * m4/csharp.m4: New file, from GNU gettext.
66577         * m4/csharpexec.m4: New file, from GNU gettext.
66578
66579 2005-06-01  Bruno Haible  <bruno@clisp.org>
66580
66581         * lib/csharpexec.h: New file, from GNU gettext.
66582         * lib/csharpexec.c: New file, from GNU gettext.
66583         * lib/csharpexec.sh.in: New file, from GNU gettext.
66584
66585 2005-05-31  Derek Price  <derek@ximbiot.com>
66586             Paul Eggert  <eggert@cs.ucla.edu>
66587
66588         Sync from cvs.
66589         * m4/glob.m4: s/MISSING_SYS_CDEFS_H/_SYS_CDEFS_H/ and comment.
66590
66591 2005-05-31  Derek Price  <derek@ximbiot.com>
66592             Paul Eggert  <eggert@cs.ucla.edu>
66593
66594         Sync from cvs.
66595         * lib/glob_.h: s/MISSING_SYS_CDEFS_H/_SYS_CDEFS_H/ and comment.
66596
66597 2005-05-29  Derek Price  <derek@ximbiot.com>
66598
66599         * config/srclist.txt (glob_.h, glob.c): Add these files.
66600
66601 2005-05-29  Derek Price  <derek@ximbiot.com>
66602
66603         * MODULES.html.sh: Add glob to Enhanced POSIX.2001 section.
66604         * modules/glob: New file.
66605         * modules/getlogin_r: Add link to POSIX spec in description.
66606
66607 2005-05-29  Derek Price  <derek@ximbiot.com>
66608             Paul Eggert  <eggert@cs.ucla.edu>
66609
66610         * m4/glob.m4: New file.
66611
66612 2005-05-29  Derek Price  <derek@ximbiot.com>
66613             Paul Eggert  <eggert@cs.ucla.edu>
66614
66615         * lib/glob_.h, lib/glob.c: New files.
66616
66617 2005-05-27  Paul Eggert  <eggert@cs.ucla.edu>
66618
66619         * modules/fts (Files): Remove m4/inttypes-pri.m4.
66620         * modules/fts-lgpl (Depends-on): Remove gettext.
66621
66622 2005-05-27  Paul Eggert  <eggert@cs.ucla.edu>
66623
66624         * m4/fts.m4 (gl_FUNC_FTS_CORE): Don't check for inttypes.h or stdint.h,
66625         and don't require gt_INTTYPES_PRI.
66626
66627 2005-05-27  Paul Eggert  <eggert@cs.ucla.edu>
66628
66629         * lib/getlogin_r.c (getlogin_r): Don't set errno to 0 on return.
66630
66631         * lib/fts.c: Don't worry about debugging on pre-C99-compatible hosts;
66632         the configuration hassle isn't worth it.
66633         Include inttypes.h and stdint.h unconditionally if FTS_DEBUG.
66634         (LONGEST_MODIFIER, PRIuMAX): Remove.
66635
66636 2005-05-27  Bruno Haible  <bruno@clisp.org>
66637
66638         * lib/getlogin_r.h: Remove second include of <stddef.h>.
66639
66640 2005-05-26  Paul Eggert  <eggert@cs.ucla.edu>
66641
66642         * m4/extensions.m4 (gl_USE_SYSTEM_EXTENSIONS): Define
66643         _POSIX_PTHREAD_SEMANTICS for Solaris.
66644
66645 2005-05-25  Derek Price  <derek@ximbiot.com>
66646
66647         * MODULES.html.sh: Add getlogin_r to POSIX.2001 support section.
66648
66649 2005-05-25  Derek Price  <derek@ximbiot.com>
66650             Paul Eggert  <eggert@cs.ucla.edu>
66651
66652         * modules/getlogin_r, m4/getlogin_r.m4: New files.
66653         * lib/getlogin_r.c, getlogin_r.h: New files.
66654
66655 2005-05-25  Bruno Haible  <bruno@clisp.org>
66656             Derek Price  <derek@ximbiot.com>
66657
66658         * lib/getlogin_r.h: Simplify API documentation.
66659
66660 2005-05-23  Derek Price  <derek@ximbiot.com>
66661
66662         * modules/minmax (Files): Add m4/minmax.m4.
66663         (configure.ac): Add gl_MINMAX.
66664
66665 2005-05-22  Paul Eggert  <eggert@cs.ucla.edu>
66666
66667         * lib/fts.c (fd_safer) [_LGPL_PACKAGE]: New static function,
66668         so that unistd-safer.h (GPL'ed code) need not be included.
66669
66670 2005-05-22  Bruno Haible  <bruno@clisp.org>
66671
66672         * m4/minmax.m4: New file.
66673         Based on a patch by Derek Price <derek@ximbiot.com>.
66674
66675 2005-05-22  Bruno Haible  <bruno@clisp.org>
66676
66677         * lib/stdint_.h (_STDINT_H_HAVE_INT64): New macro. Use it in #ifdefs.
66678         (INT64_MIN): Fix definition.
66679         Suggested by Paul Eggert <eggert@cs.ucla.edu>.
66680
66681         * lib/stdint_.h (_STDINT_H_NEED_SIGNED_INT_TYPES): Renamed from
66682         NEED_SIGNED_INT_TYPES.
66683
66684         * lib/stdint_.h (_STDINT_H_HAVE_SYSTEM_INTTYPES): Renamed from
66685         HAVE_SYSTEM_INTTYPES.
66686
66687 2005-05-22  Bruno Haible  <bruno@clisp.org>
66688
66689         * lib/minmax.h: Include <limits.h> only when it defines MIN, MAX.
66690         Also include <sys/param.h> if it defines MIN, MAX.
66691         Based on a patch by Derek Price <derek@ximbiot.com>.
66692
66693 2005-05-21  Jim Meyering  <jim@meyering.net>
66694
66695         * modules/fts (Files): Add m4/inttypes-pri.m4.
66696         (Depends-on): Add lstat and remove gettext.  Alphabetize.
66697
66698 2005-05-20  Paul Eggert  <eggert@cs.ucla.edu>
66699
66700         New fts module.
66701         * lib/fts.c: Don't include "cycle-check.h" or "hash.h".
66702         (setup_dir, free_dir): New functions.
66703         (enter_dir, leave_dir): Define trivial
66704         alternatives of _LGPL_PACKAGE.  Move to fts-cycle.c if !_LGPL_PACKAGE.
66705         (HT_INITIAL_SIZE, ENTER_DIR): Remove.  All uses removed.
66706         (LEAVE_DIR): Fix typo: pass Fts and Ent to leave_dir.
66707         (struct Active_dir, AD_compare, AD_hash, enter_dir, leave_dir):
66708         Move to fts-cycle.c.
66709         (fts_open): Use setup_dir.
66710         (fts_close): Use free_dir.
66711         (fts_read): Have just one copy of the ENTER_DIR code rather than three.
66712         This adds a label and some gotos, but the alternatives were messier.
66713         Check for memory allocation failure when entering a dir.
66714         (fts_stat) [_LGPL_PACKAGE]: Bring back glibc cycle detection code.
66715         * lib/fts_.h (_LGPL_PACKAGE) [defined _LIBC]: New macro.
66716         (FTS): New member fts_cycle, that is a union that contains the
66717         old active_dir_ht and cycle_state.  All uses changed to mention
66718         fts_cycle.ht and fts_cycle.state.
66719         * lib/fts-cycle.c: New file, containing GPL'ed code migrated out of
66720         fts.c, with the following changes:
66721         (setup_dir, free_dir): New functions.
66722         (enter_dir): Now returns bool.  Return true if successful, false
66723         if memory exhausted.  All callers changed.
66724         Do not bother partly cleaning up on
66725         memory allocation failure; that is free_dir's job.
66726         However, free ad if hash_insert fails, to avoid memory leak.
66727         (enter_dir, leave_dir): Accommodate change to FTS by inspecting
66728         fts->fts_options to see which union member to use.
66729
66730 2005-05-20  Paul Eggert  <eggert@cs.ucla.edu>
66731
66732         * m4/fts.m4 (gl_FUNC_FTS_CORE): Renamed from gl_FUNC_FTS.
66733         (gl_FUNC_FTS, gl_FUNC_FTS_LGPL): New macros.
66734
66735 2005-05-20  Paul Eggert  <eggert@cs.ucla.edu>
66736
66737         * MODULES.html.sh (File system functions): Add fts, fts-lgpl.
66738
66739 2005-05-20  Jim Meyering  <jim@meyering.net>
66740
66741         * lib/unlinkdir.h (cannot_unlink_dir) [UNLINK_CANNOT_UNLINK_DIR]:
66742         Now a macro, to pacify GCC.
66743
66744 2005-05-20  Eric Blake  <ebb9@byu.net>  (tiny change)
66745
66746         * m4/chown.m4 (gl_FUNC_CHOWN): Correct sense of test for honoring IDs
66747         of -1.
66748
66749 2005-05-20  Eric Blake  <ebb9@byu.net>  (tiny change)
66750
66751         * lib/chown.c (rpl_chown): Return -1 on failure.
66752
66753 2005-05-18  Paul Eggert  <eggert@cs.ucla.edu>
66754
66755         * m4/canonicalize.m4 (AC_FUNC_CANONICALIZE_FILE_NAME]):
66756         Don't check for stddef.h.
66757         * m4/fts.m4 (gl_FUNC_FTS): Don't require AC_HEADER_STDC, as we
66758         don't use its results.
66759         Don't check for fcntl.h, stddef.h, stdlib.h, string.h, unistd.h,
66760         since we include them unconditionally.  Don't require
66761         AM_STDBOOL_H, since stdbool is a prerequisite.
66762         Don't require AC_C_CONST, AC_TYPE_SIZE_T or check for ptrdiff_t
66763         since we assume C89 or better.
66764         Don't require AC_FUNC_CLOSEDIR_VOID, AC_FUNC_LSTAT, or AC_FUNC_STAT,
66765         as we don't use their results.
66766         Don't check for fchdir, memmove, memset, strrchr, as we use
66767         them unconditionally.
66768         * m4/gettimeofday.m4 (AC_FUNC_GETTIMEOFDAY_CLOBBER): Don't define
66769         GETTIMEOFDAY_CLOBBERS_LOCALTIME_BUFFER, since nobody uses it.
66770
66771 2005-05-18  Paul Eggert  <eggert@cs.ucla.edu>
66772
66773         * lib/canonicalize.c: Include canonicalize.h first, to test interface.
66774         Include <stddef.h> unconditionally, since we assume C89 now.
66775         All uses of PTR_INT_TYPE replaced by ptrdiff_t.
66776         * lib/fts.c: Include fts_.h first, to check interface.
66777         Do not include intprops.h; no longer needed.
66778         Include cycle-check.h and hash.h, since fts_.h no longer does.
66779         Remove unnecessary casts of closedir to void.
66780         (fts_build): Use a simpler method (not involving TYPE_SIGNED) to
66781         decide whether to decrement nlinks.
66782         * lib/fts_.h: Do not include hash.h or cycle-check.h; no longer needed.
66783         (FTS): Use struct hash_table * instead of Hash_table, so that
66784         we no longer need to include hash.h here.
66785
66786 2005-05-18  Jim Meyering  <jim@meyering.net>
66787
66788         * modules/dirfd (License): Change to LGPL.  Most of the code
66789         is already in the public domain.
66790
66791 2005-05-18  Jim Meyering  <jim@meyering.net>
66792
66793         * m4/fts.m4 (AC_LIBSOURCES): Add intprops.h to the list.
66794         Reported by Yoann Vandoorselaere.
66795
66796 2005-05-17  Jim Meyering  <jim@meyering.net>
66797
66798         * m4/fts.m4: New file, from coreutils.
66799
66800 2005-05-17  Jim Meyering  <jim@meyering.net>
66801
66802         * lib/fts.c, lib/fts_.h: New files, from coreutils.
66803
66804 2005-05-14  Paul Eggert  <eggert@cs.ucla.edu>
66805
66806         Sync from coreutils.
66807         * m4/unlinkdir.m4: New file.
66808
66809 2005-05-14  Paul Eggert  <eggert@cs.ucla.edu>
66810
66811         Sync from coreutils.
66812         * lib/unlinkdir.c, lib/unlinkdir.h: New files.
66813         * lib/gethrxtime.c, lib/gethrxtime.h, lib/getpass.h, lib/mountlist.h,
66814         lib/path-concat.c, lib/regex.h, lib/unlocked-io.h, lib/xtime.h:
66815         White space changes only.
66816         * lib/makepath.c (make_path): Port to hosts where leading "//" is
66817         special.
66818         * lib/yesno.c: Include getline.h, not ctype.h.
66819         (yesno): Don't remove leading white space; POSIX doesn't allow it.
66820         Use getline to remove arbitrary restriction on response length.
66821
66822 2005-05-14  Paul Eggert  <eggert@cs.ucla.edu>
66823
66824         * config/srclist-update: Spell out "Street" in FSF postal
66825         mail address; this is the style the FSF seems to prefer.
66826
66827         * build-aux/depcomp, build-aux/install-sh, build-aux/mdate-sh,
66828         build-aux/missing, build-aux/mkinstalldirs: Sync from Automake;
66829         this updates FSF postal mail address.
66830
66831         Sync from coreutils.
66832         * modules/unlinkdir: New file.
66833         * modules/yesno (Depends-on): Add getline.
66834         * MODULES.html.sh (File system functions): Add unlinkdir.
66835
66836 2005-05-13  Paul Eggert  <eggert@cs.ucla.edu>
66837
66838         * lib/byteswap_.h, lib/getsubopt.h, lib/iconvme.h, lib/strsep.c,
66839         lib/strsep.h:
66840         Change the initial comment to refer to GPL, not LGPL.
66841         gnulib-tool will change it to LGPL as needed.
66842
66843         * lib/__fpending.c, lib/acl.c, lib/acl.h, lib/alloca_.h, lib/allocsa.c,
66844         lib/allocsa.h, lib/argmatch.c, lib/argmatch.h, lib/argp-ba.c,
66845         lib/argp-eexst.c, lib/argp-fmtstream.c, lib/argp-fmtstream.h,
66846         lib/argp-fs-xinl.c, lib/argp-help.c, lib/argp-namefrob.h,
66847         lib/argp-parse.c, lib/argp-pv.c, lib/argp-pvh.c, lib/argp-xinl.c,
66848         lib/argp.h, lib/argz.c, lib/argz_.h, lib/asnprintf.c, lib/asprintf.c,
66849         lib/atanl.c, lib/backupfile.c, lib/backupfile.h, lib/base64.c,
66850         lib/base64.h, lib/basename.c, lib/binary-io.h, lib/byteswap_.h,
66851         lib/c-ctype.c, lib/c-ctype.h, lib/c-stack.c, lib/c-stack.h,
66852         lib/c-strtod.c, lib/calloc.c, lib/canon-host.c, lib/canonicalize.c,
66853         lib/canonicalize.h, lib/ceill.c, lib/chdir-long.c, lib/chdir-long.h,
66854         lib/chown.c, lib/classpath.c, lib/classpath.h, lib/cloexec.c,
66855         lib/closeout.c, lib/closeout.h, lib/concatpath.c, lib/config.charset,
66856         lib/copy-file.c, lib/copy-file.h, lib/cycle-check.c, lib/cycle-check.h,
66857         lib/diacrit.c, lib/diacrit.h, lib/dirfd.c, lib/dirfd.h, lib/dirname.c,
66858         lib/dirname.h, lib/dummy.c, lib/dup-safer.c, lib/dup2.c, lib/eealloc.h,
66859         lib/error.c, lib/error.h, lib/euidaccess.c, lib/exclude.c,
66860         lib/exclude.h, lib/execute.c, lib/execute.h, lib/exit.h,
66861         lib/exitfail.c, lib/exitfail.h, lib/expl.c, lib/fatal-signal.c,
66862         lib/fatal-signal.h, lib/fd-safer.c, lib/file-type.c, lib/file-type.h,
66863         lib/fileblocks.c, lib/filemode.c, lib/filemode.h, lib/findprog.c,
66864         lib/findprog.h, lib/floorl.c, lib/fnmatch.c, lib/fnmatch_.h,
66865         lib/fnmatch_loop.c, lib/fopen-safer.c, lib/free.c, lib/frexpl.c,
66866         lib/fsusage.c, lib/fsusage.h, lib/full-read.c, lib/full-read.h,
66867         lib/full-write.c, lib/full-write.h, lib/fwriteerror.c,
66868         lib/fwriteerror.h, lib/gai_strerror.c, lib/gcd.c, lib/gcd.h,
66869         lib/getaddrinfo.c, lib/getaddrinfo.h, lib/getcwd.c, lib/getcwd.h,
66870         lib/getdate.h, lib/getdate.y, lib/getdomainname.c, lib/getdomainname.h,
66871         lib/getgroups.c, lib/gethostname.c, lib/gethrxtime.c, lib/gethrxtime.h,
66872         lib/getline.c, lib/getline.h, lib/getloadavg.c, lib/getndelim2.c,
66873         lib/getndelim2.h, lib/getnline.c, lib/getnline.h, lib/getopt.c,
66874         lib/getopt1.c, lib/getopt_.h, lib/getopt_int.h, lib/getpagesize.h,
66875         lib/getpass.c, lib/getpass.h, lib/getsubopt.c, lib/getsubopt.h,
66876         lib/gettext.h, lib/gettime.c, lib/gettimeofday.c, lib/getugroups.c,
66877         lib/getusershell.c, lib/group-member.c, lib/group-member.h,
66878         lib/hard-locale.c, lib/hard-locale.h, lib/hash-pjw.c, lib/hash-pjw.h,
66879         lib/hash.c, lib/hash.h, lib/human.c, lib/human.h, lib/iconvme.c,
66880         lib/iconvme.h, lib/idcache.c, lib/inet_ntop.h, lib/intprops.h,
66881         lib/inttostr.c, lib/inttostr.h, lib/isdir.c, lib/javacomp.c,
66882         lib/javacomp.h, lib/javacomp.sh.in, lib/javaexec.c, lib/javaexec.h,
66883         lib/javaexec.sh.in, lib/lbrkprop.h, lib/lchown.c, lib/ldexpl.c,
66884         lib/linebreak.c, lib/linebreak.h, lib/linebuffer.c, lib/linebuffer.h,
66885         lib/localcharset.c, lib/localcharset.h, lib/logl.c, lib/long-options.c,
66886         lib/long-options.h, lib/lstat.c, lib/makepath.c, lib/makepath.h,
66887         lib/malloc.c, lib/mathl.h, lib/mbswidth.c, lib/mbswidth.h, lib/md5.c,
66888         lib/md5.h, lib/memcasecmp.c, lib/memcasecmp.h, lib/memchr.c,
66889         lib/memcmp.c, lib/memcoll.c, lib/memcoll.h, lib/memcpy.c, lib/memmem.c,
66890         lib/memmem.h, lib/mempcpy.c, lib/mempcpy.h, lib/memrchr.c,
66891         lib/memrchr.h, lib/memset.c, lib/minmax.h, lib/mkdir.c, lib/mkdtemp.c,
66892         lib/mkdtemp.h, lib/mkstemp.c, lib/mktime.c, lib/modechange.c,
66893         lib/modechange.h, lib/mountlist.c, lib/mountlist.h, lib/nanosleep.c,
66894         lib/obstack.c, lib/obstack.h, lib/openat.c, lib/openat.h,
66895         lib/pagealign_alloc.c, lib/pagealign_alloc.h, lib/path-concat.c,
66896         lib/path-concat.h, lib/pathmax.h, lib/pathname.h, lib/physmem.c,
66897         lib/physmem.h, lib/pipe.c, lib/pipe.h, lib/poll.c, lib/poll_.h,
66898         lib/posixtm.c, lib/posixtm.h, lib/posixver.c, lib/printf-args.c,
66899         lib/printf-args.h, lib/printf-parse.c, lib/printf-parse.h,
66900         lib/progname.c, lib/progname.h, lib/progreloc.c, lib/putenv.c,
66901         lib/quote.c, lib/quote.h, lib/quotearg.c, lib/quotearg.h, lib/raise.c,
66902         lib/readlink.c, lib/readtokens.c, lib/readtokens.h, lib/readtokens0.c,
66903         lib/readtokens0.h, lib/readutmp.c, lib/readutmp.h, lib/realloc.c,
66904         lib/ref-add.sin, lib/ref-del.sin, lib/regex.c, lib/regex.h,
66905         lib/rename.c, lib/rmdir.c, lib/rpmatch.c, lib/safe-read.c,
66906         lib/safe-read.h, lib/safe-write.c, lib/safe-write.h, lib/same.c,
66907         lib/same.h, lib/save-cwd.c, lib/save-cwd.h, lib/savedir.c,
66908         lib/savedir.h, lib/setenv.c, lib/setenv.h, lib/settime.c,
66909         lib/sh-quote.c, lib/sh-quote.h, lib/sha1.c, lib/sha1.h, lib/sig2str.c,
66910         lib/sig2str.h, lib/sincosl.c, lib/snprintf.c, lib/snprintf.h,
66911         lib/sqrtl.c, lib/stat-macros.h, lib/stat.c, lib/stdbool_.h,
66912         lib/stdint_.h, lib/stdio-safer.h, lib/stpcpy.c, lib/stpcpy.h,
66913         lib/stpncpy.c, lib/stpncpy.h, lib/strcase.h, lib/strcasecmp.c,
66914         lib/strchrnul.c, lib/strchrnul.h, lib/strcspn.c, lib/strdup.c,
66915         lib/strdup.h, lib/strerror.c, lib/strftime.c, lib/strftime.h,
66916         lib/stripslash.c, lib/strndup.c, lib/strndup.h, lib/strnlen.c,
66917         lib/strpbrk.c, lib/strpbrk.h, lib/strsep.c, lib/strsep.h, lib/strstr.c,
66918         lib/strstr.h, lib/strtod.c, lib/strtoimax.c, lib/strtok_r.c,
66919         lib/strtok_r.h, lib/strtol.c, lib/strtoll.c, lib/strtoul.c,
66920         lib/strtoull.c, lib/strverscmp.c, lib/strverscmp.h, lib/sysexit_.h,
66921         lib/tempname.c, lib/time_r.c, lib/time_r.h, lib/timegm.c, lib/timegm.h,
66922         lib/timespec.h, lib/trigl.c, lib/trigl.h, lib/ucs4-utf16.h,
66923         lib/ucs4-utf8.h, lib/unicodeio.c, lib/unicodeio.h, lib/unistd-safer.h,
66924         lib/unlocked-io.h, lib/unsetenv.c, lib/userspec.c, lib/utf16-ucs4.h,
66925         lib/utf8-ucs4.h, lib/utime.c, lib/utimecmp.c, lib/utimecmp.h,
66926         lib/utimens.c, lib/vasnprintf.c, lib/vasnprintf.h, lib/vasprintf.c,
66927         lib/vasprintf.h, lib/version-etc-fsf.c, lib/version-etc.c,
66928         lib/version-etc.h, lib/vsnprintf.c, lib/vsnprintf.h, lib/w32spawn.h,
66929         lib/wait-process.c, lib/wait-process.h, lib/xalloc-die.c, lib/xalloc.h,
66930         lib/xallocsa.c, lib/xallocsa.h, lib/xasprintf.c, lib/xgetcwd.c,
66931         lib/xgetcwd.h, lib/xgetdomainname.c, lib/xgetdomainname.h,
66932         lib/xgethostname.c, lib/xmalloc.c, lib/xmemcoll.c, lib/xnanosleep.c,
66933         lib/xreadlink.c, lib/xreadlink.h, lib/xsetenv.c, lib/xsetenv.h,
66934         lib/xsize.h, lib/xstrndup.c, lib/xstrndup.h, lib/xstrtod.c,
66935         lib/xstrtod.h, lib/xstrtoimax.c, lib/xstrtol.c, lib/xstrtol.h,
66936         lib/xstrtoumax.c, lib/xtime.h, lib/xvasprintf.c, lib/xvasprintf.h,
66937         lib/yesno.c, lib/yesno.h:
66938         Update FSF postal mail address.
66939
66940 2005-05-13  Paul Eggert  <eggert@cs.ucla.edu>
66941
66942         * MODULES.html.sh, README, gnulib-tool, tests/test-base64.c,
66943         tests/test-memmem.c, tests/test-stpncpy.c:
66944         Update FSF postal mail address.
66945
66946 2005-05-13  Bruno Haible  <bruno@clisp.org>
66947
66948         * lib/stdint_.h (int64_t, uint64_t, int_least64_t, uint_least64_t,
66949         int_fast64_t, uint_fast64_t, intmax_t, uintmax_t, INT64_MIN, INT64_MAX,
66950         UINT64_MAX, INT_LEAST64_MIN, INT_LEAST64_MAX, UINT_LEAST64_MAX,
66951         INT_FAST64_MIN, INT_FAST64_MAX, UINT_FAST64_MAX, INTMAX_MIN,
66952         INTMAX_MAX, UINTMAX_MAX, INT64_C, UINT64_C, INTMAX_C, UINTMAX_C):
66953         Add support for 64-bit integers in the MSVC compiler.
66954
66955 2005-05-12  Sergey Poznyakoff  <gray@Mirddin.farlep.net>
66956
66957         * modules/getdate (Makefile.am): Add getdate.c to EXTRA_DIST
66958
66959 2005-05-12  Eric Blake  <ebb9@byu.net>  (tiny change)
66960
66961         * gnulib-tool (func_import): Sort and uniquify recommended includes.
66962
66963 2005-05-11  Paul Eggert  <eggert@cs.ucla.edu>
66964
66965         * doc/getdate.texi (General date syntax): Don't say that date
66966         date --iso-8601=ns generates acceptable dates; it doesn't yet.
66967         Problem reported by Nic Ferrier.
66968
66969 2005-05-10  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
66970
66971         * lib/getaddrinfo.c: Don't fail when SOCK_STREAM or SOCK_DGRAM are
66972         specified in ai_socktype. Fix invalid ai_protocol
66973         check. ai_protocol is usually set to 0 or depending on
66974         ai_family/ai_socktype to IPPROTO_TCP / IPPROTO_UDP.  Checking for
66975         SOCK_STREAM / SOCK_DGRAM in ai_protocol was invalid.  Set
66976         ai_socktype / ai_protocol in the returned addrinfo structure.
66977
66978 2005-05-10  Simon Josefsson  <jas@extundo.com>
66979
66980         * m4/getaddrinfo.m4: Look in libnsl/libsocket for getaddrinfo, from
66981         Yoann Vandoorselaere <yoann.v@prelude-ids.com>.
66982
66983 2005-05-10  Karl Berry  <karl@gnu.org>
66984
66985         * doc/fdl.texi, gpl.texi, lgpl.texi, COPYING: update FSF address
66986         (from http://www.gnu.org/licenses).
66987         * doc/COPYING.LIB: also rename to COPYING.LESSER.
66988         * doc/COPYING.DOC: remove; per rms, only needed in doc files, so
66989         fdl.texi suffices.
66990
66991 2005-05-10  Karl Berry  <karl@gnu.org>
66992
66993         * config/srclist.txt (COPYING.LESSER): rename from COPYING.LIB.
66994         (COPYING.DOC): remove.
66995
66996         * config/srclist-update: new FSF address.
66997
66998 2005-05-10  Derek Price  <derek@ximbiot.com>
66999
67000         * m4/getopt.m4 (gl_GETOPT): Check for Solaris 10 bug, not decl, when
67001         possible.
67002
67003 2005-05-09  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
67004             Bruno Haible  <bruno@clisp.org>
67005
67006         * modules/inet_ntop: New file.
67007         * MODULES.html.sh (Support for systems lacking POSIX:2001): Add
67008         inet_ntop.
67009
67010 2005-05-09  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
67011             Bruno Haible  <bruno@clisp.org>
67012
67013         * m4/inet_ntop.m4: New file.
67014
67015 2005-05-09  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
67016             Bruno Haible  <bruno@clisp.org>
67017
67018         * lib/inet_ntop.h: New file.
67019         * lib/inet_ntop.c: New file, from glibc with modifications.
67020
67021 2005-05-09  Paul Eggert  <eggert@cs.ucla.edu>
67022
67023         * modules/time_r (License): Change to LGPL.
67024         * modules/extensions (License): Change to LGPL.  Actually,
67025         the license is more permissive than that, but currently gnulib-tool
67026         doesn't know how to handle more-permissive licenses.
67027
67028         * modules/stat-macros (Depends-on): Don't depend on stat-macros (!).
67029         Problem reported by Dave Love.
67030
67031 2005-05-08  Jim Meyering  <jim@meyering.net>
67032
67033         * lib/classpath.c (PATH_SEPARATOR): Remove insignificant trailing
67034         blank.
67035
67036 2005-05-06  Paul Eggert  <eggert@cs.ucla.edu>
67037
67038         * modules/argmatch (Depends-on): Add stdbool.
67039         * modules/backupfile (Depends-on): Likewise.
67040         * modules/chdir-long (Depends-on): Likewise.
67041         * modules/closeout (Depends-on): Likewise.
67042         * modules/cycle-check (Depends-on): Likewise.
67043         * modules/dirname (Depends-on): Likewise.
67044         * modules/fnmatch (Depends-on): Likewise.
67045         * modules/fsusage (Depends-on): Likewise.
67046         * modules/fwriteerror (Depends-on): Likewise.
67047         * modules/getcwd (Depends-on): Likewise.
67048         * modules/getloadavg (Depends-on): Likewise.
67049         * modules/hard-locale (Depends-on): Likewise.
67050         * modules/makepath (Depends-on): Likewise.
67051         * modules/mountlist (Depends-on): Likewise.
67052         * modules/nanosleep (Depends-on): Likewise.
67053         * modules/posixtm (Depends-on): Likewise.
67054         * modules/quotearg (Depends-on): Likewise.
67055         * modules/readtokens (Depends-on): Likewise.
67056         * modules/readtokens0 (Depends-on): Likewise.
67057         * modules/readutmp (Depends-on): Likewise.
67058         * modules/save-cwd (Depends-on): Likewise.
67059         * modules/strftime (Depends-on): Likewise.
67060         * modules/userspec (Depends-on): Likewise.
67061         * modules/utimecmp (Depends-on): Likewise.
67062         * modules/xgetcwd (Depends-on): Likewise.
67063         * modules/xnanosleep (Depends-on): Likewise.
67064         * modules/xstrtod (Depends-on): Likewise.
67065         * modules/yesno (Depends-on): Likewise.
67066
67067 2005-05-05  Paul Eggert  <eggert@cs.ucla.edu>
67068
67069         * m4/getopt.m4 (gl_GETOPT): Check for Solaris 10 getopt, and avoid
67070         needless checks.
67071
67072 2005-05-01  Paul Eggert  <eggert@cs.ucla.edu>
67073
67074         Merge from coreutils.  Among other things,
67075         add bulletproofing for cases where stdin, stdout, or stderr are closed.
67076         * lib/fd-safer.c: New file.
67077         * lib/fcntl-safer.h, open-safer.c: Remove.
67078         * lib/chdir-long.c: Fix comment "fetish" -> "coreutils".
67079         * lib/dup-safer.c: Include unistd-safer.h first.
67080         Don't include errno.h.
67081         (dup_safer) [!defined F_DUPFD]: Let fd_safer do the real work.
67082         * lib/file-type.h: Don't assume invoker included sys/stat.h first.
67083         * lib/file-type.c: Rely on file-type.h change.
67084         * lib/getloadavg.c: Include unistd-safer.h.
67085         (getloadavg): Use safer open.
67086         * lib/getusershell.c: Include "stdio-safer.h".
67087         (getusershell): Use safer fopen.
67088         * lib/long-options.c (long_options): Use NULL rather than 0.
67089         * lib/modechange.h (mode_free): Remove; all callers changed to invoke
67090         'free'.
67091         * lib/modechange.c: Likewise.
67092         xstrtol.h, stdbool.h, stddef.h: Don't include; no longer needed.
67093         (MODE_DONE): New constant.
67094         (struct mode_change): Remove 'next' member.
67095         (make_node_op_equals): New function; like the old one of the
67096         same name, except it allocates an array.
67097         (mode_compile, mode_create_from_ref): Use it.
67098         (mode_compile): Allocate result as an array, not a linked list.
67099         Parse octal string ourself, so that we catch mistakes like "+0".
67100         (mode_adjust): Arg is an array, not a linked list.
67101         * lib/modechange.c: Include stat-macros.h, xalloc.h.
67102         (S_ISDIR, S_ISUID, S_ISGID, S_ISVTX, S_IRUSR, S_IWUSR, S_IXUSR):
67103         (S_IRGRP, S_IWGRP, S_IXGRP, S_IROTH, S_IWOTH, S_IXOTH, S_IRXWU):
67104         (S_IRWXG, S_IRWXO, CHMOD_MODE_BITS):
67105         Remove.  This is now stat-macros.h's job.
67106         (talloc): Remove.  All callers replaced by xalloc, so that
67107         our invokers don't have to worry about reporting memory failures.
67108         (make_node_op_equals): Remove.
67109         (MODE_ORDINARY_CHAGE, MODE_X_IF_ANY_X, MODE_COPY_EXISTING):
67110         New constants.
67111         (struct mode_change): Moved here from modechange.h.
67112         (mode_append_entry): Remove.
67113         (mode_compile): Remove MASKED_OPS arg, since it encouraged
67114         apps to have incorrect behavior.  Use simpler algorithm for head
67115         and tail.  Don't futz with umask; that's now the job of mode_adjust.
67116         Detect more invalid usages rather than having somewhat-random behavior.
67117         Don't insert an "a=" action, as that leads to incorrect behavior.
67118         (mode_compile, mode_create_from_ref): Return NULL on error instead
67119         of an enum, since now there's only one way to have an error.  All
67120         callers changed.
67121         (mode_adjust): Accept new arg UMASK_VALUE, and interpret it
67122         at the correct time.  Simplify calculation of "+u" and its ilk.
67123         Don't mishandle "+X".
67124         (mode_free): Remove "register" and localize decls.
67125         * lib/modechange.h (MODE_X_IF_ANY_X, MODE_COPY_EXISTING):
67126         (struct mode_change): Move to modechange.c; callers don't
67127         need to see this stuff.
67128         (MODE_MASK_EQUALS, MODE_MASK_PLUS, MODE_MASK_MINUS, MODE_MASK_ALL):
67129         (MODE_INVALID, MODE_MEMORY_EXHAUSTED, MODE_BAD_REFERENCE): Remove.
67130         (mode_change, mode_adjust): Reflect the new signatures noted above.
67131         * lib/nanosleep.c (rpl_nanosleep): Include "timespec.h" before macros
67132         that might redefine system include files.
67133         (siginterrupt) [!HAVE_SIGINTERRUPT]: New macro.
67134         (my_usleep): Use NULL rather than (void *) 0.
67135         (rpl_nanosleep) [!defined SA_NOCLDSTOP]:
67136         Use siginterrupt to specify that system calls should be interrupted.
67137         (rpl_nanosleep): Move initialization of suspended closer to call of
67138         my_usleep.
67139         * lib/readutmp.h (read_utmp): New arg OPTIONS.  All uses changed.
67140         * lib/readutmp.c: Likewise.  Include signal.h, stdbool.h.
67141         (desirable_utmp_entry): New function.
67142         (read_utmp) [defined UTMP_NAME_FUNCTION]: Redo memory allocation
67143         using x2nrealloc, to simplify logic.
67144         (read_utmp) [!defined UTMP_NAME_FUNCTION]: Check for overflow in
67145         size calculation.  Do not assume utmp file is a regular file.
67146         * lib/readutmp.h (UT_PID): Moved here from ../src/who.c.
67147         (READ_UTMP_CHECK_PIDS): New constant.
67148         * lib/save-cwd.c: Include unistd-safer.h.
67149         (save_cwd): Use fd_safer.
67150         * lib/tempname.c (S_ISDIR, S_IRUSR, S_IRUSR, S_IWUSR, S_IXUSR): Remove.
67151         [!_LIBC] Include "stat-macros.h" instead.
67152         * lib/unistd-safer.h (fd_safer): New decl.
67153
67154 2005-05-01  Paul Eggert  <eggert@cs.ucla.edu>
67155
67156         * modules/getloadavg (Depends-on): Add unistd-safer.
67157         * modules/getusershell (Depends-on): Add stdio-safer.
67158         * modules/lstat (Depends-on): Remove xalloc.
67159         * modules/mkstemp (Depends-on): Add stat-macros.
67160         * modules/modechange (Depends-on): Remove xstrtol.
67161         Add stat-macros, xalloc.
67162         * modules/save-cwd (Depends-on): Add unistd-safer.
67163         * modules/stdio-safer (Makefile.am): Remove lib_SOURCES.
67164         * modules/unistd-safer (Files): Add lib/fd-safer.c
67165         (Makefile.am): Remove lib_SOURCES.
67166
67167         * MODULES.html.sh (Enhancements for POSIX:2001 functions):
67168         Remove fcntl-safer; unistd-safer supersedes it.
67169
67170 2005-05-01  Paul Eggert  <eggert@cs.ucla.edu>
67171
67172         * m4/euidaccess.m4 (gl_PREREQ_EUIDACCESS): Don't require
67173         AC_HEADER_STAT.
67174         * m4/lchown.m4 (gl_FUNC_CHOWN): Likewise.
67175         (gl_PREREQ_CHOWN): Remove.
67176         * m4/lstat.m4 (gl_FUNC_LSTAT): Require AC_FUNC_LSTAT instead of calling
67177         it.  Don't require AC_HEADER_STAT.
67178         (gl_PREREQ_LSTAT): Remove.
67179         * m4/mkstemp.m4 (gl_PREREQ_TEMPNAME): Check stdint.h only once.
67180         Don't require AC_HEADER_STAT.
67181         * m4/rmdir.m4 (gl_FUNC_RMDIR): Don't require AC_HEADER_STAT.
67182         (gl_PREREQ_RMDIR): Remove.
67183         * m4/canonicalize.m4 (AC_FUNC_CANONICALIZE_FILE_NAME): Don't
67184         mention stat-macros.h or AC_HEADER_STAT, since we'll make
67185         the stat-macros module a prerequisite.
67186         * m4/file-type.m4 (gl_FILE_TYPE): Likewise.
67187         * m4/filemode.m4 (gl_FILEMODE): Likewise.
67188         * m4/makepath.m4 (gl_MAKEPATH): Likewise.
67189         * m4/modechange.m4 (gl_MODECHANGE): Likewise.
67190         * m4/clock_time.m4 (gl_CLOCK_TIME): Use gl_ rather than fetish_ for
67191         variable names.
67192         * m4/rmdir-errno.m4 (gl_FUNC_RMDIR_NOTEMPTY): Renamed from
67193         fetish_FUNC_RMDIR_NOTEMPTY.  All uses changed.  Use gl_ for
67194         variable prefixes.
67195         * m4/fcntl-safer.m4: Remove.
67196         * m4/stdio-safer.m4 (gl_STDIO_SAFER): Use AC_LIBSOURCES and AC_LIBOBJ.
67197         * m4/unistd-safer.m4 (gl_UNISTD_SAFER): Likewise.
67198         Invoke gl_PREREQ_FD_SAFER.
67199         (gl_PREREQ_FD_SAFER): New macro.
67200         * m4/nanosleep.m4 (gl_PREREQ_NANOSLEEP): Check for siginterrupt.
67201         * m4/readutmp.m4 (gl_READUTMP): Require AC_C_INLINE.
67202         Use AC_CHECK_HEADERS_ONCE and AC_CHECK_FUNCS_ONCE when possible.
67203         Remove duplicate call to AC_LIBOBJ(readutmp).
67204         (gl_PREREQ_READUTMP): Remove.  All uses inlined.
67205
67206         * m4/mmap-anon.m4 (gl_FUNC_MMAP_ANON): Check for message, not for
67207         MAP_ANON.  Problem reported by Moriyoshi Koizumi to bug-cvs.
67208
67209 2005-05-01  Paul Eggert  <eggert@cs.ucla.edu>
67210
67211         * MODULES.html.sh (Misc): Add byteswap.
67212
67213 2005-05-01  Oskar Liljeblad  <oskar@osk.mine.nu>
67214
67215         * modules/getcwd (Depends-on): Add extensions.
67216         * modules/openat (Depends-on): Likewise.
67217
67218 2005-05-01  Oskar Liljeblad  <oskar@osk.mine.nu>
67219
67220         * modules/byteswap: New file.
67221
67222 2005-05-01  Oskar Liljeblad  <oskar@osk.mine.nu>
67223
67224         * m4/byteswap.m4: New file.
67225
67226 2005-05-01  Oskar Liljeblad  <oskar@osk.mine.nu>
67227
67228         * lib/byteswap_.h: New file.
67229
67230 2005-04-25  Karl Berry  <karl@gnu.org>
67231
67232         * m4/gettext.m4: Update from GNU gettext 0.14.4.
67233
67234 2005-04-25  Albert Chin  <china@thewrittenword.com>
67235
67236         * lib/regex.c: Include <stdio.h>, as a workaround to a Compaq Desktop
67237         Toolkit C bug.
67238
67239 2005-04-21  Oskar Liljeblad  <oskar@osk.mine.nu>
67240
67241         * gnulib-tool (Options): Add -s for --symlink/--symbolic.
67242         (func_ln_if_changed) Remove forcibly for no error message
67243         in case file does not exist.
67244
67245 2005-04-19  Simon Josefsson  <jas@extundo.com>
67246
67247         * gnulib-tool (Options): Make --symlink mean --symbolic.
67248
67249 2005-04-18  Oskar Liljeblad  <oskar@osk.mine.nu>
67250
67251         * doc/gnulib.texi (Initial import): Fix.  Mention --aux-dir.
67252
67253 2005-04-16  Simon Josefsson  <jas@extundo.com>
67254
67255         * modules/getpass-gnu (Makefile.am): Don't mention getpass.h.
67256
67257 2005-04-15  Simon Josefsson  <jas@extundo.com>
67258
67259         * m4/getpass.m4 (gl_FUNC_GETPASS): Use AC_LIBSOURCES.
67260
67261 2005-04-15  Simon Josefsson  <jas@extundo.com>
67262
67263         * gnulib-tool: Rename --symlink to --symbolic.
67264
67265 2005-04-15  Oskar Liljeblad  <oskar@osk.mine.nu>
67266
67267         * gnulib-tool: Add -s, --symlink option to gnulib-tool to make
67268         symbolic links to files instead of copying/moving.  Add --aux-dir,
67269         specifying directory relative --dir where auxiliary build tools
67270         are placed.
67271
67272 2005-04-14  Bruno Haible  <bruno@clisp.org>
67273
67274         * modules/allocsa (License): Change to LGPL.
67275         Requested by Yoann Vandoorselaere <yoann@prelude-ids.org>.
67276
67277 2005-04-13  Paul Eggert  <eggert@cs.ucla.edu>
67278
67279         * lib/getdate.y (zone): Allow relunit_snumber after tZONE, so
67280         that "UTC +1 second" continues to work.  Problem reported
67281         by Dmitry V. Levin.
67282         (relunit_snumber): New rule.
67283         (relunit): Use it.
67284
67285 2005-04-12  Paul Eggert  <eggert@cs.ucla.edu>
67286
67287         * lib/getdate.y (universal_time_zone_table): New constant.
67288         (time_zone_table): Remove GMT, UT, UTC entries; they're now in
67289         universal_time_zone_table.
67290         (lookup_zone): Prefer universal_time_zone_table to
67291         local_time_zone_table, so that "GMT" time stamps are allowed in
67292         London during the summer.  Problem reported by Ian Abbott.
67293
67294 2005-04-12  Jim Meyering  <jim@meyering.net>
67295
67296         * lib/human.c (humblock): Set *options even when returning due to
67297         xstrtoumax conversion failure.  Thanks to a used-uninitialized
67298         warning from gcc-4.
67299
67300 2005-04-09  Jim Meyering  <jim@meyering.net>
67301
67302         * lib/posixtm.c (posixtime) [lint]: Avoid spurious warning from gcc-4's
67303         -Wuninitialized: initialize tm0.tm_year.
67304
67305 2005-04-04  Paul Eggert  <eggert@cs.ucla.edu>
67306
67307         * lib/getdate.y (parser_control): rels_seen is now a boolean, not a
67308         count, since there's no maximum.  All uses changed.
67309         Add member dsts_seen.
67310         (local_zone): Accumulate dsts_seen rather than relying on tm_isdst
67311         not being INT_MAX.
67312         (get_date): Initialize dsts_seen, and check that it doesn't go over 1.
67313         Use pc_rels_seen to decide whther a date is absolute.
67314
67315         * lib/getdate.y (number): Don't overwrite year.
67316         (get_date): Initialize pc.year.digits to 0, not 4, to enable above
67317         check.
67318
67319 2005-04-02  Simon Josefsson  <jas@extundo.com>
67320
67321         * lib/getaddrinfo.h: Fix OpenBSD compilation failure, inspired by tiny
67322         patch from Yoann Vandoorselaere <yoann@prelude-ids.org>.
67323
67324 2005-03-28  Eric Blake  <ebb9@byu.net>  (tiny change)
67325
67326         * m4/getcwd-path-max.m4: Return success on systems such as Cygwin
67327         where no absolute path name can be longer than PATH_MAX.
67328
67329 2005-03-27  Jim Meyering  <jim@meyering.net>
67330
67331         * lib/argmatch.c: Clarify comment: null-terminated -> NULL-terminated.
67332
67333 2005-03-26  Paul Eggert  <eggert@cs.ucla.edu>
67334
67335         * lib/intprops.h (INT_STRLEN_BOUND, INT_BUFSIZE_BOUND):
67336         "one's complement" -> "ones' complement" in comment, as per Knuth.
67337         "value of type" -> "type or expression" in comment.
67338         * lib/mktime.c, strftime.c: Propagate intprops.h comment nits.
67339
67340 2005-03-26  Jim Meyering  <jim@meyering.net>
67341
67342         Comment nits.
67343         * lib/intprops.h: Add the apostrophe in `(one|two)'s complement'.
67344         Correct typos: s/or/of/.
67345
67346 2005-03-26  Jim Meyering  <jim@meyering.net>
67347
67348         * modules/check-include-files: Move to ../ and rename to...
67349         * check-module: ...this.
67350
67351 2005-03-25  Jim Meyering  <jim@meyering.net>
67352
67353         * modules/xvasprintf (Files): Add xalloc.h.
67354
67355 2005-03-23  Paul Eggert  <eggert@cs.ucla.edu>
67356
67357         * modules/gettext (Files): config/config.rpath ->
67358         build-aux/config.rpath
67359         * modules/iconv (Files): Likewise.
67360         Problem reported by Oskar Liljeblad.
67361
67362 2005-03-23  Jim Meyering  <jim@meyering.net>
67363
67364         * modules/check-include-files: New script to check for
67365         missing dependencies, multiple includes, etc.
67366
67367         * modules/c-strtold (Depends-on): Add xalloc.
67368         * modules/c-strtod (Depends-on): Add xalloc.
67369         * modules/hash (Depends-on): Add xalloc.
67370         (Files): Remove lib/xalloc.h.
67371
67372         * modules/gethrxtime (Files): Add lib/gethrxtime.h.
67373         * modules/userspec (Files): Add lib/inttostr.h.
67374
67375 2005-03-23  Jim Meyering  <jim@meyering.net>
67376
67377         * lib/canonicalize.c: Remove duplicate `#include "stat-macros.h"'.
67378
67379 2005-03-22  Jim Meyering  <jim@meyering.net>
67380
67381         * modules/stat-macros: New module.
67382         * modules/canonicalize, modules/euidaccess, modules/file-type,
67383         * modules/filemode, modules/lchown, modules/makepath,
67384         * modules/rmdir, modules/stat: Depend on new stat-macros module
67385         rather than listing lib/stat-macros.h manually.
67386         Don't add stat-macros.h to lib_SOURCES or list it in Files: section.
67387
67388 2005-03-22  Jim Meyering  <jim@meyering.net>
67389
67390         * m4/stat-macros.m4 (gl_STAT_MACROS): New file/macro.
67391
67392 2005-03-22  Bruno Haible  <bruno@clisp.org>
67393
67394         * config/srclist.txt: Replace target directory 'config' with
67395         'build-aux'.
67396         * config/config.guess, config.sub, config.rpath, depcomp, install-sh:
67397         * config/mdate-sh, missing, mkinstalldirs, texinfo.tex: Move to
67398         ../build-aux/.
67399
67400 2005-03-21  Paul Eggert  <eggert@cs.ucla.edu>
67401
67402         * modules/chdir-long (Depends-on): Add mempcpy.
67403
67404         * modules/acl, modules/backupfile, modules/c-strtod,
67405         modules/c-strtold, modules/canon-host, modules/canonicalize,
67406         modules/cloexec, modules/closeout, modules/dirfd, modules/dirname,
67407         modules/exclude, modules/exitfail, modules/file-type,
67408         modules/filemode, modules/fpending, modules/fsusage, modules/getcwd,
67409         modules/getdate, modules/getline, modules/getpagesize,
67410         modules/getpass, modules/getugroups, modules/group-member,
67411         modules/hard-locale, modules/hash, modules/human, modules/idcache,
67412         modules/inttostr, modules/long-options, modules/makepath,
67413         modules/md5, modules/memcasecmp, modules/memcoll,
67414         modules/modechange, modules/mountlist, modules/path-concat,
67415         modules/pathmax, modules/physmem, modules/posixtm, modules/posixver,
67416         modules/quote, modules/quotearg, modules/readtokens, modules/readutmp,
67417         modules/safe-read, modules/safe-write, modules/same, modules/savedir,
67418         modules/settime, modules/sha1, modules/sig2str, modules/strdup,
67419         modules/strftime, modules/strndup, modules/strverscmp,
67420         modules/timespec, modules/unlocked-io, modules/userspec,
67421         modules/utimecmp, modules/utimens, modules/xalloc, modules/xstrtol,
67422         modules/yesno:
67423         Remove lib_SOURCES line from Makefile.am section, as this is now
67424         done automatically by the corresponding Autoconf macro.
67425
67426 2005-03-21  Jim Meyering  <jim@meyering.net>
67427
67428         Changes imported from coreutils.
67429
67430         * lib/cycle-check.c: Don't include xalloc.h.
67431
67432         * lib/path-concat.c: Don't include assert.h.
67433         (path_concat): Remove assertion that would have triggered
67434         for ABASE starting with more than one slash.
67435         Reported by Andreas Schwab.
67436
67437         * lib/path-concat.c (path_concat): Set *BASE_IN_RESULT
67438         properly when ABASE is an absolute file name.
67439         Correct the description of this function.
67440         Include <assert.h>.
67441         Add an assertion and a test driver.
67442         This fixes a bug introduced on 2004-07-02.
67443         Andreas Schwab reported the resulting failure of cp --parents:
67444         http://lists.gnu.org/archive/html/bug-coreutils/2005-01/msg00130.html
67445
67446 2005-03-21  Jim Meyering  <jim@meyering.net>
67447
67448         * m4/chdir-long.m4 (gl_PREREQ_CHDIR_LONG): Invoke gl_FUNC_MEMRCHR.
67449         * m4/memrchr.m4 (gl_FUNC_MEMRCHR): Check for memrchr decl.
67450
67451 2005-03-21  Jim Meyering  <jim@meyering.net>
67452         and  Paul Eggert  <eggert@cs.ucla.edu>
67453
67454         * m4/acl.m4, m4/backupfile.m4, m4/c-strtod.m4, m4/canon-host.m4,
67455         m4/canonicalize.m4, m4/cloexec.m4, m4/closeout.m4, m4/dirfd.m4,
67456         m4/dirname.m4, m4/exclude.m4, m4/exitfail.m4, m4/file-type.m4,
67457         m4/filemode.m4, m4/fpending.m4, m4/fsusage.m4, m4/getcwd.m4,
67458         m4/getdate.m4, m4/getline.m4, m4/getpagesize.m4, m4/getpass.m4,
67459         m4/getugroups.m4, m4/group-member.m4, m4/hard-locale.m4, m4/hash.m4,
67460         m4/human.m4, m4/idcache.m4, m4/inttostr.m4, m4/long-options.m4,
67461         m4/makepath.m4, m4/md5.m4, m4/memcasecmp.m4, m4/memcoll.m4,
67462         m4/modechange.m4, m4/mountlist.m4, m4/nanosleep.m4, m4/path-concat.m4,
67463         m4/pathmax.m4, m4/physmem.m4, m4/posixtm.m4, m4/posixver.m4,
67464         m4/quote.m4, m4/quotearg.m4, m4/readtokens.m4, m4/readutmp.m4,
67465         m4/safe-read.m4, m4/safe-write.m4, m4/same.m4, m4/savedir.m4,
67466         m4/settime.m4, m4/sha1.m4, m4/sig2str.m4, m4/strdup.m4, m4/strftime.m4,
67467         m4/strndup.m4, m4/strverscmp.m4, m4/timespec.m4, m4/unlocked-io.m4,
67468         m4/userspec.m4, m4/utimecmp.m4, m4/utimens.m4, m4/xalloc.m4,
67469         m4/xnanosleep.m4, m4/xstrtol.m4, m4/yesno.m4:
67470         Use AC_LIBSOURCES and AC_LIBOBJ to indicate source and object files
67471         for these modules.
67472
67473 2005-03-18  Paul Eggert  <eggert@cs.ucla.edu>
67474
67475         * lib/strftime.c (my_strftime): If the underlying strftime returns 0
67476         (which shouldn't happen), generate nothing instead of returning 0
67477         immediately, so that nstrftime (NULL, ...) doesn't return 0.
67478
67479 2005-03-16  Bruno Haible  <bruno@clisp.org>
67480
67481         * modules/stdint (Makefile.am): Use HAVE_LONG_LONG_64BIT instead of
67482         HAVE_LONGLONG_64BIT.
67483
67484 2005-03-16  Bruno Haible  <bruno@clisp.org>
67485
67486         * m4/stdint.m4 (gl_STDINT_H): Define HAVE_LONG_LONG_64BIT instead of
67487         HAVE_LONGLONG_64BIT.
67488
67489 2005-03-16  Bruno Haible  <bruno@clisp.org>
67490
67491         * lib/stdint_.h: Use HAVE_LONG_LONG_64BIT instead of
67492         HAVE_LONGLONG_64BIT.
67493
67494 2005-03-15  Paul Eggert  <eggert@cs.ucla.edu>
67495
67496         * lib/strftime.c (my_strftime): Prepend space to format so that we can
67497         reliably distinguish strftime failure from empty output on POSIX
67498         hosts.
67499
67500 2005-03-15  Paul Eggert  <eggert@cs.ucla.edu>
67501
67502         * lib/iconvme.c (SIZE_MAX): New macro, if not already defined.
67503         (iconv_string): Don't guess a size-zero buffer, as that might cause
67504         buffer overrun.  Instead, avoid multiplying by MB_LEN_MAX if the
67505         result would be 'too large', where 'too large' is (heuristically)
67506         the square root of SIZE_MAX, divided by MB_LEN_MAX to allay
67507         overflow concerns.  This will prevent some unwanted malloc failures
67508         when the inputs are very large.
67509
67510 2005-03-15  Karl Berry  <karl@gnu.org>
67511
67512         * config/srclist.txt (config.rpath): from gettext.
67513         * config/config.rpath: update.
67514
67515 2005-03-15  Bruno Haible  <bruno@clisp.org>
67516
67517         * lib/regex.c (byte_re_match_2_internal): Rename local variable 'not'
67518         to 'negate'.
67519
67520         * lib/regex.c (byte_re_match_2_internal): Reduce scope of same_str_p
67521         variable.
67522
67523         * lib/regex.c (EXTEND_BUFFER, regcomp): Cast the realloc/malloc
67524         results.
67525
67526 2005-03-14  Simon Josefsson  <jas@extundo.com>
67527
67528         * lib/timegm.h: Use proper prototype CPP guards, reported by Dave Love
67529         <fx@gnu.org>.
67530
67531 2005-03-14  Paul Eggert  <eggert@cs.ucla.edu>
67532
67533         * lib/mktime.c (TYPE_TWOS_COMPLEMENT, TYPE_ONES_COMPLEMENT,
67534         TYPE_SIGNED_MAGNITUDE, TYPE_MINIMUM, TYPE_MAXIMUM): Sync from
67535         intprops.h.
67536         * lib/strtol.c: Likewise.
67537
67538 2005-03-14  Jim Meyering  <jim@meyering.net>
67539
67540         * lib/strftime.c (my_strftime) [HAVE_STRFTIME && ! (_NL_CURRENT
67541         && HAVE_STRUCT_ERA_ENTRY)]: Initialize the first byte of ubuf[]
67542         to be nonzero so that we (and caller) can detect the difference
67543         between a valid zero-length expansion and an error return, even
67544         when the underlying strftime fails before writing anything into
67545         that location.
67546
67547 2005-03-14  Bruno Haible  <bruno@clisp.org>
67548
67549         * m4/lib-link.m4, gettext.m4, nls.m4, po.m4:
67550         Update from GNU gettext 0.14.3.
67551
67552 2005-03-10  Jim Meyering  <jim@meyering.net>
67553
67554         * m4/save-cwd.m4 (gl_SAVE_CWD): Check for fchdir.
67555
67556 2005-03-10  Jim Meyering  <jim@meyering.net>
67557
67558         * lib/save-cwd.c [!HAVE_FCHDIR]: Define open, fchdir, and chdir_long
67559         so that this module works on systems without fchdir.
67560
67561 2005-03-09  Paul Eggert  <eggert@cs.ucla.edu>
67562
67563         Factor int-properties macros into a single file, except for
67564         glibc-related files.
67565         * lib/intprops.h: New file.
67566         * lib/getloadavg.c: Include it instead of limits.h.
67567         (INT_STRLEN_BOUND): Remove.
67568         * lib/human.c: Include intprops.h.
67569         (group_number): Use INT_STRLEN_BOUND instead of rolling it ourself.
67570         * lib/human.h (LONGEST_HUMAN_READABLE): Use 146/485 rather than
67571         302/1000.
67572         * lib/inttostr.h: Include intprops.h instead of limits.h.
67573         (INT_STRLEN_BOUND, INT_BUFSIZE_BOUND): Remove.
67574         * lib/mktime.c (TYPE_IS_INTEGER, TYPE_TWOS_COMPLEMENT): New macros,
67575         for consistency with intprops.h.
67576         (time_t_is_integer, twos_complement_arithmetic): Use them.
67577         * lib/sig2str.h: Include <signal.h>, intprops.h.
67578         (INT_STRLEN_BOUND): Remove.
67579         * lib/strftime.c (TYPE_SIGNED): Remove.
67580         (INT_STRLEN_BOUND): Switch to same implementation as intprops.h.
67581         * lib/strtol.c: Adjust comments to match intprops.h.
67582         * lib/userspec.c: Include intprops.h.
67583         (TYPE_SIGNED, TYPE_MINIMUM, TYPE_MAXIMUM): Remove.
67584         * lib/utimecmp.c, xnanosleep.c, xstrtol.c: Likewise.
67585         * lib/utimecmp.c (utimecmp): Use TYPE_IS_INTEGER, TYPE_TWOS_COMPLEMENT
67586         instead of rolling our own expressions.
67587         * lib/xstrtol.c: Include xstrtol.h first, to test interface.
67588
67589         * lib/strftime.c: Include <stdbool.h>.  Use bool where appropriate,
67590         instead of int.
67591         (my_strftime): Do not mishandle years close to INT_MAX, by doing
67592         the right thing even if adding 1900 would overflow.  Similarly
67593         for tm_mon + 1 and tm_yday + 1.
67594         Make %Y always equivalent to %C%y, and similarly for %G and %g.
67595         (DO_NUMBER, DO_NUMBER_SPACEPAD): Set digits to d, not a conditional.
67596         (DO_SIGNED_NUMBER): New macro.
67597         (my_strftime) [HAVE_TZNAME]: Don't dump core if tp->tm_dst > 1.
67598
67599 2005-03-07  Bruno Haible  <bruno@clisp.org>
67600
67601         * m4/mmap-anon.m4 (MAP_FILE, MAP_FAILED): Remove definitions.
67602
67603 2005-03-07  Bruno Haible  <bruno@clisp.org>
67604
67605         * lib/pagealign_alloc.c (MAP_FILE, MAP_FAILED): Define fallbacks.
67606
67607 2005-03-04  Derek R. Price  <derek@ximbiot.com>
67608
67609         * gnulib-tool (func_cp_if_changed, func_mv_if_changed): New functions.
67610         (func_import): Only replace files via --import when they have actually
67611         changed.
67612
67613 2005-03-03  Derek R. Price  <derek@ximbiot.com>
67614
67615         * m4/mmap-anon.m4: New file.
67616         * m4/pagealign_alloc.m4: New file.
67617
67618 2005-03-03  Derek R. Price  <derek@ximbiot.com>
67619             Bruno Haible  <bruno@clisp.org>
67620
67621         * modules/pagealign_alloc: New file.
67622         * MODULES.html.sh (Memory management functions): Add pagealign_alloc.
67623
67624 2005-03-03  Derek R. Price  <derek@ximbiot.com>
67625             Bruno Haible  <bruno@clisp.org>
67626
67627         * lib/pagealign_alloc.h: New file.
67628         * lib/pagealign_alloc.c: New file.
67629
67630 2005-03-03  Bruno Haible  <bruno@clisp.org>
67631
67632         * m4/inttypes.m4, isc-posix.m4, once-only.m4:
67633         Use an all-permissive copyright notice, recommended by RMS.
67634
67635 2005-03-02  Bruno Haible  <bruno@clisp.org>
67636
67637         * m4/stpncpy.m4 (gl_FUNC_STPNCPY): Undo the replacement here. Because
67638         of AIX, the replacement has to be done only after <string.h> is
67639         included, therefore not in config.h. stpncpy.h does the replacement,
67640         and stpncpy.c uses it.
67641
67642 2005-03-02  Bruno Haible  <bruno@clisp.org>
67643
67644         * lib/stpncpy.h (stpncpy): Define as a macro without arguments, so that
67645         stpncpy.c uses it.
67646
67647 2005-03-01  Paul Eggert  <eggert@cs.ucla.edu>
67648
67649         Remove workaround for bug in Linux kernel 2.6.8 or thereabouts.
67650         The workaround isn't strictly needed for POSIX conformance, and
67651         it's too much of a pain to configure and maintain.  We'll ask
67652         people to fix their kernels instead.
67653         * lib/xnanosleep.c: Don't include gethrxtime.h or xtime.h.
67654         (NANOSLEEP_BUG_WORKAROUND): Remove.
67655         (xnanosleep): Remove the workaround.
67656
67657 2005-03-01  Paul Eggert  <eggert@cs.ucla.edu>
67658
67659         * modules/gettime (Makefile.am): Remove lib_SOURCES line.
67660         Reported by Derek Price.
67661         (Include): Add "timespec.h".
67662
67663         * modules/xnanosleep (Depends-on): Remove gethrxtime.
67664
67665 2005-03-01  Paul Eggert  <eggert@cs.ucla.edu>
67666
67667         * m4/xnanosleep.m4 (gl_XNANOSLEEP): Remove configuration attempting
67668         to detect nanosleep bug.
67669
67670 2005-03-01  Bruno Haible  <bruno@clisp.org>
67671
67672         * lib/vasnprintf.c (EOVERFLOW): Define to a fallback if needed.
67673
67674 2005-02-26  Paul Eggert  <eggert@cs.ucla.edu>
67675
67676         * modules/gethrxtime: New file.
67677         * modules/xnanosleep (Files): Add m4/xnanosleep.m4.
67678         (Depends-on): Add gethrxtime.
67679         (configure.ac): Add gl_XNANOSLEEP.
67680         (Makefile.am): Remove lib_SOURCES line.
67681
67682 2005-02-25  Paul Eggert  <eggert@cs.ucla.edu>
67683
67684         * m4/gethrxtime.m4, m4/xnanosleep.m4: New files.
67685         * m4/gettime.m4 (gl_GETTIME): Check for nanotime.
67686
67687 2005-02-25  Paul Eggert  <eggert@cs.ucla.edu>
67688
67689         * lib/gethrxtime.h, lib/gethrxtime.c, lib/xtime.h: New files.
67690         * lib/timespec.h (gettime): Return void, since it always
67691         succeeds now.  All uses changed.
67692         * lib/gettime.c (gettime) Likewise.
67693         [HAVE_NANOTIME]: Prefer nanotime.
67694         Assume gettimeofday succeeds, as POSIX requires.
67695         Assime time () succeeds, since other code already does.
67696         * lib/xnanosleep.c: Include xtime.h and gethrxtime.h, not xalloc.h.
67697         (timespec_subtract): Remove.
67698         (NANOSLEEP_BUG_WORKAROUND): New constant.
67699         (xnanosleep): Use gethrxtime rather than gettime; this simplifies
67700         things considerably.  Use it only on GNU/Linux hosts, since the
67701         workaround shouldn't be needed elsewhere.
67702
67703 2005-02-24  Bruno Haible  <bruno@clisp.org>
67704
67705         * modules/gettext (Files): Add m4/glibc2.m4.
67706
67707 2005-02-24  Bruno Haible  <bruno@clisp.org>
67708
67709         * m4/gettext.m4, intdiv0.m4, intmax.m4, inttypes-pri.m4, lcmessage.m4:
67710         * m4/lib-link.m4, lib-prefix.m4, nls.m4, po.m4, printf-posix.m4:
67711         * m4/progtest.m4:
67712         Update from GNU gettext 0.14.2.
67713         * m4/glibc2.m4: New file, from GNU gettext 0.14.2.
67714
67715 2005-02-24  Bruno Haible  <bruno@clisp.org>
67716
67717         * lib/localcharset.c: Update from GNU gettext 0.14.2.
67718         * lib/config.charset: Update from GNU gettext 0.14.2.
67719
67720 2005-02-24  Bruno Haible  <bruno@clisp.org>
67721
67722         * lib/gettext.h: Update from GNU gettext 0.14.2.
67723
67724 2005-02-23  Simon Josefsson  <jas@extundo.com>
67725
67726         * m4/iconvme.m4: New file.
67727
67728 2005-02-23  Jim Meyering  <jim@meyering.net>
67729
67730         * m4/extensions.m4 (gl_USE_SYSTEM_EXTENSIONS): Revert yesteday's
67731         change.
67732         Thanks to Bruno Haible for catching it.
67733
67734 2005-02-22  Simon Josefsson  <jas@extundo.com>
67735
67736         * modules/iconvme: New file.
67737
67738         * MODULES.html.sh: Add iconvme.
67739
67740 2005-02-22  Simon Josefsson  <jas@extundo.com>
67741
67742         * lib/iconvme.h, lib/iconvme.c: New files, from libc.
67743
67744 2005-02-22  Simon Josefsson  <jas@extundo.com>
67745
67746         * config/srclist.txt: Sync iconvme.h, iconvme.c from libc.
67747
67748 2005-02-22  Jim Meyering  <jim@meyering.net>
67749
67750         * m4/extensions.m4 (gl_USE_SYSTEM_EXTENSIONS): Fix typo:
67751         s/ifndef/ifdef/.
67752
67753 2005-02-20  Neil Conway  <neilc@samurai.com>
67754
67755         * lib/xgethostname.c (xgethostname): Check for ENOMEM, which is
67756         returned by OSX/Darwin if the specified buffer is not large
67757         enough for the hostname.
67758
67759 2005-02-03  Sergey Poznyakoff  <gray@Mirddin.farlep.net>
67760
67761         * lib/argp-help.c (__argp_help): Create a fake struct argp_state and
67762         pass it to _help, otherwise the latter coredumps trying to
67763         dereference state.root_argp.
67764
67765 2005-02-03  Paul Eggert  <eggert@cs.ucla.edu>
67766
67767         * modules/chdir-long (Depends-on): Add memrchr.
67768         * modules/memrchr (Files): Add lib/memrchr.h.
67769         (Include): "memrchr.h".
67770
67771 2005-02-03  Paul Eggert  <eggert@cs.ucla.edu>
67772
67773         * m4/memrchr.m4 (gl_FUNC_MEMRCHR): Add AC_LIBSOURCES, for memrchr.h.
67774
67775 2005-02-03  Paul Eggert  <eggert@cs.ucla.edu>
67776
67777         * lib/memrchr.h: New file.
67778         * lib/chdir-long.c: Include it.
67779         * lib/memrchr.c [!defined _LIBC]: Include it rather than <string.h>
67780         Don't bother including stddef.h.
67781
67782 2005-02-01  Paul Eggert  <eggert@cs.ucla.edu>
67783
67784         * lib/mountlist.h (MOUNTLIST_H_): New macro, to protect against double
67785         inclusion.
67786         Include <sys/types.h>, for dev_t.
67787         (ME_DUMMY, ME_REMOTE): Move from here....
67788         * lib/mountlist.c (ME_DUMMY, ME_REMOTE): To here.
67789         (ME_DUMMY): Count "subfs" as a dummy.  Problem reported by
67790         Dmitry V. Levin.
67791         Include mountlist.h first, to test the interface.
67792
67793 2005-01-29  Bruno Haible  <bruno@clisp.org>
67794
67795         * lib/progname.c (program_name): Initialize.
67796         Needed when linking statically on MacOS X.
67797
67798 2005-01-28  Paul Eggert  <eggert@cs.ucla.edu>
67799
67800         Sync from coreutils.
67801         * modules/getloadavg (Files): Remove m4/getloadavg.m4.
67802         (Depends-on): Add c-strtod.
67803         (configure.ac): Replace gl_FUNC_GETLOADAVG with AC_FUNC_GETLOADAVG.
67804
67805 2005-01-28  Paul Eggert  <eggert@cs.ucla.edu>
67806
67807         Sync from coreutils.
67808         * m4/getloadavg.m4, glibc.m4, search-libs.m4: Remove.
67809
67810         Remove files that are specific to coreutils.
67811         * m4/check-decl.m4, jm-macros.m4, lib-check.m4, prereq.m4: Remove.
67812
67813 2005-01-28  Bruno Haible  <bruno@clisp.org>
67814
67815         * modules/javacomp: New file.
67816         * MODULES.html.sh (Java): Add javacomp.
67817
67818 2005-01-28  Bruno Haible  <bruno@clisp.org>
67819
67820         * m4/javacomp.m4: New file, from GNU gettext.
67821
67822 2005-01-28  Bruno Haible  <bruno@clisp.org>
67823
67824         * lib/javacomp.sh.in: New file, from GNU gettext.
67825         * lib/javacomp.h: New file, from GNU gettext.
67826         * lib/javacomp.c: New file, from GNU gettext.
67827
67828 2005-01-26  Simon Josefsson  <jas@extundo.com>
67829
67830         * lib/gai_strerror.c: Use GPL in header.
67831
67832 2005-01-26  Bruno Haible  <bruno@clisp.org>
67833
67834         * modules/javaexec: New file.
67835         * MODULES.html.sh (Java): Add javaexec.
67836
67837 2005-01-26  Bruno Haible  <bruno@clisp.org>
67838
67839         * m4/javaexec.m4: New file, from GNU gettext.
67840
67841 2005-01-26  Bruno Haible  <bruno@clisp.org>
67842
67843         * lib/javaexec.sh.in: New file, from GNU gettext.
67844         * lib/javaexec.h: New file, from GNU gettext.
67845         * lib/javaexec.c: New file, from GNU gettext.
67846
67847 2005-01-24  Sergey Poznyakoff  <gray@Mirddin.farlep.net>
67848
67849         * modules/lchown (Depends-on): Remove lchown.h
67850
67851 2005-01-24  Sergey Poznyakoff  <gray@Mirddin.farlep.net>
67852
67853         * m4/sysexits.m4 (gl_SYSEXITS): Reverted logic. SYSEXITS_H
67854         must be defined if the header file was not found, in order
67855         to provide a replacement. Reported by Todd Vierling <tv@duh.org>
67856
67857 2005-01-24  Sergey Poznyakoff  <gray@Mirddin.farlep.net>
67858
67859         * lib/argp-help.c (hol_entry_help): Avoid using non-constant
67860         initializers for struct pentry_state.
67861         (__argp_error): Check return value of __asprintf
67862         (__argp_failure): Translate error message
67863
67864         * lib/argp-parse.c: Removed braces around the expansion of N_()
67865
67866 2005-01-23  Paul Eggert  <eggert@cs.ucla.edu>
67867
67868         * m4/acl.m4, afs.m4, alloca.m4, argp.m4, assert.m4, atexit.m4,
67869         backupfile.m4, base64.m4, bison.m4, c-bs-a.m4, c-stack.m4,
67870         c-strtod.m4, calloc.m4, canon-host.m4, canonicalize.m4,
67871         clock_time.m4, cloexec.m4, closeout.m4, d-ino.m4, d-type.m4,
67872         dirfd.m4, dirname.m4, dos.m4, dup2.m4, error.m4, euidaccess.m4,
67873         exclude.m4, exitfail.m4, extensions.m4, fcntl-safer.m4,
67874         file-type.m4, fileblocks.m4, filemode.m4, fnmatch.m4, fpending.m4,
67875         free.m4, fstypename.m4, fsusage.m4, ftruncate.m4, getaddrinfo.m4,
67876         getcwd-path-max.m4, getcwd.m4, getdate.m4, getdomainname.m4,
67877         getgroups.m4, gethostname.m4, getline.m4, getndelim2.m4,
67878         getnline.m4, getopt.m4, getpagesize.m4, getpass.m4, getsubopt.m4,
67879         gettime.m4, gettimeofday.m4, getugroups.m4, getusershell.m4,
67880         group-member.m4, hard-locale.m4, hash.m4, host-os.m4, human.m4,
67881         idcache.m4, inttostr.m4, isdir.m4, jm-winsz1.m4, jm-winsz2.m4,
67882         link-follow.m4, long-options.m4, ls-mntd-fs.m4, lstat.m4,
67883         makepath.m4, mathl.m4, md5.m4, memcasecmp.m4, memchr.m4,
67884         memcmp.m4, memcoll.m4, memcpy.m4, memmem.m4, memmove.m4,
67885         memrchr.m4, memset.m4, mkdir-slash.m4, mkstemp.m4, mktime.m4,
67886         modechange.m4, mountlist.m4, nanosleep.m4, obstack.m4,
67887         path-concat.m4, pathmax.m4, perl.m4, physmem.m4, poll.m4,
67888         posixtm.m4, posixver.m4, putenv.m4, quote.m4, quotearg.m4,
67889         readdir.m4, readtokens.m4, readutmp.m4, regex.m4, rename.m4,
67890         restrict.m4, rmdir-errno.m4, rmdir.m4, rpmatch.m4, same.m4,
67891         savedir.m4, settime.m4, sha1.m4, sig2str.m4, snprintf.m4,
67892         sockpfaf.m4, st_dm_mode.m4, st_mtim.m4, stat.m4, stdint.m4,
67893         stdio-safer.m4, strchrnul.m4, strdup.m4, strerror.m4,
67894         strerror_r.m4, strftime.m4, strndup.m4, strnlen.m4, strsep.m4,
67895         strtod.m4, strtoimax.m4, strtok_r.m4, strtol.m4, strtoll.m4,
67896         strtoul.m4, strtoull.m4, strtoumax.m4, strverscmp.m4, sysexits.m4,
67897         time_r.m4, timegm.m4, timespec.m4, tm_gmtoff.m4, tzset.m4,
67898         uint32_t.m4, uintptr_t.m4, unistd-safer.m4, unlink-busy.m4,
67899         unlocked-io.m4, uptime.m4, userspec.m4, utimbuf.m4, utime.m4,
67900         utimecmp.m4, utimens.m4, utimes-null.m4, vsnprintf.m4, xalloc.m4,
67901         xgetcwd.m4, xreadlink.m4, xstrndup.m4, xstrtod.m4, xstrtoimax.m4,
67902         xstrtol.m4, xstrtoumax.m4, yesno.m4:
67903         Use an all-permissive copyright notice, recommended by RMS.
67904
67905 2005-01-21  Paul Eggert  <eggert@cs.ucla.edu>
67906
67907         * modules/chdir-long (Depends-on): Remove mempcpy.
67908
67909 2005-01-21  Jim Meyering  <jim@meyering.net>
67910
67911         * lib/openat.h (AT_SYMLINK_NOFOLLOW): Define to 4096, so it's the
67912         same value as for Solaris 9.
67913
67914         * lib/chdir-long.c (chdir_long): Rewrite to remove limitation on
67915         component length.  This included changing the parameter to be
67916         of type `char *' rather than `char const *'.
67917         * lib/chdir-long.h (chdir_long): Update prototype.
67918
67919         * lib/openat.c (fdopendir, fstatat): New functions.
67920         * lib/openat.h: Include headers required for use of DIR and struct
67921         stat.
67922         [AT_SYMLINK_NOFOLLOW]: Define.
67923         (fdopendir, fstatat): Add prototypes.
67924
67925 2005-01-21  Bruno Haible  <bruno@clisp.org>
67926
67927         * modules/classpath: New file.
67928         * MODULES.html.sh (Java): Add classpath.
67929
67930 2005-01-21  Bruno Haible  <bruno@clisp.org>
67931
67932         * lib/classpath.h: New file, from GNU gettext.
67933         * lib/classpath.c: New file, from GNU gettext.
67934
67935 2005-01-20  Simon Josefsson  <jas@extundo.com>
67936
67937         * modules/version-etc-fsf: New file.
67938
67939 2005-01-20  Simon Josefsson  <jas@extundo.com>
67940
67941         * lib/version-etc-fsf.c: New file, with version_etc_copyright.
67942         * lib/version-etc.c: Remove version_etc_copyright.
67943         * lib/version-etc.h (version_etc_copyright): Use [] instead of * in
67944         prototype, suggested by Paul Eggert <eggert@CS.UCLA.EDU>.
67945
67946 2005-01-20  Simon Josefsson  <jas@extundo.com>
67947
67948         * lib/base64.h (isbase64): Add.
67949
67950         * lib/base64.c (isb64): Rename to isbase64, use to_uchar instead of
67951         using a unsigned prototype, don't inline.
67952         (base64_decode): Use it.
67953
67954 2005-01-20  Paul Eggert  <eggert@cs.ucla.edu>
67955
67956         * m4/save-cwd.m4 (gl_SAVE_CWD): Remove check for fcntl; we now assume
67957         it.
67958
67959 2005-01-20  Paul Eggert  <eggert@cs.ucla.edu>
67960
67961         * lib/save-cwd.c (save_cwd): Remove code to support the case
67962         where fchdir is missing or flaky.
67963
67964 2005-01-20  Paul Eggert  <eggert@cs.ucla.edu>
67965
67966         * MODULES.html.sh (Command-line arguments): Add version-etc-fsf.
67967
67968 2005-01-19  Paul Eggert  <eggert@cs.ucla.edu>
67969
67970         * modules/mempcpy (Makefile.am): Remove mention of mempcpy.h;
67971         AC_LIBSOURCES now does this.
67972         * MODULES.html.sh (Sizes of integer types <limits.h>): New element,
67973         with new ullong_max module.
67974
67975 2005-01-19  Bruno Haible  <bruno@clisp.org>
67976
67977         * modules/sh-quote: New file.
67978         * MODULES.html.sh (Executing programs): Add sh-quote.
67979
67980 2005-01-19  Bruno Haible  <bruno@clisp.org>
67981
67982         * lib/sh-quote.h: New file, from GNU gettext.
67983         * lib/sh-quote.c: New file, from GNU gettext.
67984
67985 2005-01-18  Paul Eggert  <eggert@cs.ucla.edu>
67986
67987         Merge from coreutils.
67988         * m4/ullong_max.m4: New file.
67989         * m4/jm-macros.m4 (gl_MACROS): Require gl_ULLONG_MAX.
67990         (gl_MACROS): Assume localeconv exists.
67991
67992 2005-01-18  Paul Eggert  <eggert@cs.ucla.edu>
67993
67994         Merge changes from coreutils, as described below in several
67995         changelogs dated today.
67996
67997         * lib/save-cwd.c: Include "save-cwd.h" before other include files.
67998         (O_DIRECTORY): Remove; not needed here, since "." must be
67999         a directory.  All uses removed.
68000         (save_cwd): Use __sgi || __sun, not sun || __sun.  __sun is
68001         universal on Suns, and we also need to test for IRIX.
68002         Revamp code to use 'if' rather than '#if'.
68003         Avoid unnecessary comparison of cwd->desc to 0.
68004
68005         * lib/utimens.c (futimens): Robustify the previous patch, by checking
68006         for known valid error numbers rather than observed invalid ones.
68007
68008 2005-01-18  Paul Eggert  <eggert@cs.ucla.edu>
68009
68010         * modules/ullong_max: New file.
68011
68012         * modules/chdir-long, modules/openat: New files.
68013         * modules/save-cwd (Depends-on): Depend on chdir-long.
68014         (Makefile.am): Remove lib_SOURCES; now handled by AC_LIBSOURCES.
68015
68016 2005-01-18  Jim Meyering  <jim@meyering.net>
68017
68018         Merge from coreutils.
68019         * m4/chdir-long.m4, m4/openat.m4: New files.
68020         * m4/save-cwd.m4 (gl_SAVE_CWD): Add AC_LIBSOURCES for save-cwd.c,
68021         save-cwd.h.  Add AC_LIBOBJ for save-cwd.
68022         * m4/chown.m4 (gl_FUNC_CHOWN): When cross-compiling, assume that chown
68023         is sane and DOES follow symlinks.  Besides, testing 20 different
68024         systems found no broken chown implementations.
68025         Prompted by a change in rsync's copy of this macro.
68026         * m4/jm-macros.m4 (gl_MACROS): Require gl_FUNC_CHDIR_LONG.
68027
68028         * m4/lchown.m4 (gl_FUNC_LCHOWN): Use AC_LIBSOURCES.
68029
68030         * m4/utimes.m4: Work around tests/touch/empty-file failure on a system
68031         (sparc64, Linux-2.4.28, glibc-2.3.3) that didn't honor utimes'
68032         NULL-means-set-to-current-time semantics.
68033         Remove temporary file immediately, rather than waiting
68034         for configure's at-exit trap code to do it.
68035
68036 2005-01-18  Jim Meyering  <jim@meyering.net>
68037
68038         * lib/version-etc.c (version_etc_copyright): Update copyright date.
68039
68040         * lib/utimens.c (futimens): Account for the fact that futimes
68041         can also fail with errno == ENOSYS or errno == ENOENT.
68042         Patch from Dmitry V. Levin.
68043
68044         Change the name of the robust chdir function from chdir to chdir_long.
68045         * lib/save-cwd.c: Include chdir-long.h rather than chdir.h.
68046         (restore_cwd): Use chdir_long, not chdir.
68047         * lib/chdir-long.c: Renamed from chdir.c.
68048         * lib/chdir-long.h: Renamed from chdir.h.
68049         [!defined PATH_MAX]: Define chdir_long to chdir on systems like the
68050         Hurd.
68051
68052 2005-01-18  Bruno Haible  <bruno@clisp.org>
68053
68054         * m4/allocsa.m4, m4/codeset.m4, m4/copy-file.m4, m4/eaccess.m4:
68055         * m4/eealloc.m4, m4/eoverflow.m4, m4/execute.m4, m4/fatal-signal.m4:
68056         * m4/findprog.m4, m4/glibc21.m4, m4/iconv.m4, m4/intmax_t.m4:
68057         * m4/inttypes_h.m4, m4/lib-ld.m4, m4/lib-link.m4, m4/lib-prefix.m4:
68058         * m4/linebreak.m4, m4/localcharset.m4, m4/longdouble.m4:
68059         * m4/longlong.m4, m4/mbrtowc.m4, m4/mbstate_t.m4, m4/mbswidth.m4:
68060         * m4/mkdtemp.m4, m4/pipe.m4, m4/readlink.m4, m4/safe-read.m4:
68061         * m4/safe-write.m4, m4/setenv.m4, m4/sig_atomic_t.m4:
68062         * m4/signalblocking.m4, m4/signed.m4, m4/size_max.m4, m4/ssize_t.m4:
68063         * m4/stdbool.m4, m4/stdint_h.m4, m4/stpcpy.m4, m4/stpncpy.m4:
68064         * m4/strcase.m4, m4/strcspn.m4, m4/strpbrk.m4, m4/strstr.m4:
68065         * m4/ucs4-utf.m4, m4/uintmax_t.m4, m4/ulonglong.m4, m4/unicodeio.m4:
68066         * m4/utf-ucs4.m4, m4/vasnprintf.m4, m4/vasprintf.m4:
68067         * m4/wait-process.m4, m4/wchar_t.m4, m4/wint_t.m4, m4/xsize.m4:
68068         Use an all-permissive copyright notice, recommended by RMS.
68069
68070 2005-01-18  Bob Proulx  <bob@proulx.com>
68071
68072         * lib/obstack.c [DEFAULT_ALIGNMENT]: Use an intermediate type to
68073         simplify offsetof() macro construct to avoid compile failure with
68074         native HP-UX 11.0 ANSI C compiler.
68075
68076 2005-01-17  Bruno Haible  <bruno@clisp.org>
68077
68078         * lib/stpncpy.c: Remove HAVE_STPNCPY and gnu_stpncpy renaming,
68079         redundant because stpncpy.m4 takes care of it.
68080
68081 2005-01-17  Bruno Haible  <bruno@clisp.org>
68082
68083         * lib/progreloc.c: Include xalloc.h instead of xmalloc.h.
68084
68085 2005-01-17  Bruno Haible  <bruno@clisp.org>
68086
68087         * lib/progreloc.c (xstrdup): Define as strdup if no xmalloc should be
68088         used.
68089
68090 2005-01-17  Bruno Haible  <bruno@clisp.org>
68091
68092         * lib/fwriteerror.h (fwriteerror): Change specification to include
68093         fclose.
68094         * lib/fwriteerror.c: Include <stdbool.h>.
68095         (fwriteerror): At the end, close the file stream. Record whether
68096         stdout was already closed.
68097
68098 2005-01-17  Bruno Haible  <bruno@clisp.org>
68099
68100         * lib/execute.c (environ): Declare if needed.
68101         * lib/pipe.c (environ): Likewise.
68102         Reported by Michael Schloh von Bennewitz <michael.schloh@cw.com>.
68103
68104 2005-01-11  Sergey Poznyakoff  <gray@Mirddin.farlep.net>
68105
68106         * modules/argp: Depend on vsnprintf
68107
68108 2005-01-10  Jim Meyering  <jim@meyering.net>
68109
68110         * modules/closeout (Depends-on): Add atexit.
68111
68112 2005-01-06  Bruno Haible  <bruno@clisp.org>
68113
68114         * m4/stpncpy.m4 (gl_FUNC_STPNCPY): Rename stpncpy to gnu_stpncpy here.
68115
68116 2005-01-04  Paul Eggert  <eggert@cs.ucla.edu>
68117
68118         * lib/human.c (SIZE_MAX, UINTMAX_MAX): Move these conditional
68119         definitions to be after all include files, to avoid collisions.
68120         Problem reported by Bob Proulx.
68121
68122 2005-01-04  Jim Meyering  <jim@meyering.net>
68123
68124         Changes imported from coreutils.
68125         * m4/mkstemp.m4 (gl_FUNC_MKSTEMP): Rather than using "conftestXXXXXX"
68126         as the mkstemp template, use a temporary directory and an
68127         8.3-friendly template to avoid trouble on systems like DJGPP.
68128         Reported by Juan M. Guerrero via Stepan Kasal.
68129         * m4/(gl_FUNC_MKSTEMP): Include <unistd.h> for the declaration of
68130         close. Remove the temporary directory right away, rather than waiting
68131         for configure's at-exit trap code to do it.
68132         Suggestion from Stepan Kasal.
68133
68134 2005-01-01  Simon Josefsson  <jas@extundo.com>
68135
68136         * gnulib-tool: Print #include directives when --import'ing.
68137
68138 2004-12-28  Simon Josefsson  <jas@extundo.com>
68139
68140         * tests/test-base64.c: Include required header files.  Remove
68141         unused variables.
68142
68143 2004-12-28  Paul Eggert  <eggert@cs.ucla.edu>
68144
68145         * modules/error (Depends-on): Remove gettext.
68146
68147 2004-12-28  Paul Eggert  <eggert@cs.ucla.edu>
68148
68149         * lib/error.c [!_LIBC && !ENABLE_NLS]: Do not include "gettext.h";
68150         not needed.  This removes a dependency on the gettext module.
68151         [defined _LIBC]: Do not include <libintl.h>; not needed.
68152
68153 2004-12-24  Paul Eggert  <eggert@cs.ucla.edu>
68154
68155         * m4/c-strtod.m4 (gl_C99_STRTOLD): New macro.
68156         (gl_C_STRTOD): Use it instead of AC_CHECK_DECLS_ONCE(strtold).
68157
68158 2004-12-24  Paul Eggert  <eggert@cs.ucla.edu>
68159
68160         * lib/c-strtod.c (STRTOD): Depend on HAVE_C99_STRTOLD, not
68161         HAVE_DECL_STRTOLD.
68162
68163 2004-12-23  Paul Eggert  <eggert@cs.ucla.edu>
68164
68165         * modules/getdate (Depends-on): Remove alloca-opt.
68166
68167 2004-12-23  Paul Eggert  <eggert@cs.ucla.edu>
68168
68169         * m4/getdate.m4 (gl_GETDATE): Remove AC_FUNC_ALLOCA.
68170
68171 2004-12-23  Paul Eggert  <eggert@cs.ucla.edu>
68172
68173         * lib/argp-parse.c: Include <stddef.h>.
68174         (alignof, alignto): New macros.
68175         (parser_init): Don't assume that void * is aligned sufficiently
68176         for struct option.
68177
68178         * lib/getdate.y (YYSTACK_USE_ALLOCA): Define to 0, since there's no
68179         need to extend the stack.
68180         (YYINITDEPTH): New macro, so that the initial stack isn't overly
68181         large.
68182
68183 2004-12-22  Sergey Poznyakoff  <gray@Mirddin.farlep.net>
68184
68185         * lib/argp-parse.c (parser_init): Avoid arithmetics on void pointers.
68186
68187 2004-12-19  Paul Eggert  <eggert@cs.ucla.edu>
68188
68189         * modules/regex (lib_SOURCES): Remove regex.c, undoing previous
68190         (2004-10-24) change.  Apparently this was a false alarm.
68191
68192         * modules/getdate: Depend on alloca-opt, not alloca.
68193
68194 2004-12-19  Paul Eggert  <eggert@cs.ucla.edu>
68195
68196         * lib/alloca_.h: Conditionalize on _GNULIB_ALLOCA_H, not _ALLOCA_H.
68197         Remove now-obsolete comment about AIX.
68198         * lib/getdate.y: Include <alloca.h> only if HAVE_ALLOCA.
68199         (YYSTACK_USE_ALLOCA): Define to 0 if !HAVE_ALLOCA.
68200         (YYMAXDEPTH): New macro.
68201
68202 2004-12-18  Simon Josefsson  <jas@extundo.com>
68203
68204         * modules/alloca: Depend on alloca-opt, instead of duplicating it.
68205
68206 2004-12-18  Bruno Haible  <bruno@clisp.org>
68207
68208         * m4/fatal-signal.m4 (gl_FATAL_SIGNAL): Also test for sigaction.
68209
68210 2004-12-18  Bruno Haible  <bruno@clisp.org>
68211
68212         * lib/fatal-signal.c (fatal_signals): Make non-const.
68213         (init_fatal_signals): New function.
68214         (uninstall_handlers, install_handlers): Ignore signals that were set to
68215         SIG_IGN.
68216         (at_fatal_signal): Call init_fatal_signals.
68217         (init_fatal_signal_set): Likewise. Ignore signals that were set to
68218         SIG_IGN.
68219         Reported by Paul Eggert.
68220
68221 2004-12-18  Bruno Haible  <bruno@clisp.org>
68222
68223         * doc/alloca.texi: New file.
68224         * doc/alloca-opt.texi: New file.
68225
68226 2004-12-17  Jim Meyering  <jim@meyering.net>
68227
68228         * config/install-sh: Use `(exit N); exit N', not `(exit N); exit'.
68229         Otherwise, install-sh could exit with improper exit status when
68230         exiting via a trapped interrupt.  Thanks to a report from Bob Proulx.
68231
68232 2004-12-16  Simon Josefsson  <jas@extundo.com>
68233
68234         * tests/test-base64.c: Add license.
68235
68236 2004-12-15  Stepan Kasal  <address@hidden>
68237
68238         * gnulib-tool (func_emit_lib_Makefile_am): Shorten a long sed command.
68239
68240 2004-12-12  Paul Eggert  <eggert@cs.ucla.edu>
68241
68242         * modules/getcwd (Files): Add m4/d-ino.m4.
68243         Suggested by Mark D. Baushke.
68244
68245 2004-12-08  Paul Eggert  <eggert@cs.ucla.edu>
68246
68247         * lib/getdate.y (textint): New member "negative".
68248         (time_zone_hhmm): New function.
68249         Expect 14 shift-reduce conflicts, not 13.
68250         (o_colon_minutes): New rule.
68251         (time, zone): Use it to add support for +HH:MM, UTC+HH:MM.
68252         (yylex): Set the "negative" member of signed numbers.
68253
68254 2004-12-08  Paul Eggert  <eggert@cs.ucla.edu>
68255
68256         * doc/getdate.texi (Time of day items, Time zone items):
68257         Describe new formats +00:00, UTC+00:00.
68258
68259 2004-12-07  Paul Eggert  <eggert@cs.ucla.edu>
68260
68261         * m4/ls-mntd-fs.m4 (AC_FUNC_GETMNTENT): Fix typo in previous change:
68262         spurious "-l"s.  Problem reported by Stepan Kasal.
68263
68264 2004-12-06  Paul Eggert  <eggert@cs.ucla.edu>
68265
68266         * m4/ls-mntd-fs.m4 (AC_FUNC_GETMNTENT): New macro, to work around bug
68267         in Autoconf 2.59.  Problem reported by Mark D. Baushke.
68268
68269 2004-12-04  Simon Josefsson  <jas@extundo.com>
68270
68271         * modules/getaddrinfo (License): Add LGPL, reported by Yoann
68272         Vandoorselaere <yoann@prelude-ids.org>.
68273
68274 2004-12-04  Paul Eggert  <eggert@cs.ucla.edu>
68275
68276         Changes imported from coreutils.
68277         * m4/hard-locale.m4 (gl_HARD_LOCALE): Assume locale.h and setlocale
68278         exist.
68279         * m4/human.m4 (gl_HUMAN): Assume locale.h and localeconv exist.
68280
68281 2004-12-04  Paul Eggert  <eggert@cs.ucla.edu>
68282
68283         Changes imported from coreutils.
68284         * lib/hard-locale.c: Assume <locale.h> exists.
68285         Include "strdup.h".
68286         (GLIBC_VERSION): New macro.
68287         (hard_locale): Assume setlocale exists.
68288         Rewrite to avoid #ifdef.
68289         Use strdup rather than malloc + strcpy.
68290         * lib/human.c: Assume <locale.h> exists.
68291         (human_readable): Assume localeconv exists.
68292
68293 2004-12-04  Paul Eggert  <eggert@cs.ucla.edu>
68294
68295         * modules/hard-locale (Depends-on): Add strdup.
68296
68297 2004-12-01  Jakub Jelinek  <jakub@redhat.com>
68298
68299         * lib/mktime.c (__mktime_internal): If SEC_REQUESTED != SEC,
68300         convert T2, not T.  (Imported from libc.)
68301
68302 2004-11-30  Simon Josefsson  <jas@extundo.com>
68303
68304         * modules/restrict (License): Change to LGPL.
68305
68306 2004-11-30  Simon Josefsson  <jas@extundo.com>
68307
68308         * m4/restrict.m4: Add copyright and copying conditions.
68309
68310 2004-11-30  Simon Josefsson  <jas@extundo.com>
68311
68312         * m4/base64.m4: New file.
68313
68314 2004-11-30  Simon Josefsson  <jas@extundo.com>
68315
68316         * MODULES.html.sh (Extra functions based on ANSI C 89): Add
68317         base64.
68318
68319         * tests/test-base64.c: New file.
68320
68321         * modules/base64: New file.
68322
68323 2004-11-30  Paul Eggert  <eggert@cs.ucla.edu>
68324
68325         * m4/getcwd-path-max.m4 (gl_FUNC_GETCWD_PATH_MAX):
68326         Define HAVE_PARTLY_WORKING_GETCWD if getcwd is partly working.
68327
68328         * m4/readutmp.m4 (gl_READUTMP): Don't check for sys/param.h.
68329
68330 2004-11-30  Paul Eggert  <eggert@cs.ucla.edu>
68331
68332         * lib/getcwd.c (is_ENAMETOOLONG): New macro.
68333         (__getcwd.c): Don't restore errno; glibc doesn't.
68334         [HAVE_PARTLY_WORKING_GETCWD && !defined AT_FDCWD]: Try system getcwd
68335         first, falling back to our code only if its results look suspicious.
68336         Ensure that the resulting buffer is only as large as necessary.
68337
68338         * lib/readutmp.c: Include readutmp.h first.
68339         Include <errno.h>, since readutmp.h no longer does that.
68340         * lib/readutmp.h: Don't include <errno.h>,
68341         <sys/param.h>, <time.h>; not needed to establish interface.
68342         (errno): Remove decl.
68343         (HAVE_STRUCT_XTMP_UT_TYPE): Remove; no longer needed.
68344         (UT_TYPE_EQ, UT_TYPE_NOT_DEFINED, UT_TYPE_BOOT_TIME,
68345         UT_TYPE_USER_PROCESS, IS_USER_PROCESS): New macros.
68346
68347 2004-11-28  Simon Josefsson  <jas@extundo.com>
68348
68349         * lib/base64.h, base64.c: New file.
68350
68351 2004-11-27  Paul Eggert  <eggert@cs.ucla.edu>
68352
68353         * lib/getcwd.h: New file, which I forgot to check in on 2004-11-25.
68354
68355 2004-11-26  Paul Eggert  <eggert@cs.ucla.edu>
68356
68357         * modules/getcwd (Files): Add lib/getcwd.h, m4/getcwd.m4.
68358         (Depends-on): Remove pathmax, same.  Add mempcpy.
68359         (configure.ac): GL_FUNC_GETCWD_PATH_MAX -> gl_FUNC_GETCWD.
68360         (Makefile.am): Append getcwd.h to lib_SOURCES.
68361         (Include): Add getcwd.h.
68362         (Maintainer): Change from Jim Meyering to "all, glibc",
68363         since getdate now uses intended-for-glibc code.
68364         * modules/xgetcwd (Files): Remove m4/getcwd.m4.
68365         (Depends-on): Depend on getcwd.  Do not depend on pathmax.
68366
68367 2004-11-25  Paul Eggert  <eggert@cs.ucla.edu>
68368
68369         Fix problems reported by Scott S. Tinsley for HP-UX 11.11 using
68370         HP's ANSI C compiler.
68371         * lib/fsusage.c (statvfs) [HAVE_SYS_STATVFS_H]: Remove decl.
68372         Declaring int functions causes warnings on some modern systems and
68373         shouldn't be needed to compile on ancient ones.
68374         * lib/same.c (MIN) [defined MIN]: Don't define, since it's already
68375         defined.
68376
68377         * lib/getcwd.c: Replace by a copy of glibc/sysdeps/posix/getcwd.c, but
68378         with the following changes.
68379         (__set_errno): Parenthesize properly.
68380         Include <stdbool.h>.
68381         (MIN, MAX, MATCHING_INO): New macros.
68382         (__getcwd): Define with prototype, not K&R form.
68383         Use heuristics to allocate default buffer on stack if possible.
68384         If AT_FDCWD is defined, use openat and fstatat to avoid O(N**2)
68385         behavior, and to avoid the PATH_MAX limit when computing
68386         ../../../../...
68387         Use MATCHING_INO to compare inode number to file.
68388         Check for arithmetic overflow in size calculations.
68389         Fix bug in reallocation of dot array that caused getcwd to fail
68390         on directories nested deeper than 75.
68391         Be more careful about saving errno on error.
68392         Do not use realloc; use only free+malloc, as this is a bit
68393         more flexible and avoids a needless copy operation.
68394         Do not inspect st_dev and st_ino for symbolic links; POSIX
68395         doesn't specify the latter.
68396         Check for closedir errors.
68397         Avoid needless casts.
68398         Use "#ifdef weak_alias" around weak_alias, to be like other
68399         glibc code.
68400         The following changes to getcwd.c have effect only when used in
68401         gnulib; they have no effect inside glibc proper.
68402         (#pragma alloca) [defined _AIX && !defined __GNUC__]: Remove,
68403         as alloca isn't used.
68404         (alloca, __alloca): Likewise.
68405         [!_LIBC]: Include "getcwd.h", "mempcpy.h".
68406         Include <stddef.h>, <stdlib.h>, <string.h>, <limits.h>
68407         unconditionally, as gnulib assumes C89 or better.
68408         Do not include <sys/param.h>.
68409         (errno) [!defined __GNU_LIBRARY__ && !defined STDC_HEADERS]: Remove
68410         no-longer-necessary 'extern int errno' decl; gnulib assumes C89 or
68411         better.
68412         (NULL) [!defined NULL]: Remove; we assume C89 or better.
68413         Include <dirent.h> in a way that is compatible with modern Autoconf.
68414         (_D_ALLOC_NAMELEN, _D_EXACT_NAMLEN):
68415         New macros, if not already defined.
68416         Include <unistd.h> if _LIBC, not if __GNU_LIBRARY__.
68417         Use "_LIBC", not "defined _LIBC", for consistency.
68418         (HAVE_MEMPCPY): Remove; no longer needed now that gnulib has
68419         a mempcpy module.
68420         (__lstat, __closedir, __opendir, __readdir) [!_LIBC]: New macros.
68421         (GETCWD_RETURN_TYPE): Remove.  All uses replaced by char *.
68422         * lib/xgetcwd.c: David MacKenzie's old code was removed, so give
68423         credit only to Jim Meyering and adjust the copyright dates.
68424         Do not include <limits.h>, <stdio.h>, <sys/types.h>,
68425         <stdlib.h>, <unistd.h>, "pathmax.h".
68426         Instead, include "xgetcwd.h" (first) and "getcwd.h".
68427         (INITIAL_BUFFER_SIZE): Remove.
68428         (xgetcwd): Rely on getcwd, since we now depend on a reliable one.
68429
68430 2004-11-25  Paul Eggert  <eggert@cs.ucla.edu>
68431
68432         * m4/getcwd-path-max.m4 (gl_FUNC_GETCWD_PATH_MAX): Renamed from
68433         GL_FUNC_GETCWD_PATH_MAX for consistency.  All uses changed.
68434         Use the _ONCE methods, for efficiency.
68435         Check for fcntl.h.  In test program, include <errno.h>
68436         and <fcntl.h> if available.  Remove old K&R cruft from
68437         test program.  Check for common errors in GNU/Linux,
68438         OpenBSD, and Solaris.  Just set gl_cv_func_getcwd_path_max;
68439         don't do AC_LIBOBJ, as that's getcwd.m4's job.
68440         * m4/getcwd.m4 (gl_FUNC_GETCWD_NULL): Renamed from
68441         AC_FUNC_GETCWD_NULL.  All used changed.  Change cache variable
68442         name accordingly.
68443         (gl_FUNC_GETCWD, gl_PREREQ_GETCWD): New macros.  Revamp to
68444         accommodate new getcwd.c.
68445         * m4/jm-macros.m4 (gl_MACROS): Don't require GL_FUNC_GETCWD_PATH_MAX.
68446         * m4/prereq.m4 (gl_PREREQ): Add gl_FUNC_MEMPCPY.
68447         * m4/xgetcwd.m4 (gl_XGETCWD): Replace with gl_FUNC_GETCWD, since
68448         that's all we need now.
68449
68450 2004-11-23  Sergey Poznyakoff  <gray@Mirddin.farlep.net>
68451
68452         * m4/argp.m4 (gl_ARGP): Require gl_GETOPT_SUBSTITUTE unconditionally:
68453         argp-parse.c depends on getopt internals, that means we should
68454         always use our getopt, to be on the safe side.
68455         * m4/getopt.m4 (gl_GETOPT): Check if GETOPT_H is already set, in
68456         order not to spoil the result of an eventual previous invocation
68457         of gl_GETOPT_SUBSTITUTE.
68458
68459 2004-11-23  Sergey Poznyakoff  <gray@Mirddin.farlep.net>
68460
68461         * lib/getopt_.h: Re-addition of __getopt_argv_const caused
68462         redefinition warnings. To avoid them, include the defines
68463         in `#if !defined __need_getopt ... #endif'. The only place
68464         where __getopt_argv_const is used is in definitions
68465         of getopt_long and getopt_long_only below, which are as well
68466         protected by `#ifndef __need_getopt'.
68467         [defined __GETOPT_PREFIX && !defined __need_getopt]: Undef
68468         __need_getopt after including <stdio.h> and <unistd.h> These
68469         headers might have defined it.
68470
68471 2004-11-23  Paul Eggert  <eggert@cs.ucla.edu>
68472
68473         * m4/utimens.m4 (gl_UTIMENS): Check for futimes function.
68474
68475 2004-11-23  Paul Eggert  <eggert@cs.ucla.edu>
68476
68477         * lib/utimens.c (__attribute__, ATTRIBUTE_UNUSED): New macros.
68478         (futimens): New function, which uses futimes if available.
68479         (futimens, utimens): Support timespec==NULL, with same semantics
68480         as utime and utimens.
68481         * lib/utimens.h (futimens): New decl.
68482
68483 2004-11-23  Jim Meyering  <jim@meyering.net>
68484
68485         * lib/getopt_.h: Remove trailing blanks.
68486
68487 2004-11-23  Jim Meyering  <jim@meyering.net>
68488
68489         * lib/__fpending.c: Add comment.
68490
68491 2004-11-22  Paul Eggert  <eggert@cs.ucla.edu>
68492
68493         * modules/canonicalize (Depends-on): Add xreadlink.
68494         Problem reported by James Youngman.
68495
68496 2004-11-20  Paul Eggert  <eggert@cs.ucla.edu>
68497
68498         * lib/getopt_.h (__GETOPT_CONCAT, __GETOPT_XCONCAT, __GETOPT_ID):
68499         New macros.
68500         (getopt, getopt_long, getopt_long_only, optarg, opterr, optind,
68501         optopt): Use them instead of invoking ## directly; otherwise, the
68502         symbols will be __GETOPT_PREFIXgetopt rather than rpl_getopt.
68503
68504 2004-11-19  Bruno Haible  <bruno@clisp.org>
68505
68506         * lib/strtok_r.c: Move comments from here...
68507         * lib/strtok_r.h: ... to here.
68508
68509 2004-11-17  Paul Eggert  <eggert@cs.ucla.edu>
68510
68511         * m4/calloc.m4 (_AC_FUNC_CALLOC_IF): Check for buggy calloc
68512         implementations that mishandle size_t overflow.
68513
68514 2004-11-17  Paul Eggert  <eggert@cs.ucla.edu>
68515
68516         * lib/realloc.c (rpl_realloc): Call 'free' if n==0, since realloc
68517         might fail.  Problem reported by Yoann Vandoorselaere.
68518         * lib/calloc.c (rpl_calloc): Defend against buggy calloc
68519         implementations that mishandle size_t overflow.
68520
68521 2004-11-16  Paul Eggert  <eggert@cs.ucla.edu>
68522
68523         * modules/canon-host (Depends-on): Add strdup.
68524
68525 2004-11-16  Paul Eggert  <eggert@cs.ucla.edu>
68526
68527         * m4/canon-host.m4 (gl_CANON_HOST): Check for getaddrinfo.
68528
68529 2004-11-16  Paul Eggert  <eggert@cs.ucla.edu>
68530
68531         * lib/canon-host.c: Include "strdup.h".
68532         (canon_host): Use getaddrinfo if available, so that IPv6 works.
68533         Use strdup instead of malloc/strcpy to duplicate strings.
68534
68535         * lib/human.h (LONGEST_HUMAN_READABLE): Add 1 for space before unit.
68536         (human_space_before_unit): New constant.
68537         * lib/human.c (human_readable): Support it.
68538
68539         * lib/xgetcwd.c: Include <limits.h>, for PATH_MAX.
68540         (xgetcwd): Set errno correctly when failing.
68541         Work around Solaris 9 bug: getcwd sets errno==ERANGE even though
68542         the failure is actually due to a PATH_MAX problem.
68543
68544         Further getopt changes to make it more likely that glibc will
68545         buy the changes back.
68546         * lib/getopt.c (POSIXLY_CORRECT): New constant.
68547         (getopt): Use it, so to preserve glibc semantic
68548         * lib/getopt1.c (getopt_long, getopt_long_only): Arg is char * const *
68549         when compiling for libc.
68550         * lib/getopt_.h (__getopt_argv_const): Bring it back.
68551         (getopt_long, getopt_long_only): Use it.
68552
68553         * lib/getopt.c (_getopt_initialize, _getopt_internal_r,
68554         _getopt_internal): New arg POSIXLY_CORRECT.  All callers changed.
68555         (getopt): Argv is now char * const *, as per standard.
68556         (_getopt_internal_r, _getopt_internal): Argv is now char **,
68557         not char *__getopt_argv_const *.
68558         * lib/getopt1.c (getopt_long, _getopt_long_r, getopt_long_only,
68559         _getopt_long_only_r): Likewise.
68560         * lib/getopt_.h (getopt, getopt_long, geopt_long_only): Likewise.
68561         * lib/getopt_int.h (_getopt_internal, _getopt_internal_r,
68562         _getopt_long_r, _getopt_long_only_r): Likewise.
68563         * lib/getopt_.h (__getopt_argv_const): Remove.
68564         (getopt): Argv is now char * const *, as per standard.
68565
68566         * lib/getdate.y (tORDINAL): New token.
68567         (day, relunit): Allow it for relative times.
68568         (relative_time_table): Use tORDINAL for ordinals.
68569
68570 2004-11-16  Paul Eggert  <eggert@cs.ucla.edu>
68571
68572         * doc/getdate.texi (General date syntax): "next" is 1, not 2.
68573         Document that "second" isn't allowed as an ordinal number.
68574
68575 2004-11-16  Jim Meyering  <jim@meyering.net>
68576
68577         * modules/closeout (Depends-on): Add fpending.
68578
68579 2004-11-15  Jim Meyering  <jim@meyering.net>
68580
68581         * lib/closeout.c: Include "__fpending.h" once again.
68582         Include <stdbool.h>.
68583         (close_stdout): Don't fail just because stdout was closed initially,
68584         since some programs don't write to stdout in the normal course of
68585         operation (other than --version and --help), and we don't want this
68586         function to make e.g. `touch file >&-' fail.
68587         But do fail if it was closed and someone has tried to write to it.
68588         E.g., `printf foo >&-' must fail.
68589
68590 2004-11-13  Jim Meyering  <jim@meyering.net>
68591
68592         * m4/jm-macros.m4: Do require gl_FUNC_FPENDING.
68593
68594 2004-11-12  Simon Josefsson  <jas@extundo.com>
68595
68596         * config/srclist.txt: Add strtok_r.c, glibc bought our changes, but a
68597         small doc fix is still pending.
68598
68599 2004-11-11  Simon Josefsson  <jas@extundo.com>
68600
68601         * modules/strtok_r: New file.
68602
68603         * MODULES.html.sh (Support for systems lacking POSIX:2001): Add
68604         strtok_r.
68605
68606 2004-11-11  Simon Josefsson  <jas@extundo.com>
68607
68608         * m4/strtok_r.m4: New file.
68609
68610         * m4/getopt.m4: Replace opterr.
68611
68612 2004-11-11  Simon Josefsson  <jas@extundo.com>
68613
68614         * lib/strtok_r.h, strtok_r.c: New file.
68615
68616 2004-11-11  Paul Eggert  <eggert@cs.ucla.edu>
68617
68618         * m4/getopt.m4 (gl_GETOPT_SUBSTITUTE): Define __GETOPT_PREFIX instead
68619         of replacing opterr, getopt, etc.  This should handle the
68620         powerpc-apple-darwin5.5 problem recently noted by Simon Josefsson.
68621
68622 2004-11-11  Paul Eggert  <eggert@cs.ucla.edu>
68623
68624         * lib/getopt_.h (__getopt_argv_const): New macro, to be used so that
68625         we can stop lying to compilers about the constness of argv when we
68626         are compiled outside glibc.
68627         (getopt, getopt_long, getopt_long_only): Use it.
68628         * lib/getopt.c (_getopt_initialize, _getopt_internal_r,
68629         _getopt_internal, getopt): Likewise.
68630         * lib/getopt1.c (getopt_long, _getopt_long_r, getopt_long_only,
68631         _getopt_long_only_r): Likewise.
68632         * lib/getopt_int.h (_getopt_internal, _getopt_internal_r,
68633         _getopt_long_r, _getopt_long_only_r): Likewise.
68634
68635         * lib/getopt_.h [defined __GETOPT_PREFIX && !defined __need_getopt]:
68636         Include <stdlib.h> and <stdio.h>, and <unistd.h> if available.
68637         Then rename getopt to __GETOPT_PREFIX##getopt, and so forth for
68638         the other external symbols.
68639         (getopt) [!defined __GNU_LIBRARY]: Use prototype, not old-style
68640         declaration, since the above renaming now works around collisions.
68641
68642 2004-11-11  Jim Meyering  <jim@meyering.net>
68643
68644         * lib/linebreak.c: Remove trailing blanks.
68645         * lib/alloca_.h: Likewise.
68646         * lib/acosl.c: Likewise.
68647         * lib/euidaccess.c: Likewise.
68648         * lib/allocsa.h: Likewise.
68649
68650 2004-11-10  Simon Josefsson  <jas@extundo.com>
68651
68652         * m4/getaddrinfo.m4: New file.
68653
68654 2004-11-10  Simon Josefsson  <jas@extundo.com>
68655
68656         * lib/getaddrinfo.h, lib/getaddrinfo.c: New files.
68657
68658 2004-11-10  Simon Josefsson  <jas@extundo.com>
68659
68660         * MODULES.html.sh (Support for systems lacking POSIX:2001): Add
68661         getaddrinfo.
68662
68663         * modules/getaddrinfo: New file.
68664
68665 2004-11-10  Paul Eggert  <eggert@cs.ucla.edu>
68666
68667         * m4/prereq.m4 (gl_PREREQ): Require gt_FUNC_SETENV.
68668
68669 2004-11-10  Paul Eggert  <eggert@cs.ucla.edu>
68670
68671         * lib/mktime.c (SHR): New macro, which is a portable
68672         substitute for >> that should work even on Crays.
68673         (TIME_T_MIDPOINT, ydhms_diff, __mktime_internal): Use it.
68674         Problem reported by Mark D. Baushke in
68675         <http://lists.gnu.org/archive/html/bug-gnulib/2004-11/msg00071.html>.
68676         * lib/getdate.y (SHR): Likewise.
68677         (tm_diff): Use it.
68678         * lib/strftime.c (SHR): Likewise.
68679         (tm_diff): Use it.
68680         * lib/quotearg.c (struct quoting_options): Use unsigned int for
68681         quote_these_too, so that right shifts are well defined.  All uses
68682         changed.
68683
68684 2004-11-10  Jim Meyering  <jim@meyering.net>
68685
68686         Ensure that no close failure goes unreported.
68687         * lib/closeout.c (close_stdout): Always close stdout.  I.e., don't
68688         return early when it seems there's nothing to flush.
68689         Don't include __fpending.h.
68690
68691 2004-11-10  Jim Meyering  <jim@meyering.net>
68692
68693         * modules/closeout (Depends-on): Remove fpending.
68694
68695 2004-11-10  Jim Meyering  <jim@meyering.net>
68696
68697         * m4/jm-macros.m4 (gl_MACROS): Don't require gl_FUNC_FPENDING.
68698
68699 2004-11-09  Paul Eggert  <eggert@cs.ucla.edu>
68700
68701         * m4/strftime.m4 (_gl_STRFTIME_PREREQS): Remove.  Move its body to
68702         gl_FUNC_STRFTIME.
68703         (gl_FUNC_STRFTIME): Use AC_CHECK_FUNCS_ONCE and AC_CHECK_HEADERS_ONCE
68704         and AC_REQUIRE when possible, to avoid duplicate checks.
68705         Check for <wchar.h>.
68706
68707 2004-11-09  Paul Eggert  <eggert@cs.ucla.edu>
68708
68709         * lib/strftime.c (DO_MULTIBYTE): Check for wchar.h, too.
68710
68711 2004-11-09  Bruno Haible  <bruno@clisp.org>
68712
68713         * m4/sockpfaf.m4: New file.
68714
68715 2004-11-05  Bruno Haible  <bruno@clisp.org>
68716
68717         * lib/readlink.c: Include stddef.h, needed for size_t on Woe32.
68718         Reported by Mark D. Baushke <mdb@cvshome.org>.
68719
68720 2004-11-04  Bruno Haible  <bruno@clisp.org>
68721
68722         2004-09-11  Bruno Haible  <bruno@clisp.org>
68723                 * allocsa.valgrind: New file.
68724         2004-02-06  Bruno Haible  <bruno@clisp.org>
68725                 * allocsa.h (sa_alignof): Define differently with HP-UX cc, to
68726                 avoid a bug of this cc on HP-UX 10.20 dealing with enums.
68727                 Reported by Christopher Seip <chris.seip@hp.com>.
68728
68729 2004-11-04  Bruno Haible  <bruno@clisp.org>
68730
68731         * modules/allocsa (Files): Add lib/allocsa.valgrind.
68732         (Makefile.am): Distribute it.
68733
68734 2004-11-03  Paul Eggert  <eggert@cs.ucla.edu>
68735
68736         * lib/xreadlink.c (xreadlink): AIX and HP-UX readlink return -1
68737         with errno == ERANGE if the buffer is too small.
68738         Problem reported by Mark D. Baushke.
68739
68740 2004-11-03  Albert Chin  <china@thewrittenword.com>
68741             Paul Eggert  <eggert@cs.ucla.edu>
68742
68743         * m4/uint32_t.m4 (gl_AC_TYPE_UINT32_T): When determining uint32_t
68744         equivalent, substitute $ac_type for equivalent type rather than
68745         blindly using uint32_t *always* which won't work if uint32_t is not
68746         available.  Define _UINT32_T to work around typedef of uint32_t if
68747         <sys/sched.h>, <pthread.h>, or <semaphore.h> used on Solaris
68748         2.5.1.
68749
68750 2004-11-02  Paul Eggert  <eggert@cs.ucla.edu>
68751
68752         * m4/jm-macros.m4: Sync from coreutils.
68753         (gl_MACROS): Check for mbrlen, for pathchk.
68754         (gl_CHECK_ALL_TYPES): Require AC_TYPE_MBSTATE_T, for pathchk.
68755
68756 2004-11-02  Paul Eggert  <eggert@cs.ucla.edu>
68757
68758         * lib/xreadlink.c (MAXSIZE): New macro.
68759         (xreadlink): Use it instead of SSIZE_MAX.  Ensure initial buffer
68760         size does not exceed MAXSIZE.  Avoid cast.
68761         As suggested by Mark D. Baushke in
68762         <http://lists.gnu.org/archive/html/bug-gnulib/2004-11/msg00009.html>,
68763         if readlink fails with buffer size just under MAXSIZE, try again
68764         with MAXSIZE.
68765
68766 2004-11-02  Paul Eggert  <eggert@cs.ucla.edu>
68767
68768         * config/srclist.txt: Add mktime.c; glibc bought all our changes.
68769
68770 2004-11-02  Derek R. Price  <derek@ximbiot.com>
68771         and  Paul Eggert  <eggert@cs.ucla.edu>
68772
68773         * lib/getdate.y [!TEST]: Include <stdio.h>, since we use sprintf now.
68774         (get_date): Overparenthesize to avoid GCC warning.
68775
68776 2004-11-02  Bruno Haible  <bruno@clisp.org>
68777
68778         * m4/setenv.m4 (gt_FUNC_SETENV): Define VOID_UNSETENV if unsetenv()
68779         returns void.
68780
68781 2004-11-02  Bruno Haible  <bruno@clisp.org>
68782
68783         * lib/setenv.h (unsetenv): Define as a macro if the system's unsetenv()
68784         function returns void.
68785
68786 2004-11-01  Paul Eggert  <eggert@cs.ucla.edu>
68787
68788         * m4/getpass.m4 (gl_PREREQ_GETPASS): Check for declarations of
68789         fflush_unlocked, flockfile, funlockfile, funlockfile,
68790         fputs_unlocked, putc_unlocked.
68791
68792 2004-11-01  Paul Eggert  <eggert@cs.ucla.edu>
68793
68794         * lib/getpass.c (fflush_unlocked, flockfile, funlockfile)
68795         (funlockfile, fputs_unlocked, putc_unlocked): Don't define if
68796         already declared.
68797
68798 2004-10-29  Paul Eggert  <eggert@cs.ucla.edu>
68799
68800         * modules/getdate (Files): Add doc/getdate.texi.
68801         (Depends-on): Add setenv, xalloc.
68802
68803 2004-10-29  Paul Eggert  <eggert@cs.ucla.edu>
68804
68805         * lib/getdate.y: Add support for TZ="foo" within a date string.
68806         Fix some bugs near time_t boundaries.  Reject dates with
68807         out-of-range components, e.g., "Sept 31".
68808         Include <stdlib.h>, "setenv.h", "xalloc.h".
68809         (ISDIGIT_LOCALE): Remove; unused.
68810         Note that the TZ and time functions used here are not reentrant.
68811         (mktime_ok, get_tz): New functions.
68812         (TZBUFSIZE): New constant.
68813         (get_date): Parse leading TZ="foo".  Reject out-of-range components;.
68814         This requires that we sometimes generate our own TZ="XXX..." setting.
68815
68816 2004-10-29  Paul Eggert  <eggert@cs.ucla.edu>
68817
68818         * doc/getdate.texi: New file, from coreutils with modifications for
68819         the new TZ parsing.
68820
68821 2004-10-27  Derek R. Price  <derek@ximbiot.com>
68822
68823         * lib/mktime.c (not_equal_tm): Remove redundant check.
68824
68825 2004-10-24  Paul Eggert  <eggert@cs.ucla.edu>
68826
68827         * modules/regex (lib_SOURCES): Add regex.c.
68828         Reported by James Youngman in
68829         <http://lists.gnu.org/archive/html/bug-gnulib/2004-10/msg00199.html>.
68830
68831 2004-10-24  Paul Eggert  <eggert@cs.ucla.edu>
68832
68833         * lib/getdate.y: Use Bison 1.875 features, and some minor
68834         code cleanups.  This change does not affect semantics.
68835         Don't include <stdlib.h>; no longer needed.
68836         Don't include unlocked-io.h; only the "#if TEST" code uses
68837         stdio, and performance isn't crucial there.
68838         (PC, YYLEX_PARAM, YYPARSE_PARAM): Remove; replaced by
68839         Bison 1.875 features as described below.
68840         All uses of "PC." replaced by "pc->".
68841         (YYSTYPE): Add a forward declaration.
68842         (yylex, yyerror): Use full prototypes in forward decls.
68843         Use "%pure-parser" rather than obsolescent "%pure_parser".
68844         Use %parse-param and %lex-param instead of obsolescent
68845         YYPARSE_PARAM and YYLEX_PARAM.
68846         (meridian_table, month_and_day_table, time_units_table,
68847         relative_time_table, time_zone_table, military_table,
68848         lookup_zone, lookup_word, get_date):
68849         Use NULL instead of 0 where appropriate.
68850         (to_hour): Avoid abort (), to avoid a dependency on
68851         stdlib.h.
68852         (yyerror, yylex): Now accepts parser_control * arg.
68853         (main) [TEST]: Use '\0' rather than 0 for char.
68854
68855 2004-10-22  Paul Eggert  <eggert@cs.ucla.edu>
68856
68857         * m4/getpagesize.m4 (gl_GETPAGESIZE): Check for <sys/param.h>.
68858
68859 2004-10-22  Paul Eggert  <eggert@cs.ucla.edu>
68860
68861         * lib/getpagesize.c (getpagesize): Don't assume <sys/param.h> exists.
68862         It's now the caller's responsibility to handle the case where
68863         !HAVE_GETPAGESIZE && !defined getpagesize.
68864
68865         * lib/mktime.c (leapyear): Arg is long int, not int.
68866
68867 2004-10-18  Paul Eggert  <eggert@cs.ucla.edu>
68868
68869         * lib/argp-fs-xinl.c, argp-xinl.c: Update from glibc.
68870
68871 2004-10-17  Paul Eggert  <eggert@cs.ucla.edu>
68872
68873         * gnulib-tool (func_emit_lib_Makefile_am): Fix typo: a $ was
68874         missing.  Problem reported by James Youngman.
68875
68876 2004-10-16  Simon Josefsson  <jas@extundo.com>
68877
68878         * gnulib-tool: Fix comments.  Fix parse problem.
68879         (func_emit_lib_Makefile_am): Don't hard code a in libgl_a_SOURCES.
68880
68881 2004-10-15  Paul Eggert  <eggert@cs.ucla.edu>
68882
68883         * m4/getopt.m4 (gl_GETOPT): Detect and reject the incompatible BSD
68884         implementation of getopt_long.  Problem reported by Alexander Taler in:
68885         http://lists.gnu.org/archive/html/bug-gnulib/2004-10/msg00103.html
68886
68887 2004-10-15  Bruno Haible  <bruno@clisp.org>
68888
68889         * gnulib-tool: Untabify. Initialize supplied_libname.
68890         (func_usage): More homogenous output.
68891         (func_modules_transitive_closure, func_modules_to_filelist,
68892         func_emit_lib_Makefile_am): New functions.
68893         (func_import): New function, extracted from big case statement. Use
68894         func_get_license, func_modules_transitive_closure,
68895         func_modules_to_filelist, func_emit_lib_Makefile_am. Initialize
68896         opt_lgpl. Don't use test -a, as it's not portable.
68897         (func_create_testdir): Use func_modules_transitive_closure,
68898         func_modules_to_filelist, func_emit_lib_Makefile_am.
68899
68900 2004-10-15  Bruno Haible  <bruno@clisp.org>
68901
68902         * gnulib-tool (func_import): Let gl_INIT define LTALLOCA when needed.
68903
68904 2004-10-15  Bruno Haible  <bruno@clisp.org>
68905
68906         * gnulib-tool (func_emit_lib_Makefile_am): Add markers to separate
68907         the portions belonging to each module.
68908         Suggested by Derek Robert Price <derek@ximbiot.com>.
68909
68910 2004-10-12  Simon Josefsson  <jas@extundo.com>
68911
68912         * lib/getpass.c (fflush_unlocked, flockfile, funlockfile)
68913         (fputs_unlocked, putc_unlocked) [!_LIBCS && !USE_UNLOCKED_IO]: Map
68914         to real functions.
68915
68916 2004-10-11  Yoann Vandoorselaere  <yoann@prelude-ids.org>
68917
68918         * modules/vsnprintf: New file.
68919
68920 2004-10-11  Yoann Vandoorselaere  <yoann@prelude-ids.org>
68921
68922         * m4/vsnprintf.m4: New file.
68923
68924 2004-10-11  Yoann Vandoorselaere  <yoann@prelude-ids.org>
68925
68926         * lib/vsnprintf.h: New file.
68927         * lib/vsnprintf.c: New file.
68928
68929 2004-10-11  Bruno Haible  <bruno@clisp.org>
68930
68931         * MODULES.html.sh (Support for systems lacking ISO C 99): Add
68932         vsnprintf.
68933
68934 2004-10-10  Paul Eggert  <eggert@cs.ucla.edu>
68935
68936         * config/srclistvars.sh: Add GNUSTANDARDS (for eggert only).
68937
68938 2004-10-07  Bruno Haible  <bruno@clisp.org>
68939
68940         * lib/snprintf.c (snprintf): Avoid a memory allocation if the result
68941         fits into the provided buffer.
68942
68943 2004-10-06  Paul Eggert  <eggert@cs.ucla.edu>
68944
68945         * lib/diacrit.c, diacrit.h: Add GPL notice.
68946
68947         * lib/atanl.c, logl.c: Add GPL notice, to match glibc's added LGPL
68948         notice.
68949         * lib/atanl.c (atanl): Keep the code as similar to glibc as possible.
68950         * lib/logl.c (logl): Keep the code as similar to glibc as possible.
68951         This avoids a potential constant-folding bug.
68952
68953 2004-10-05  Bruno Haible  <bruno@clisp.org>
68954
68955         * m4/strsep.m4 (gl_FUNC_STRSEP): Require AC_GNU_SOURCE. Don't check
68956         for the declaration of strsep.
68957
68958 2004-10-05  Bruno Haible  <bruno@clisp.org>
68959
68960         * lib/strsep.h: Don't declare strsep() if HAVE_STRSEP.
68961
68962 2004-10-04  Simon Josefsson  <jas@extundo.com>
68963
68964         * modules/memmem: New file.
68965         * tests/test-memmem.c: New file.
68966         * MODULES.html.sh (Extra functions based on ANSI C 89): Add memmem.
68967
68968 2004-10-04  Simon Josefsson  <jas@extundo.com>
68969
68970         * m4/memmem.m4: New file.
68971
68972 2004-10-04  Simon Josefsson  <jas@extundo.com>
68973
68974         * lib/memmem.h: New file.
68975         * lib/memmem.c: New file, taken from glibc.
68976
68977 2004-10-04  Simon Josefsson  <jas@extundo.com>
68978
68979         * lib/error.c, md5.c, regex.c: Use '#if USE_UNLOCKED_IO' instead of
68980         '#ifdef USE_UNLOCKED_IO'.
68981
68982 2004-10-04  Simon Josefsson  <jas@extundo.com>
68983
68984         * config/srclist.txt: Add memmem from glibc.
68985
68986 2004-10-04  Paul Eggert  <eggert@cs.ucla.edu>
68987
68988         * modules/xalloc (Files, Makefile.am): Remove xstrdup.c.
68989
68990         * modules/argmatch, modules/argp, modules/closeout, modules/error,
68991         modules/exclude, modules/getdate, modules/getline,
68992         modules/getndelim2, modules/getpass, modules/getpass-gnu,
68993         modules/getusershell, modules/linebuffer, modules/md5,
68994         modules/mountlist, modules/posixtm, modules/readtokens,
68995         modules/readutmp, modules/regex, modules/sha1,
68996         modules/version-etc, modules/yesno:
68997         Remove dependency on unlocked-io.
68998
68999 2004-10-04  Paul Eggert  <eggert@cs.ucla.edu>
69000
69001         * m4/xalloc.m4 (gl_PREREQ_XSTRDUP): Remove.  All uses removed.
69002
69003         * m4/unlocked-io.m4: Add copyright notice.
69004         (gl_FUNC_GLIBC_UNLOCKED_IO): Define USE_UNLOCKED_IO.
69005
69006 2004-10-04  Paul Eggert  <eggert@cs.ucla.edu>
69007
69008         * lib/xalloc.h (xmemdup): Renamed from xclone.  All uses changed.
69009         * lib/xmalloc.c (xmemdup): Likewise.
69010         * lib/xalloc.h (CCLONE, CLONE, NEW, XCALLOC, XMALLOC, XREALLOC,
69011         XFREE): Remove these long-obsolescent macros.
69012         * lib/xmalloc.c (xstrdup): Implementation moved here from xstrdup.c
69013         * lib/xstrdup.c: Remove.
69014
69015         * lib/regex.c (re_comp): Cast gettext return value to char *,
69016         Problem reported by Martin Neitzel via Mark D. Baushke.
69017
69018 2004-10-04  Paul Eggert  <eggert@cs.ucla.edu>
69019
69020         * lib/argmatch.c, closeout.c, error.c, exclude.c, getdate.y,
69021         getndelim2.c, getpass.c, getusershell.c, linebuffer.c,
69022         md5.c, mountlist.c, posixtm.c, readtokens.c, readutmp.c,
69023         regex.c, sha1.c, version-etc.c, yesno.c:
69024         Include "unlocked-io.h" only if USE_UNLOCKED_IO.
69025         * lib/unlocked-io.h: Don't worry about USE_UNLOCKED_IO; that's now
69026         the includer's responsibility.
69027
69028         Sync from coreutils.
69029
69030         * lib/modechange.c (mode_compile): Don't decrement a pointer that
69031         points to the start of a string, as the C Standard says the
69032         resulting behavior is undefined.
69033
69034         * lib/backupfile.h (enum backuptype): Rename none -> no_backups,
69035         simple -> simple_backups, numbered_existing ->
69036         numbered_existing_backups, numbered -> numbered_backups
69037         to avoid shadowing problems.  All uses changed.
69038         * lib/argmatch.c (enum backuptype) [defined TEST]: Likewise.
69039         * lib/backupfile.c (check_extension, numbered_backup):
69040         Rename locals to avoid shadowing 'basename'.
69041         * lib/backupfile.h (VALID_BACKUP_TYPE): Don't evaluate arg more than
69042         once.
69043
69044         * lib/.cppi-disable: Add getopt_.h, getopt_int.h.
69045         * lib/.cvsignore: Add getopt.h.
69046
69047 2004-10-04  Bruno Haible  <bruno@clisp.org>
69048
69049         * modules/README: New file.
69050         * gnulib-tool (func_all_modules, func_verify_module): modules/README is
69051         not a module.
69052
69053 2004-10-02  Jim Meyering  <jim@meyering.net>
69054
69055         * lib/dirfd.h, getpagesize.h: Add copyright notice.
69056
69057 2004-10-01  Yoann Vandoorselaere  <yoann@prelude-ids.org>
69058
69059         * modules/strsep: New file.
69060
69061 2004-10-01  Yoann Vandoorselaere  <yoann@prelude-ids.org>
69062
69063         * m4/strsep.m4: New file.
69064
69065 2004-10-01  Yoann Vandoorselaere  <yoann@prelude-ids.org>
69066
69067         * lib/strsep.h: New file.
69068         * lib/strsep.c: New file.
69069
69070 2004-10-01  Simon Josefsson  <jas@extundo.com>
69071
69072         * lib/snprintf.c (snprintf): Handle size==0.
69073
69074 2004-10-01  Simon Josefsson  <jas@extundo.com>
69075             Bruno Haible  <bruno@clisp.org>
69076
69077         * lib/snprintf.c: Include <stdarg.h>, <stdlib.h>, <string.h>.
69078         (snprintf): Declare 'args'.
69079
69080 2004-10-01  Paul Eggert  <eggert@cs.ucla.edu>
69081
69082         * lib/snprintf.c: Remove comments as to why each header is needed.
69083
69084 2004-10-01  Bruno Haible  <bruno@clisp.org>
69085
69086         * MODULES.html.sh: Add strsep.
69087
69088 2004-09-30  Simon Josefsson  <jas@extundo.com>
69089
69090         * modules/snprintf: New file.
69091
69092 2004-09-30  Simon Josefsson  <jas@extundo.com>
69093
69094         * m4/snprintf.m4: New file.
69095
69096 2004-09-30  Simon Josefsson  <jas@extundo.com>
69097
69098         * lib/snprintf.h, lib/snprintf.c: New files.
69099
69100 2004-09-30  Sergey Poznyakoff  <gray@Mirddin.farlep.net>
69101
69102         * lib/argp-help.c (canon_doc_option): Fixed coredump if *name==NULL
69103         (hol_entry_help): Never translate an empty string.
69104         Do not translate option tag (opt->name) if OPTION_NO_TRANS is set
69105         * lib/argp.h (OPTION_NO_TRANS): New option.
69106
69107 2004-09-30  Paul Eggert  <eggert@cs.ucla.edu>
69108
69109         * modules/argp (Maintainer): Replace Simon Josefsson
69110         by Sergey Poznyakoff.
69111
69112 2004-09-30  Paul Eggert  <eggert@cs.ucla.edu>
69113
69114         * config/srclist.txt: Comment-out argp/argp.h, until we get the argp
69115         changes merged back into glibc.
69116
69117 2004-09-30  Paul Eggert  <eggert@cs.ucla.edu>
69118
69119         * MODULES.html.sh (Support for systems lacking ISO C 99): Add snprintf.
69120
69121 2004-09-29  Oskar Liljeblad  <oskar@osk.mine.nu>
69122
69123         * lib/xvasprintf.c: Include xalloc.h.
69124         (xvasprintf): Use xalloc_die, not xmalloc_die.
69125
69126 2004-09-29  Bruno Haible  <bruno@clisp.org>
69127
69128         * modules/alloca-opt: New file, derived from modules/alloca.
69129         * modules/allocsa: Depend on alloca-opt instead of alloca.
69130         * modules/setenv: Likewise.
69131         * modules/vasnprintf: Likewise.
69132         * MODULES.html.sh: Add alloca-opt.
69133
69134 2004-09-28  Simon Josefsson  <jas@extundo.com>
69135
69136         * gnulib-tool: New parameter --lgpl, to asseert that modules are
69137         LGPL, and to replace license template from GPL to LGPL.
69138
69139 2004-09-28  Paul Eggert  <eggert@cs.ucla.edu>
69140
69141         * modules/dummy: Change license to LGPL.
69142
69143 2004-09-28  Paul Eggert  <eggert@cs.ucla.edu>
69144
69145         * lib/dummy.c: Change copyright notice to FSF, and license to GPL.
69146
69147 2004-09-24  Simon Josefsson  <jas@extundo.com>
69148
69149         * modules/minmax (License): Change from GPL to LGPL.
69150
69151 2004-09-23  Simon Josefsson  <jas@extundo.com>
69152
69153         * gnulib-tool (--import): Typo.
69154
69155 2004-09-23  Simon Josefsson  <jas@extundo.com>
69156
69157         * gnulib-tool (--import): Make sure *.m4 end up in m4/ by default.
69158
69159 2004-09-22  Bruno Haible  <bruno@clisp.org>
69160
69161         * modules/*: Add 'License' field.
69162         * gnulib-tool: Accept --extract-license option.
69163         (func_get_license): New function.
69164
69165 2004-09-21  Bruno Haible  <bruno@clisp.org>
69166
69167         * modules/vasnprintf (Files): Add m4/stdint_h.m4, m4/inttypes_h.m4.
69168         Reported by Simon Josefsson.
69169
69170 2004-09-20  Paul Eggert  <eggert@cs.ucla.edu>
69171
69172         * modules/inttostr (Files): Add m4/longlong.m4, since it uses
69173         gl_AC_TYPE_LONG_LONG.
69174
69175 2004-09-20  Paul Eggert  <eggert@cs.ucla.edu>
69176
69177         * config/srclist.txt: Add getsubopt.c, since libc bought our changes.
69178
69179 2004-09-18  Simon Josefsson  <jas@extundo.com>
69180         and  Paul Eggert  <eggert@cs.ucla.edu>
69181
69182         * gnulib-tool: Replace various ad-hoc automake/autoconf/aclocal
69183         calls with autoreconf.  Define GL_LIB.
69184
69185 2004-09-14  Karl Berry  <karl@gnu.org>
69186
69187         * config/srclist.txt: unsync setenv.c, sigh.
69188
69189 2004-09-13  Paul Eggert  <eggert@cs.ucla.edu>
69190
69191         * lib/argp-pvh.c (argp_program_version_hook): Provide initial value.
69192         Problem reported by Bruno Haible in:
69193         http://lists.gnu.org/archive/html/bug-tar/2004-09/msg00023.html
69194
69195 2004-09-13  Paul Eggert  <eggert@cs.ucla.edu>
69196
69197         * config/srclist.txt: Comment out argp-pvh.c.
69198
69199 2004-09-11  Paul Eggert  <eggert@cs.ucla.edu>
69200
69201         * lib/mempcpy.h: Wrap the entire include file inside #ifndef mempcpy,
69202         in case some system header has #define'd it.  Problem reported by
69203         Soeren D. Schulze in
69204         <http://lists.gnu.org/archive/html/bug-gnulib/2004-09/msg00017.html>.
69205
69206 2004-09-09  Karl Berry  <karl@gnu.org>
69207
69208         * regex.[ch]: delete from the root.  These were supposed to be
69209                 synced with emacs cvs, but this has not happened for about
69210                 a year, and anyway nothing else uses emacs regex.[ch].
69211                 bug-gnulib mail from Jeff Bailey, 9 Sep 2004 15:49:24 -0700.
69212                 lib/regex[.ch] is untouched.
69213
69214 2004-09-09  Bruno Haible  <bruno@clisp.org>
69215
69216         * modules/vasnprintf (Files): Add m4/eoverflow.m4.
69217
69218 2004-09-09  Bruno Haible  <bruno@clisp.org>
69219
69220         * m4/eoverflow.m4: New file, taken from GNU libiconv eilseq.m4 with
69221         modifications.
69222         * m4/vasnprintf.m4 (gl_FUNC_VASNPRINTF): Require gl_EOVERFLOW.
69223
69224 2004-09-08  Oskar Liljeblad  <oskar@osk.mine.nu>
69225
69226         * modules/xvasprintf: New file.
69227         * MODULES.html.sh (Extra functions based on ANSI C 89): Add vasprintf.
69228
69229 2004-09-08  Oskar Liljeblad  <oskar@osk.mine.nu>
69230
69231         * lib/xvasprintf.h: New file.
69232         * lib/xvasprintf.c: New file.
69233         * lib/xasprintf.c: New file.
69234
69235 2004-09-08  Bruno Haible  <bruno@clisp.org>
69236
69237         * m4/stdint.m4: New file, taken from GNU clisp with modifications.
69238
69239 2004-09-08  Bruno Haible  <bruno@clisp.org>
69240
69241         * lib/vasnprintf.c (VASNPRINTF): Signal EOVERFLOW if the resulting
69242         length is > INT_MAX.
69243         * lib/vasprintf.c (vasprintf): Don't test for length > INT_MAX any
69244         more.
69245
69246 2004-09-08  Bruno Haible  <bruno@clisp.org>
69247
69248         * lib/stdint_.h: New file, taken from GNU clisp.
69249
69250 2004-09-08  Bruno Haible  <bruno@clisp.org>
69251             Oskar Liljeblad  <oskar@osk.mine.nu>
69252
69253         * modules/stdint: New file.
69254         * MODULES.html.sh (Support for systems lacking ISO C 99): Add stdint.
69255
69256 2004-08-19  Paul Eggert  <eggert@cs.ucla.edu>
69257
69258         Import from coreutils.
69259         * lib/userspec.c: Don't use <alloca.h>, so that we don't use alloca on
69260         strings on unbounded length.  alloca's performance benefits aren't
69261         that important here.
69262         (V_STRDUP): Remove.
69263         (parse_with_separator): New function, with most of the internals
69264         of the old parse_user_spec.  Allow user to omit both user and group,
69265         for compatibility with FreeBSD.
69266         Clone only the user name, not the entire spec.
69267         Do not set *uid, *gid unless entirely successful.
69268         Avoid memory leak in some failing cases.
69269         Fix regression for USER.GROUP reported by Dmitry V. Levin in
69270         <http://lists.gnu.org/archive/html/bug-coreutils/2004-08/msg00102.html>
69271         (parse_user_spec): Rewrite to use parse_with_separator.
69272
69273 2004-08-19  Paul Eggert  <eggert@cs.ucla.edu>
69274
69275         * modules/userspec: Don't depend on alloca.
69276
69277 2004-08-19  Paul Eggert  <eggert@cs.ucla.edu>
69278
69279         * m4/userspec.m4 (gl_USERSPEC): Don't require AC_FUNC_ALLOCA.
69280
69281 2004-08-17  Paul Eggert  <eggert@cs.ucla.edu>
69282
69283         * MODULES.html.sh: Add xalloc-die, c-strtod, c-strtold, raise,
69284         readtokens0, getcwd, fcntl-safer, canonicalize, cycle-check,
69285         utimecmp, utimens, xnanosleep.  Rename sha to sha1.
69286
69287 2004-08-16  Simon Josefsson  <jas@extundo.com>
69288
69289         * gnulib-tool: Use sed instead of autoconf --trace, inspired by
69290         libtoolize behaviour by "Gary V. Vaughan" <gary@gnu.org>.
69291         Add --dry-run for --import.
69292         Let user provided command line parameters override configure.ac
69293         settings.
69294
69295 2004-08-12  Simon Josefsson  <jas@extundo.com>
69296
69297         * m4/getopt.m4 (gl_GETOPT_SUBSTITUTE): New macro,
69298         as discussed with Paul Eggert in threads rooted at
69299         <http://lists.gnu.org/archive/html/bug-gnulib/2004-06/msg00039.html>
69300         and
69301         <http://lists.gnu.org/archive/html/bug-gnulib/2004-07/msg00001.html>.
69302         Before, the test was empty, and relied on ELIDE_CODE in source
69303         code.)
69304         (gl_PREREQ_GETOPT): New macro.
69305         (gl_GETOPT): Use them.
69306
69307 2004-08-12  Simon Josefsson  <jas@extundo.com>
69308
69309         * lib/getopt.c, getopt1.c: Remove ELIDE_CODE hack.
69310         * lib/getopt_.h: Renamed from getopt.h.
69311
69312 2004-08-12  Simon Josefsson  <jas@extundo.com>
69313
69314         * gnulib-tool: Add --source-base, --m4-base, --libtool options.
69315         Change default library name from libfoo to libgnu.
69316         Now, if you have a configure.ac that says:
69317                 gl_SOURCE_BASE(gl)
69318                 gl_M4_BASE(gl/m4)
69319                 gl_MODULES(error getopt etcetera)
69320                 gl_INIT
69321         you can import all you need by running:
69322                 ../gnulib/gnulib-tool --import
69323
69324         * modules/getopt (Files): Rename getopt.h to getopt_.h.
69325         (Makefile.am): Rewrite, use logic from argz.
69326         (Include): Use <getopt.h> instead of "getopt.h".
69327
69328 2004-08-12  Paul Eggert  <eggert@cs.ucla.edu>
69329
69330         * modules/argp (Files): Add m4/unlocked-io.m4.
69331         (Depends-on): Add extensions.
69332
69333 2004-08-12  Paul Eggert  <eggert@cs.ucla.edu>
69334
69335         * m4/argp.m4 (gl_ARGP): Do not check for argp.h or argp_parse; nobody
69336         uses HAVE_ARGP_H or HAVE_ARGP_PARSE.
69337         Require gl_FUNC_GLIBC_UNLOCKED_IO, gl_USE_SYSTEM_EXTENSIONS.
69338         Check for program_invocation_name, program_invocation_short_name,
69339         flockfile, funlockfile, features.h, _getopt_long_only_r.
69340
69341 2004-08-12  Paul Eggert  <eggert@cs.ucla.edu>
69342
69343         * lib/argp-help.c, argp-parse.c: Use "gettext.h" instead of
69344         its complicated substitute.
69345         * lib/argp-help.c: Include <errno.h>, for program_invocation_short_name
69346         and program_invocation_name.
69347         (__argp_basename) [!_LIBC]: Remove; the only use was
69348         replaced by its body.
69349         (__argp_short_program_name): Change condition from
69350         !defined __argp_short_program_name to
69351         ! (defined _LIBC || HAVE_DECL_PROGRAM_INVOCATION_SHORT_NAME),
69352         to match argp-namefrob.h.
69353         (__argp_failure): Don't assume strerror_r returns char *.
69354         * lib/argp-parse.c (N_): Define unconditionally.
69355         (argp_default_options): Fill out initializers with 0 to avoid
69356         gcc warnings.
69357
69358 2004-08-12  Paul Eggert  <eggert@cs.ucla.edu>
69359
69360         * config/srclist.txt: Remove getopt.c, getopt.h (renamed to getopt_.h),
69361         getopt1.c.
69362
69363 2004-08-11  Paul Eggert  <eggert@cs.ucla.edu>
69364
69365         Merge from coreutils.
69366
69367         * m4/fnmatch.m4 (_AC_LIBOBJ_FNMATCH): Check for wmemchr and wmemcpy.
69368
69369         * m4/obstack.m4 (gl_PREREQ_OBSTACK): Require
69370         gl_AC_HEADER_INTTYPES_H, gl_AC_HEADER_STDINT_H, gl_AC_TYPE_UINTMAX_T.
69371
69372 2004-08-11  Paul Eggert  <eggert@cs.ucla.edu>
69373
69374         Merge from coreutils.
69375
69376         * lib/fnmatch.c (WIDE_CHAR_SUPPORT): Don't set to 1 if missing
69377         wmemchr or wmemcpy.  Problem reported by Robert Dahlem
69378         for Reliant Unix 5.43.
69379
69380         * lib/obstack.c: Include <inttypes.h> and <stdint.h> if available.
69381         (union fooround): Use uintmax_t, not long int.
69382         The rest is a merge from libc:
69383         [defined _LIBC]: Include <shlib-compat.h>.
69384         (_obstack) [defined _LIBC]: Remove after 2.3.4.
69385
69386         * lib/settime.c (settime): Recode to avoid warning with
69387         Sun Forte C 6U2.
69388
69389         * lib/strverscmp.c: Convert to UTF-8.
69390
69391 2004-08-11  Paul Eggert  <eggert@cs.ucla.edu>
69392
69393         * modules/obstack (Files): Add m4/inttypes_h.m4, m4/stdint_h.m4,
69394         m4/uintmax_t.m4.
69395
69396 2004-08-09  Paul Eggert  <eggert@cs.ucla.edu>
69397
69398         * modules/xalloc-die: New file.
69399         * modules/xalloc: Remove dependencies on error, gettext, exitfail.
69400
69401         * modules/md5 (Files): Add m4/uint32_t.m4.
69402         * modules/sha1: Renamed from modules/sha.
69403         (Files):
69404         Rename lib/sha.h to lib/sha1.h.
69405         Rename lib/sha.c to lib/sha1.c.
69406         Rename m4/sha.m4 to m4/sha1.m4.
69407         (lib_SOURCES): Likewise.
69408         (configure.ac): Rename gl_SHA to gl_SHA1.
69409         (Include): sha.h -> sha1.h.
69410
69411 2004-08-09  Paul Eggert  <eggert@cs.ucla.edu>
69412
69413         * m4/uint32_t.m4, m4/uintptr_t.m4: New files.
69414         * m4/sha1.m4: Renamed from sha.m4.
69415         (gl_SHA1): Renamed from gl_SHA.  All uses changed.
69416
69417 2004-08-09  Paul Eggert  <eggert@cs.ucla.edu>
69418
69419         * lib/obstack.h (obstack_empty_p):
69420         Don't assume that chunk->contents is suitably aligned.
69421         * lib/obstack.c (_obstack_begin, _obstack_begin_1, _obstack_newchunk):
69422         Likewise. Problem reported by Benno in
69423         <http://sources.redhat.com/ml/libc-alpha/2004-08/msg00055.html>.
69424
69425         * lib/chown.c (rpl_chown): Work even if the file is writeable but not
69426         readable.  This could be improved further but it'd take some work.
69427
69428 2004-08-08  Simon Josefsson  <jas@extundo.com>
69429
69430         * modules/xgethostname (Depends-on): Remove exit and error (not
69431         used).
69432
69433         * modules/getpass-gnu: Add getpass.h.
69434         (Depends-on): Add stdbool.
69435         * modules/getpass: Add getpass.h.
69436
69437 2004-08-08  Simon Josefsson  <jas@extundo.com>
69438
69439         * m4/getpass.m4 (gl_FUNC_GETPASS, gl_FUNC_GETPASS_GNU):
69440         Check getpass declaration.
69441
69442 2004-08-08  Simon Josefsson  <jas@extundo.com>
69443
69444         * lib/xgethostname.c: Don't include error.h (not used).
69445
69446         * lib/getpass.h: Add.
69447         * lib/getpass.c: Include getpass.h first.
69448
69449 2004-08-08  Paul Eggert  <eggert@cs.ucla.edu>
69450
69451         * lib/xalloc-die.c: New file.
69452         * lib/xalloc.h (xalloc_fail_func, xalloc_msg_memory_exhausted): Remove.
69453         All uses removed.
69454         * lib/xmalloc.c (xalloc_fail_func, xalloc_msg_memory_exhausted):
69455         Likewise. Move inclusions of gettext.h, error.h, exitfail.h to
69456         xalloc-die.c.
69457         (_, N_, xalloc_die): Move to xalloc-die.c.
69458         * lib/userspec.c (parse_user_spaec): Use xstrdup rather than strdup,
69459         so that we needn't mess with xalloc_msg_memory_exhausted.
69460
69461         * lib/sha1.h: Renamed from sha.h.
69462         (SHA1_H): Renamed from _SHA_H.
69463         (sha1_ctx): Renamed from sha_ctx.
69464         (sha1_init_ctx): Renamed from sha_init_ctx.
69465         (sha1_process_block): Renamed from sha_process_block.
69466         (sha1_process_bytes): Renamed from sha_process_bytes.
69467         (sha1_finish_ctx): Renamed from sha_finish_ctx.
69468         (sha1_read_ctx): Renamed from sha_read_ctx.
69469         (sha1_stream): Renamed from sha_stream.
69470         (sha1_buffer): Renamed from sha_buffer.
69471         * lib/sha1.c: Likewise; renamed from sha.c.
69472         Do not include <sys/types.h>.
69473         Include <stddef.h> rather than <stdlib.h>.
69474
69475 2004-08-08  Bruno Haible  <bruno@clisp.org>
69476
69477         * lib/pathname.h (FILE_SYSTEM_PREFIX_LEN): Renamed from
69478         FILESYSTEM_PREFIX_LEN.
69479         * lib/progreloc.c: Likewise.
69480         * lib/concatpath.c (concatenated_pathname): Use FILE_SYSTEM_PREFIX_LEN.
69481
69482 2004-08-06  Simon Josefsson  <jas@extundo.com>
69483
69484         * modules/progname (Depends-on): Don't depend on stdbool.
69485
69486 2004-08-06  Simon Josefsson  <jas@extundo.com>
69487
69488         * modules/getsubopt: New file.
69489         * MODULES.html.sh (Support for systems lacking POSIX:2001): Add
69490         getsubopt.
69491
69492 2004-08-06  Paul Eggert  <eggert@cs.ucla.edu>
69493
69494         More merge from coreutils.
69495
69496         * m4/utimens.m4, m4/utimecmp.m4: New files.
69497         * m4/backupfile.m4, euidacces.m4, acl.m4, afs.m4, calloc.m4, dirfd.m4,
69498         fsusage.m4, jm-macros.m4, ls-mntd-fs.m4, md5.m4, mountlist.m4,
69499         prereq.m4, sha.m4: Import changes from coreutils.
69500
69501 2004-08-06  Paul Eggert  <eggert@cs.ucla.edu>
69502
69503         More merge from coreutils.
69504         * modules/raise, modules/readtokens0, modules/utimens:
69505         * modules/utimecmp, module/xnanosleep: New files.
69506         * modules/strftime: Add lib/strftime.h.
69507         Change include from <time.h> to "strftime.h".
69508         * modules/yesno: Add lib/yesno.h.
69509         * modules/backupfile: Remove lib/addext.c.
69510         * modules/euidaccess: Add stat-macros.h.
69511         * modules/canonicalize, modules/euidaccess,
69512         modules/filemode, modules/lchown, modules/makepath,
69513         modules/rmdir, modules/stat: Likewise.
69514
69515 2004-08-06  Paul Eggert  <eggert@cs.ucla.edu>
69516
69517         Merge from tar.
69518         * lib/argp-help.c (make_hol, hol_append): Don't assume that
69519         SIZE_MAX is a valid preprocessor constant.
69520         (__argp_basename): Change from "#ifndef _LIBC"
69521         to "#ifndef __argp_short_program_name", so that
69522         we don't compile these functions for tar.
69523
69524         More merges from coreutils.
69525         * lib/raise.c, lib/readtokens0.h, lib/readtokens0.c, lib/strftime.h:
69526         * lib/utimens.h, lib/utimens.c, lib/utimecmp.h, lib/utimecmp.c:
69527         * lib/xnanosleep.h, lib/xnanosleep.c, lib/yesno.h: New files.
69528         * lib/addext.c: Remove; no longer needed.
69529         * lib/yesno.c, lib/argmatch.h, lib/argmatch.c, lib/backupfile.h,
69530         lib/backupfile.c, lib/euidaccess.c, lib/filemode.c, lib/closeout.c,
69531         lib/dup2.c, lib/exclude.c, lib/fileblocks.c, lib/filemode.c,
69532         lib/fnmatch.c, lib/fnmtahc_loop.c, lib/fopen-safer.c, lib/fsusage.c,
69533         lib/fsusage.h, lib/ftruncate.c, lib/full-write.c, lib/getdate.y,
69534         lib/getloadavg.c, lib/getugroups.c, lib/hard-locale.c,
69535         lib/hard-locale.h, lib/hash.c, lib/human.c, lib/human.h, lib/lchown.c,
69536         lib/lchown.h, lib/makepath.c, lib/makepath.h, lib/md5.c, lib/md5.h,
69537         lib/memchr.c, lib/memcoll.c, lib/memrchr.c, lib/modechange.c,
69538         lib/modechange.h, lib/mountlist.c, lib/mountlist.h, lib/nanosleep.c,
69539         lib/posixtm.c, lib/putenv.c, quotearg.c, lib/quotearg.h,
69540         lib/readtokens.c, lib/readutmp.c, lib/readutmp.h, lib/rmdir.c,
69541         lib/safe-read.c, lib/save-cwd.c, lib/savedir.c, lib/setenv.c,
69542         lib/sig2str.c, lib/stat.c, lib/strtoimax.c, lib/strverscmp.c,
69543         lib/userspec.c, lib/utime.c, lib/version-etc.c., lib/xgethostname.c,
69544         lib/xmemcoll.c, lib/xreadlink.c, lib/xstrtod.c, lib/xstrtod.h,
69545         lib/xstrtoimax.c, lib/xstrtol.c, lib/xstrtol.h, lib/xstrtoumax.c:
69546         Import changes from coreutils.
69547
69548 2004-08-05  Simon Josefsson  <jas@extundo.com>
69549
69550         * m4/strdup.m4: Always run gl_PREREQ_STRDUP, since strdup.h need it.
69551
69552 2004-08-05  Simon Josefsson  <jas@extundo.com>
69553
69554         * m4/getsubopt.m4: New file.
69555
69556 2004-08-05  Paul Eggert  <eggert@cs.ucla.edu>
69557
69558         Merge from coreutils.
69559
69560         * m4/c-strtod.m4, m4/canonicalize.m4, m4/fcntl-safer.m4:
69561         * m4/getcwd-path-max.m4: New files.
69562
69563         * m4/dos.m4 (gl_AC_DOS): filesystem -> file system renaming.
69564         FILESYSTEM_PREFIX_LEN ->
69565         FILE_SYSTEM_PREFIX_LEN.
69566         FILESYSTEM_ACCEPTS_DRIVE_LETTER_PREFIX ->
69567         FILE_SYSTEM_ACCEPTS_DRIVE_LETTER_PREFIX.
69568         FILESYSTEM_BACKSLASH_IS_FILE_NAME_SEPARATOR ->
69569         FILE_SYSTEM_BACKSLASH_IS_FILE_NAME_SEPARATOR.
69570
69571         * m4/path-concat.m4 (gl_PATH_CONCAT): Don't require gl_AC_DOS, the
69572         prerequisite modules now handle the DOS stuff.
69573         Don't check for unistd.h.
69574
69575 2004-08-05  Paul Eggert  <eggert@cs.ucla.edu>
69576
69577         Merge from coreutils.
69578
69579         * lib/.gdb-history: Remove; this doesn't belong here.
69580
69581         * lib/c-strtod.c, lib/c-strtod.h, lib/c-strtold.c, lib/cycle-check.c:
69582         * lib/cycle-check.h, lib/dev-ino.h, lib/canonicalize.h:
69583         * lib/canonicalize.c, lib/fcntl-safer.h, lib/fcntl-safer.c:
69584         * lib/getcwd.c: New files.
69585
69586         * lib/dirname.h: Include <stdbool.h>.
69587         (FILE_SYSTEM_PREFIX_LEN): Renamed from FILESYSTEM_PREFIX_LEN,
69588         for consistency with POSIX terminology.  All uses changed.
69589         (IS_ABSOLUTE_FILE_NAME, IS_RELATIVE_FILE_NAME): New macros.
69590         (strip_trailing_slashes): Use bool for booleans.
69591         * lib/stripslash.c (strip_trailing_slashes): Likewise.
69592
69593         * lib/error.c: Work around bug in OpenBSD 3.4 sterror_r: it
69594         sometimes returns a positive errno value even when it succeeds.
69595         (print_errno_message) [!LIBC]: Fall back on strerror if
69596         __strerror_r fails.
69597
69598         * lib/path-concat.c (mempcpy): Don't define if a system header defines
69599         it. Don't include stdio.h, stdlib.h, unistd.h, strdup.h.
69600         (longest_relative_suffix): New function.
69601         (path_concat): Use it.  Assume first argument is not NULL.
69602         Port to DOS.  Omit redundant separators.
69603         Report an error instead of returning NULL.
69604         Use mempcpy instead of memcpy.
69605         (xpath_concat): Remove: not declared or used.
69606
69607         * lib/same.h: Include <stdbool.h>
69608         (same_name): Return bool, not int.
69609         * lib/same.c (same_name): Likewise.
69610         (errno): Don't declare; we assume C89 or better now.
69611
69612         * lib/stat-macros (S_ISCTG, S_ISOFD, S_ISOFL): New macros,
69613         if not already defined.
69614
69615         * lib/xgetcwd.c (errno): Don't declare; we assume C89 or better now.
69616         * lib/dup-safer.c (errno): Likewise.
69617
69618 2004-08-05  Paul Eggert  <eggert@cs.ucla.edu>
69619
69620         Merge from coreutils.
69621         * modules/c-strtod, modules/c-strtold, modules/canonicalize:
69622         * modules/cycle-check, modules/fcntl-safer, modules/getcwd: New files.
69623         * modules/path-concat: Don't depend on strdup.
69624
69625 2004-08-03  Simon Josefsson  <jas@extundo.com>
69626
69627         * lib/strdup.h: Only use HAVE_DECL_STRDUP if defined.
69628         * lib/progname.h: Don't include stdbool.h.
69629
69630 2004-08-03  Paul Eggert  <eggert@cs.ucla.edu>
69631
69632         * modules/fatal: Remove, as the "fatal" module wasn't used or working.
69633         * MODULES.html.sh (func_all_modules): Remove fatal.
69634
69635 2004-08-03  Paul Eggert  <eggert@cs.ucla.edu>
69636
69637         * m4/fatal.m4: Remove, as the "fatal" module wasn't used or working.
69638
69639 2004-08-03  Paul Eggert  <eggert@cs.ucla.edu>
69640
69641         * lib/fatal.c, fatal.h: Remove as the "fatal" module wasn't used or
69642         working.
69643
69644 2004-08-02  Simon Josefsson  <jas@extundo.com>
69645
69646         * lib/getsubopt.h: New file, with comments from Bruno Haible.
69647         * lib/getsubopt.c: New file, from glibc, but slightly modified based on
69648         suggestions from Paul Eggert <eggert@cs.ucla.edu>.
69649
69650 2004-08-01  Simon Josefsson  <jas@extundo.com>
69651
69652         * lib/xgetdomainname.c: Include stdlib.h, for free().
69653
69654 2004-07-19  Bruno Haible  <bruno@clisp.org>
69655
69656         * MODULES.html.sh (func_all_modules): Add dummy.
69657
69658 2004-07-16  Simon Josefsson  <jas@extundo.com>
69659
69660         * modules/dummy: New file.
69661
69662 2004-07-16  Simon Josefsson  <jas@extundo.com>
69663
69664         * lib/dummy.c: New file.
69665
69666 2004-07-16  Bruno Haible  <bruno@clisp.org>
69667
69668         * lib/backupfile.h: Add extern "C" for C++.
69669         * lib/closeout.h: Likewise.
69670         * lib/copy-file.h: Likewise.
69671         * lib/findprog.h: Likewise.
69672         * lib/full-write.h: Likewise.
69673         * lib/pathname.h: Likewise.
69674         * lib/progname.h: Likewise.
69675         * lib/stpcpy.h: Likewise.
69676         * lib/stpncpy.h: Likewise.
69677         * lib/strcase.h: Likewise.
69678         * lib/strstr.h: Likewise.
69679         * lib/xalloc.h: Likewise.
69680
69681         * lib/mbswidth.h: Add extern "C" for C++.
69682         Reported by Albert Chin-A-Young <china@thewrittenword.com>.
69683
69684 2004-07-13  Robert Millan  <robertmh@gnu.org>
69685
69686         * m4/host-os.m4: s/KNetBSD/kNetBSD/g and s/KFreeBSD/kFreeBSD/g.
69687
69688 2004-07-09  Simon Josefsson  <jas@extundo.com>
69689
69690         * lib/getndelim2.c: Include stddef.h, for ptrdiff_t.  (FreeBSD 4.9
69691         failed without this.)
69692
69693 2004-07-09  Paul Eggert  <eggert@cs.ucla.edu>
69694
69695         * modules/chown (Files): Add lib/fchown-stub.c, since
69696         gl_PREREQ_CHOWN invokes AC_LIBOBJ(fchown-stub).
69697
69698 2004-07-09  Paul Eggert  <eggert@cs.ucla.edu>
69699
69700         * lib/fchown-stub.c: New file.
69701
69702 2004-06-24  Jim Meyering  <jim@meyering.net>
69703
69704         * lib/obstack.h (obstack_base): Cast to (void *), per documentation.
69705
69706 2004-06-22  Paul Eggert  <eggert@cs.ucla.edu>
69707
69708         * modules/argz: Omit "#include".
69709
69710         * MODULES.html.sh (func_all_modules): Add calloc, to match
69711         2004-06-01 addition of calloc module.
69712
69713 2004-06-22  Paul Eggert  <eggert@cs.ucla.edu>
69714
69715         * m4/argz.m4: New file, which is autoupdated from libtool.
69716
69717 2004-06-22  Paul Eggert  <eggert@cs.ucla.edu>
69718
69719         * lib/argz.c, lib/argz_.h: New files, which are autoupdated from
69720         libtool.
69721
69722 2004-06-22  Paul Eggert  <eggert@cs.ucla.edu>
69723
69724         * config/srclist-update: Don't insist on "USA." before the
69725         close-comment, as libtool omits the period and puts the */ on a
69726         separate line.
69727         * config/srclist.txt: Add argz.c, argz_.h, argz.m4.
69728         * config/srclistvars.sh: Add LIBTOOL (for eggert only).
69729
69730 2004-06-22  Gary V. Vaughan  <gary@gnu.org>
69731
69732         * modules/argz: New file.
69733         * MODULES.html.sh (func_all_modules): Add argz.
69734
69735 2004-06-12  Jim Meyering  <jim@meyering.net>
69736         and  Paul Eggert  <eggert@cs.ucla.edu>
69737
69738         * modules/hash (Files): Add lib/xalloc.h.
69739         * modules/pipe (Depends-on): Add wait-process.
69740         * modules/stat (Depends-on): Add xalloc.
69741         * modules/userspec (Files): Add lib/userspec.h.
69742         * modules/xstrto
69743
69744         Upgrade from gettext-0.13.
69745         * modules/gettext (Files): Add m4/intmax.m4, m4/longdouble.m4,
69746         m4/longlong.m4, m4/printf-posix.m4, m4/signed.m4, m4/size_max.m4,
69747         m4/wchar_t.m4, m4/wint_t.m4, m4/xsize.m4.
69748
69749 2004-06-10  Jim Meyering  <jim@meyering.net>
69750
69751         * lib/calloc.c: New file.
69752
69753 2004-06-06  Paul Eggert  <eggert@cs.ucla.edu>
69754
69755         * lib/getdate.y (yylex): Allow space between sign and number.
69756         Problem reported by Dan Jacobson.
69757
69758 2004-06-01  Paul Eggert  <eggert@cs.ucla.edu>
69759
69760         Merge from coreutils CVS.
69761
69762         * m4/backupfile.m4, dirname.m4, human.m4, inttypes.m4, longlong.m4,
69763         makepath.m4, memchr.m4, memcmp.m4, mountlist.m4, path-concat.m4,
69764         putenv.m4, quotearg.m4, readutmp.m4, strtoimax.m4, strtoll.m4,
69765         strtoull.m4, strtoumax.m4, ulonglong.m4, vasnprintf.m4,
69766         xstrtol.m4: Fix copyright date and/or serial number.
69767
69768         * m4/chown.m4 (gl_PREREQ_CHOWN): Check for fcntl.h.
69769         See if we need an fchown replacement.
69770         (gl_FUNC_CHOWN_FOLLOWS_SYMLINK): New macro.
69771         (gl_FUNC_CHOWN): Require gl_FUNC_CHOWN_FOLLOWS_SYMLINK,
69772         and use the replacement function if we detect either defect.
69773
69774         * m4/prereq.m4 (gl_PREREQ): Add gl_ALLOCSA, gl_CLOEXEC, gl_INTTOSTR,
69775         gl_UTIMECMP.
69776
69777 2004-06-01  Paul Eggert  <eggert@cs.ucla.edu>
69778         and  Jim Meyering  <jim@meyering.net>
69779
69780         Merge from coreutils CVS.
69781
69782         * lib/stat-macros.h: New file, with contents from file-type.h
69783         and coreutils' system.h.
69784         * lib/file-type.c: Include "stat-macros.h".
69785         * lib/file-type.h (file_type): Move all macro definitions to new file,
69786         stat-macros.h.
69787
69788         * lib/chown.c (rpl_chown) [CHOWN_FAILS_TO_HONOR_ID_OF_NEGATIVE_ONE]:
69789         Wrap old code with this conditional.
69790         [CHOWN_MODIFIES_SYMLINK]: Try to work around a chown
69791         function that does not dereference symlinks.
69792         * lib/lchown.c (lchown) [CHOWN_MODIFIES_SYMLINK]: Just call chown.
69793
69794         * lib/xreadlink.c: Include xreadlink.h first, to catch .h file
69795         dependency problems.
69796         (xreadlink): Accept new arg SIZE, for efficiency.
69797         All decls and uses changed.
69798         * lib/xreadlink.h: Include <stddef.h>, for size_t.
69799
69800         * lib/.cppi-disable: Add alloca_.h, allocsa.h, exit.h, getndelim2.h,
69801         gettext.h, localcharset.h, strdup.h, strndup.h, strtoul.c, time_r.h.
69802
69803         * lib/.cvsignore: Add alloca.h, fnmatch.h, poll.h, stdbool.h,
69804         sysexits.h.
69805
69806 2004-06-01  Jim Meyering  <jim@meyering.net>
69807
69808         * m4/calloc.m4: New file.
69809
69810 2004-05-31  Paul Eggert  <eggert@cs.ucla.edu>
69811
69812         * m4/stdbool.m4 (AC_HEADER_STDBOOL): Detect _Bool bug in HP aC++/ANSI
69813         C B3910B A.05.55 [Dec 04 2003].  Problem reported by Jim Meyering.
69814         Also, fix a typo in a diagnostic.
69815
69816 2004-05-30  Paul Eggert  <eggert@cs.ucla.edu>
69817
69818         * m4/xalloc.m4 (gl_PREREQ_XMALLOC): Do not require AC_FUNC_MALLOC
69819         or AC_FUNC_REALLOC.
69820
69821 2004-05-30  Paul Eggert  <eggert@cs.ucla.edu>
69822
69823         * lib/xmalloc.c (HAVE_MALLOC, HAVE_REALLOC): Do not require these
69824         macros to be defined.
69825         (xnmalloc_inline, xnrealloc_inline, xcalloc): Do not die if
69826         the allocator returns NULL because the requested size is zero.
69827
69828 2004-05-20  Paul Eggert  <eggert@cs.ucla.edu>
69829
69830         * lib/malloc/obstack.c (_obstack) [defined _LIBC]: Bring back this
69831         var.  Add comment explaining why libc still defines it.  This
69832         merges the following patch from glibc:
69833         http://sources.redhat.com/ml/libc-alpha/2004-05/msg00157.html
69834
69835 2004-05-20  Andreas Schwab  <schwab@suse.de>
69836
69837         * m4/free.m4: Replace free if it not known to work, not the other
69838         way round.
69839
69840 2004-05-19  Paul Eggert  <eggert@cs.ucla.edu>
69841
69842         * lib/obstack.c (_obstack): Remove unused variable.  It hasn't been
69843         present in glibc since revision 1.1 of this file.
69844         * lib/obstack.h (_obstack_free, obstack_1grow, obstack_1grow_fast,
69845         obstack_alignment_mask, obstack_alloc, obstack_base,
69846         obstack_blank, obstack_blank_fast, obstack_chunk_size,
69847         obstack_copy, obstack_copy0, obstack_finish, obstack_grow,
69848         obstack_grow0, obstack_init, obstack_int_grow,
69849         obstack_int_grow_fast, obstack_make_room, obstack_memory_used,
69850         obstack_next_free, obstack_object_size, obstack_ptr_grow,
69851         obstack_ptr_grow_fast, obstack_room): Remove declarations of
69852         nonexistent functions.
69853
69854 2004-05-18  Karl Berry  <karl@gnu.org>
69855
69856         * config/srclist.txt: break link for vasnprintf.c.
69857
69858 2004-05-17  Paul Eggert  <eggert@cs.ucla.edu>
69859
69860         Port obstack to the AS/400, where pointers are 16 bytes wide and
69861         you cannot cast an integer to a valid pointer.  This patch is
69862         currently waiting to be integrated into glibc; see
69863         <http://sources.redhat.com/ml/libc-alpha/2004-05/msg00073.html>.
69864
69865         * lib/obstack.h (__PTR_TO_INT, __INT_TO_PTR): Remove.
69866         All uses of __INT_TO_PTR (PTR_TO_INT ...) replaced by __PTR_ALIGN.
69867         (__BPTR_ALIGN, __PTR_ALIGN): New macros.
69868         (struct obstack): temp member is now a union of a pointer and
69869         an integer, instead of an integer.  All integer uses changed.
69870         This does not affect the physical layout of struct obstack,
69871         except on hosts (like the AS/400) where the size or alignment of
69872         void * is greater than that of ptrdiff_t.
69873         (obstack_finish) [! (defined __GNUC__ && defined __STDC__ &&
69874         __STDC__)]: Store temporary in pointer member of union, not
69875         integer member.
69876         * lib/obstack.c: Include <stddef.h>, for offsetof.
69877         (struct fooalign): Remove; it doesn't need a name.
69878         (union fooround): Change double to long double, and add void *.
69879         (DEFAULT_ALIGNMENT): Use offsetof to compute.
69880         (DEFAULT_ALIGNMENT, DEFAULT_ROUNDING): Now an enum constant,
69881         not a macro.  Hence the values are always int; so remove all
69882         casts-to-int in uses.
69883
69884 2004-05-17  Paul Eggert  <eggert@cs.ucla.edu>
69885
69886         * config/srclist.txt: Break link for argp-help.c and argp-parse.c until
69887         we can get this patch merged into glibc.
69888
69889 2004-05-17  Derek R. Price  <derek@ximbiot.com>
69890             Paul Eggert  <eggert@cs.ucla.edu>
69891
69892         * m4/argp: Depend on alloca.
69893
69894 2004-05-17  Derek R. Price  <derek@ximbiot.com>
69895             Paul Eggert  <eggert@cs.ucla.edu>
69896
69897         * lib/argp-help.c, argp-parse.c: Assume <alloca.h> rather than
69898         freecoding.
69899
69900 2004-05-17  Bruno Haible  <bruno@clisp.org>
69901
69902         * lib/vasnprintf.c (VASNPRINTF): Correctly handle the case of a
69903         precision that consists of a '.' followed by an empty digit string.
69904         Patch by Tor Lillqvist <tml@iki.fi>.
69905
69906 2004-05-16  Paul Eggert  <eggert@cs.ucla.edu>
69907
69908         * m4/alloca.m4 (gl_FUNC_ALLOCA): Define HAVE_ALLOCA_H always,
69909         for backward compatibility with older code.  We need our own
69910         alloca.h if _AIX is defined.  Define HAVE_ALLOCA if we discover
69911         it under some other name, and our alloca.h will define it.
69912
69913 2004-05-16  Paul Eggert  <eggert@cs.ucla.edu>
69914             Derek Price  <derek@ximbiot.com>
69915
69916         * lib/alloca.c: Include <alloca.h>, to get our interface.
69917         * lib/alloca_.h: Use __alloca on AIX, so that we don't have to
69918         include <alloca.h> first.  Use C89 prototype for alloca; this
69919         requires including <stddef.h> for size_t.  Use extern "C" if C++.
69920         Use #elif for simplicity, since we can assume C89 now.
69921         Don't try to source the system alloca.h since it will not be found
69922         and to prevent recursively including its replacement.
69923         * lib/fnmatch.c: Include <alloca.h> instead of opencoding.
69924         * lib/regex.c: Likewise.
69925
69926 2004-05-16  Derek Price  <derek@ximbiot.com>
69927             Paul Eggert  <eggert@cs.ucla.edu>
69928
69929         getline cleanup.  This changes the getndelim2 API: both order of
69930         arguments, and meaning of delim2 (now uses EOF, not 0, to indicate
69931         no delimiter).
69932
69933         * lib/getline.c: Don't include stddef.h or stdio.h, since our
69934         interface does that.
69935         (getline): Always use getdelim, so that we don't have two
69936         copies of this code.
69937         * lib/getndelim2.c: Include <limits.h>, <inttypes.h>, <stdint.h>
69938         if available.
69939         (PTRDIFF_MAX, SIZE_MAX, SSIZE_MAX): Define if not defined.
69940         (GETNDELIM2_MAXIMUM): New macro.
69941         (getndelim2): Reorder arguments.  delim==EOF now means no delimiter,
69942         instead of the old practice of delim2==0.  All callers changed.
69943         Return -1 on overflow, instead of returning junk.
69944         Do not set *linesize unless allocation succeeds.
69945         * lib/getndelim2.h: Do not include stddef.h; no longer needed, now
69946         that we include sys/types.h.
69947         * lib/getnline.h: Likewise.
69948         * lib/getndelim2.h (GETNLINE_NO_LIMIT): New macro.
69949         (getndelim2): Reorder arguments.
69950         * lib/getnline.c (getnline, getndelim):
69951         Don't discard the NMAX argument.
69952         (getnline): Invoke getndelim, to avoid code duplication.
69953         * lib/getnline.h (GETNLINE_NO_LIMIT): New macro, used instead
69954         of (size_t) -1 by callers of the getnline family.
69955
69956 2004-05-13  Paul Eggert  <eggert@cs.ucla.edu>
69957
69958         * m4/gettime.m4 (gl_GETTIME): Require gl_TIMESPEC.
69959         Check for gettimeofday.
69960         * m4/settime.m4 (gl_SETTIME): Require gl_TIMESPEC.
69961         Check for settimeofday, stime.
69962
69963 2004-05-13  Paul Eggert  <eggert@cs.ucla.edu>
69964
69965         * lib/nanosleep.c (suspended): Change its type from int to
69966         sig_atomic_t volatile.
69967         (first_call): Make it private to rpl_nanosleep, and have it
69968         be zero initially as that's a bit faster.
69969         (my_usleep): Round up fractional times instead of truncating them,
69970         as this is the usual meaning for 'sleep'.
69971
69972         * lib/gettime.c (gettime): Fall back on `time' if `gettimeofday'
69973         doesn't work.
69974         * lib/settime.c: Include <unistd.h>, for stime (on Solaris 8, anyway).
69975         (ENOSYS): Define if not defined.
69976         (settime): Fall back on stime if it exists and settimeofday fails.
69977         But don't bother with fallbacks if a method fails with errno == EPERM.
69978
69979 2004-05-11  Jim Meyering  <jim@meyering.net>
69980
69981         Prior to this change, the save_cwd caller required read access to the
69982         current directory on most systems (ones with the fchdir function).
69983
69984         * lib/save-cwd.c (save_cwd) [HAVE_FCHDIR]: If opening `.' read-only
69985         fails, try write-only, and finally, resort to using xgetcwd.
69986
69987 2004-05-06  Paul Eggert  <eggert@cs.ucla.edu>
69988
69989         * lib/obstack.c, obstack.h: Import changes from libc.
69990
69991 2004-04-28  Bruno Haible  <bruno@clisp.org>
69992
69993         * lib/findprog.c (find_in_path): Treat Cygwin like Windows, since it
69994         also implicitly appends .exe to executables.
69995         * lib/localcharset.c (ISSLASH): Treat Cygwin like Windows, since it now
69996         accepts Windows pathnames.
69997         * lib/pathname.h (ISSLASH, IS_PATH_WITH_DIR, FILESYSTEM_PREFIX_LEN):
69998         Treat Cygwin like Windows, since it now accepts Windows pathnames.
69999         * lib/progreloc.c (ISSLASH, IS_PATH_WITH_DIR, FILESYSTEM_PREFIX_LEN):
70000         Treat Cygwin like Windows, since it now accepts Windows pathnames.
70001         Reported by Derek Robert Price <derek@ximbiot.com>.
70002
70003 2004-04-21  Karl Berry  <karl@gnu.org>
70004
70005         * config/srclist.txt (localcharset.c): break sync.
70006
70007 2004-04-20  Paul Eggert  <eggert@twinsun.com>
70008
70009         * m4/host-os.m4: Add a copyright notice.
70010
70011 2004-04-20  Jim Meyering  <jim@meyering.net>
70012
70013         Change UTILS_ to gl_ in AC_DEFINE'd names.
70014         Change utils_- and jm_-prefixed variables, too.
70015         * m4/mkdir-slash.m4 (gl_FUNC_MKDIR_TRAILING_SLASH): Renamed from
70016         UTILS_FUNC_MKDIR_TRAILING_SLASH.
70017         * m4/mkstemp.m4 (gl_FUNC_MKSTEMP): Renamed from UTILS_FUNC_MKSTEP.
70018
70019         * m4/dirfd.m4 (gl_FUNC_DIRFD): Rename from UTILS_FUNC_DIRFD.
70020         Don't emit trailing blanks.
70021         Also rename jm_-prefixed variables to have gl_ prefix.
70022
70023         * m4/host-os.m4 (gl_HOST_OS): Rename from UTILS_HOST_OS.
70024         Also rename jm_-prefixed variables to have gl_ prefix.
70025
70026         * m4/jm-macros.m4: Reflect the renamings.
70027         * m4/prereq.m4: Likewise.
70028
70029 2004-04-20  Jim Meyering  <jim@meyering.net>
70030
70031         * lib/getndelim2.c (getndelim2): Upon realloc failure, don't leak
70032         memory.
70033
70034 2004-04-20  Jim Meyering  <jim@meyering.net>
70035             Bruno Haible  <bruno@clisp.org>
70036
70037         * lib/localcharset.c (get_charset_aliases) [!VMS && !WIN32]: Don't leak
70038         memory when realloc fails.
70039
70040 2004-04-19  Jim Meyering  <jim@meyering.net>
70041
70042         * m4/readutmp.m4 (gl_PREREQ_READUTMP): Require gl_FUNC_FREE,
70043         now that readutmp.c may call `free (0)'.
70044
70045 2004-04-19  Bruno Haible  <bruno@clisp.org>
70046
70047         * m4/mbrtowc.m4: Change jm_ to gl_ in cache variables as well.
70048         * m4/inttypes_h.m4: Likewise.
70049         * m4/stdint_h.m4: Likewise.
70050         * m4/intmax_t.m4: Likewise.
70051         * m4/uintmax_t.m4: Likewise.
70052
70053 2004-04-18  Jim Meyering  <jim@meyering.net>
70054
70055         * m4/prereq.m4: Don't forbid jm_ prefix.
70056
70057         * m4/afs.m4, m4/allocsa.m4, m4/assert.m4, m4/backupfile.m4:
70058         * m4/bison.m4, m4/check-decl.m4, m4/chown.m4, m4/d-ino.m4:
70059         * m4/d-type.m4, m4/dirname.m4, m4/dos.m4, m4/error.m4, m4/fpending.m4:
70060         * m4/fstypename.m4, m4/fsusage.m4, m4/ftruncate.m4, m4/getdate.m4:
70061         * m4/getgroups.m4, m4/gettext.m4, m4/glibc21.m4, m4/group-member.m4:
70062         * m4/human.m4, m4/intmax.m4, m4/intmax_t.m4, m4/inttostr.m4:
70063         * m4/inttypes.m4, m4/inttypes_h.m4, m4/jm-macros.m4, m4/jm-winsz1.m4:
70064         * m4/jm-winsz2.m4, m4/lchown.m4, m4/lib-check.m4, m4/link-follow.m4:
70065         * m4/localcharset.m4, m4/longlong.m4, m4/ls-mntd-fs.m4, m4/lstat.m4:
70066         * m4/makepath.m4, m4/mbrtowc.m4, m4/mbswidth.m4, m4/memchr.m4:
70067         * m4/memcmp.m4, m4/mkdtemp.m4, m4/mkstemp.m4, m4/mountlist.m4:
70068         * m4/nanosleep.m4, m4/path-concat.m4, m4/perl.m4, m4/prereq.m4:
70069         * m4/putenv.m4, m4/quotearg.m4, m4/regex.m4, m4/stat.m4:
70070         * m4/stdint_h.m4, m4/strftime.m4, m4/strtoimax.m4, m4/strtoll.m4:
70071         * m4/strtoull.m4, m4/strtoumax.m4, m4/timespec.m4, m4/uintmax_t.m4:
70072         * m4/ulonglong.m4, m4/unlink-busy.m4, m4/unlocked-io.m4, m4/uptime.m4,
70073         * m4/utimbuf.m4, m4/utime.m4, m4/utimes-null.m4, m4/vasnprintf.m4:
70074         * m4/xstrtoimax.m4, m4/xstrtol.m4, m4/xstrtoumax.m4:
70075         Change jm_ to gl_ in AC_DEFINE'd names. Update all uses.
70076
70077 2004-04-18  Jim Meyering  <jim@meyering.net>
70078
70079         * lib/readutmp.c (read_utmp) [UTMP_NAME_FUNCTION]: Upon realloc
70080         failure, don't leak memory and do call END_UTMP_ENT.
70081
70082 2004-04-16  Jim Meyering  <jim@meyering.net>
70083
70084         * m4/prereq.m4 (jm_PREREQ_STAT): Remove macro.  It is specific to
70085         coreutils' stat program.
70086         (gl_PREREQ): Don't require jm_PREREQ_STAT.
70087
70088 2004-04-11  Paul Eggert  <eggert@twinsun.com>
70089
70090         * lib/inttostr.h: Include <limits.h> unconditionally, since we assume
70091         C89.
70092         (CHAR_BIT): Remove, since we assume C89.
70093         Include <stdint.h> if available, as per current Autoconf CVS advice.
70094
70095 2004-03-31  Jim Meyering  <jim@meyering.net>
70096
70097         * m4/prereq.m4: Require AC_FUNC_MALLOC, not jm_FUNC_MALLOC.
70098         Require AC_FUNC_REALLOC, not jm_FUNC_REALLOC.
70099         * m4/xalloc.m4: Likewise.
70100
70101 2004-03-30  Paul Eggert  <eggert@twinsun.com>
70102
70103         Merge from coreutils.
70104
70105         * m4/inttostr.m4: New file.
70106         * m4/getdate.m4 (gl_GETDATE): Remove time-related stuff.
70107         Require AM_STDBOOL_H and gl_TIMESPEC instead.
70108         Require gl_CLOCK_TIME.
70109         * m4/clock_time.m4 (gl_CLOCK_TIME): Require AC_GNU_SOURCE.
70110
70111 2004-03-30  Paul Eggert  <eggert@twinsun.com>
70112
70113         * lib/cloexec.h, cloexec.c (set_cloexec_flag): Return int
70114         not bool, to be more consistent with Unix conventions.
70115         Suggested by Bruno Haible.
70116
70117         Merge from coreutils.
70118
70119         * lib/imaxtostr.c, lib/inttostr.c, lib/inttostr.h, lib/offtostr.c:
70120         * lib/umaxtostr.c: New files.
70121
70122         * lib/getdate.h: Include stdbool.h, and timespec.h instead of
70123         the usual <time.h> dance.
70124         (get_date): Change signature to support fractional time stamps.
70125         All callers changed.
70126         * lib/getdate.y: Include "getdate.h" first, as we can now
70127         assume C89 and don't need to worry about 'const'.
70128         Similarly, include "unlocked-io.h" near start, not in middle.
70129         Include <limits.h>.
70130         (textint.value): Use long int rather than int.
70131         (textint.digits): Use size_t rather than int.
70132         (BILLION, LOG10_BILLION): New constants.
70133         (parser_control): New member rel_ns.  Members day_ordinal,
70134         time_zone, month, day, hour, minutes, rel_year, rel_month,
70135         rel_day, rel_hour, rel_minutes, rel_seconds
70136         are now long int, not int.  Member seconds is now struct timespec,
70137         not int.  New member timespec_seen.  Members dates_seen, days_seen,
70138         local_zones_seen, rels_seen, times_seen, zones_seen are now size_t,
70139         not int.
70140         (%union.intval): Now long int, not int.
70141         New member timespec.
70142         (tSDECIMAL_NUMBER, tUDECIMAL_NUMBER): New tokens.
70143         (seconds, signed_seconds, unsigned_seconds): New nonterminals.
70144         (spec): Now is a timespec or an item list.
70145         (timespec, items): New nonterminals.
70146         (time, rel, relunit, number, get_date):
70147         Add support for fractional seconds.
70148         (time): Fix bug: seconds weren't cleared in "00:00 +0000" syntax.
70149         (gmtime, localtime, mktime): Remove decls; not needed with C89.
70150         (to_hour): First arg is now long int, not int.
70151         (to_year): Returns long int, not int.
70152         Don't treat year -70 like 70.
70153         (tm_diff): Returns long int, not int.
70154         (lookup_word): Use bool instead of int when appropriate.
70155         (yylex): Use size_t for count, not int.
70156         Detect overflow when parsing large integer constants.
70157         Add support for fractions.
70158         (get_date): Make pointers 'const' if possible.
70159         Use more-portable code to detect integer overflow.
70160         (main) [TEST]: Adjust to above changes.  Test for localtime failure.
70161         Don't use ctime; it's not reliable if the year has >4 digits.
70162
70163         * lib/human.c (humblock): Inspect BLOCKSIZE if BLOCK_SIZE isn't set.
70164         This is for compatibility with BSD.
70165
70166         * lib/timespec.h (ST_TIME_CMP_NS, ST_TIME_CMP): Define.
70167         (ATIME_CMP, CTIME_CMP, MTIME_CMP, TIMESPEC_NS): Likewise.
70168         From coreutils' system.h.
70169
70170         * lib/userspec.c: Don't include "posixver.h".
70171         (parse_user_spec): Fall back on USER.GROUP parsing, regardless
70172         of POSIX version, as POSIX 1003.1-2001 allows that behavior as a
70173         compatible extension.  Simplify code by removing a boolean int
70174         that was always nonzero if a string was nonnull.
70175
70176 2004-03-30  Jim Meyering  <jim@meyering.net>
70177
70178         Merge from coreutils.
70179
70180         Avoid a configure-time warning about sys/ucred.h on OSF V4.0.
70181         * m4/ls-mntd-fs.m4: Test for sys/ucred.h separately, since
70182         on some systems one must include <grp.h> before it.
70183         Reported by Christian Krackowizer.
70184
70185 2004-03-30  Jim Meyering  <jim@meyering.net>
70186
70187         Merge from coreutils.
70188
70189         * lib/mountlist.c [HAVE_SYS_UCRED_H]: Include grp.h before sys/ucred.h.
70190
70191         * lib/readtokens.c (readtoken): Don't leak 64 bytes when reading
70192         an empty input stream.
70193
70194         * lib/readtokens.c: Include <stdbool.h>.
70195         (readtoken): Use `size_t' rather than int/long.
70196         All callers adjusted.
70197         Use `bool' rather than `int' where appropriate.
70198         Use memset rather than an explicit loop.
70199         Use x2nrealloc rather than xrealloc.
70200         Allow the use of `\0' as a delimiter.
70201         (readtokens): Likewise.
70202         * lib/readtokens.h (readtoken, readtokens): Update prototypes.
70203
70204 2004-03-30  Jim Meyering  <jim@meyering.net>
70205
70206         * m4/realloc.m4: Remove file, since now it does no more than
70207         AC_REQUIRE([AC_FUNC_REALLOC]), and that can be done via
70208         the `configure.ac' section of module/realloc.
70209         * m4/malloc.m4: Likewise, but for AC_FUNC_MALLOC.
70210
70211 2004-03-30  Bruno Haible  <bruno@clisp.org>
70212
70213         * lib/getloadavg.c (getloadavg): Don't assume setlocale returns
70214         nonnull.
70215
70216 2004-03-29  Paul Eggert  <eggert@twinsun.com>
70217
70218         Merge changes to getloadavg.c from coreutils and Emacs.
70219
70220         * lib/getloadavg.c [!defined HAVE_SETLOCALE] (setlocale):
70221         Define to an expression, not to the empty string.
70222         Include cloexec.h and xalloc.h.
70223         (getloadavg): Restore LC_NUMERIC locale after setting it temporarily.
70224         Use set_cloexec_flag rather than rolling our own.
70225         * lib/cloexec.c, lib/cloexec.h: New files.
70226
70227 2004-03-29  Paul Eggert  <eggert@twinsun.com>
70228
70229         * m4/cloexec.m4: New file.
70230
70231 2004-03-18  Paul Eggert  <eggert@twinsun.com>
70232
70233         * lib/getopt.h: Sync with libc CVS.
70234
70235 2004-03-18  Paul Eggert  <eggert@twinsun.com>
70236             Bruno Haible  <bruno@clisp.org>
70237
70238         * m4/mbswidth.m4 (gl_MBSWIDTH): Also test whether <wchar.h> declares
70239         mbswidth.
70240
70241 2004-03-18  Paul Eggert  <eggert@twinsun.com>
70242             Bruno Haible  <bruno@clisp.org>
70243
70244         * lib/mbswidth.h: Include <wchar.h> only if
70245         HAVE_DECL_MBSWIDTH_IN_WCHAR_H, not on all platforms that have
70246         <wchar.h>.
70247         * lib/mbswidth.c: Include <stdio.h> and <time.h> before <wchar.h>.
70248
70249 2004-03-09  Paul Eggert  <eggert@twinsun.com>
70250
70251         * lib/argp-parse.c, getopt.c, getopt.h, getopt1.c:
70252         Sync with libc CVS.
70253         * lib/getopt_int.h: New file, also synced from libc.
70254
70255 2004-03-09  Paul Eggert  <eggert@twinsun.com>
70256
70257         * config/srclistvars.sh: Add GNUWWWLICENSES for eggert.
70258         * config/srclist.txt: Sync getopt with libc.  Add getopt_int.h.
70259         Bring back getopt.c, getopt.h, getopt1.c.
70260
70261 2004-03-07  Paul Eggert  <eggert@twinsun.com>
70262
70263         * m4/c-stack.m4 (gl_PREREQ_C_STACK): Renamed from jm_PREREQ_C_STACK.
70264         All uses changed.  Check for sa_sigaction member; this fixes
70265         a bug first reported by Jason Andrade in
70266         <http://mail.gnu.org/archive/html/bug-textutils/2003-03/msg00027.html>.
70267
70268 2004-03-07  Paul Eggert  <eggert@twinsun.com>
70269
70270         * lib/c-stack.c (SIGACTION_WORKS): New macro.  Use it instead of long
70271         '#if' expressions.  Unlike the code it replaces, it does not
70272         depend on (defined _SC_PAGESIZE).  However, it does depend on
70273         HAVE_STRUCT_SIGACTION_SA_SIGACTION; this last change fixes a bug
70274         first reported by Jason Andrade in
70275         <http://mail.gnu.org/archive/html/bug-textutils/2003-03/msg00027.html>.
70276
70277 2004-02-25  Simon Josefsson  <jas@extundo.com>
70278
70279         * m4/strdup.m4 (gl_PREREQ_STRDUP): Check whether strdup is declared.
70280
70281 2004-02-25  Simon Josefsson  <jas@extundo.com>
70282
70283         * lib/strdup.h: New file.
70284         * lib/strdup.c: Include it.
70285         * lib/path-concat.c: Include strdup.h. Drop strdup declaration.
70286         * lib/userspec.c: Include strdup.h. Drop strdup declaration.
70287
70288 2004-02-23  Karl Berry  <karl@gnu.org>
70289
70290         * doc/maintain.texi, doc/standards.texi, doc/make-stds.texi: new files
70291         (from fencepost.gnu.org:/gd/gnuorg).
70292
70293 2004-02-23  Karl Berry  <karl@gnu.org>
70294
70295         * config/srclistvars.sh (GNUORG) [karl]: redefine.
70296         * config/srclist.txt: add maintain/standards documents.
70297
70298 2004-02-18  Bruno Haible  <bruno@clisp.org>
70299
70300         * m4/xsize.m4 (gl_XSIZE): Require AC_C_INLINE.
70301         Reported by Derek Robert Price <derek@ximbiot.com>.
70302
70303 2004-02-16  Karl Berry  <karl@gnu.org>
70304
70305         * config/mkinstalldirs, install-sh: update from automake.
70306
70307 2004-02-06  Karl Berry  <karl@gnu.org>
70308
70309         * m4/po.m4: update from gettext 0.14.1.
70310
70311 2004-02-06  Karl Berry  <karl@gnu.org>
70312
70313         * lib/config.charset: update from gettext 0.14.1.
70314
70315 2004-02-05  Paul Eggert  <eggert@twinsun.com>
70316
70317         Add comments and code, prompted by suggestions from Bruno Haible
70318         for sh-quote.
70319         * lib/quotearg.h (quotearg_alloc): New decl.  Improve the comments
70320         describing the enum quoting_style values.
70321         * lib/quotearg.c (quotearg_alloc): New function.
70322         (quotearg_buffer_restyled): Treat lone { and } as special.
70323         Treat = as special.  Work around bug with older shells
70324         that "see" a '\' that is really the 2nd byte of a multibyte char.
70325         Quote empty string with shell_quoting_style.
70326
70327 2004-02-03  Bruno Haible  <bruno@clisp.org>
70328
70329         * m4/pipe.m4: New file, from GNU gettext.
70330
70331 2004-02-03  Bruno Haible  <bruno@clisp.org>
70332
70333         * lib/pipe.h: New file, from GNU gettext.
70334         * lib/pipe.c: New file, from GNU gettext.
70335
70336 2004-01-27  Bruno Haible  <bruno@clisp.org>
70337
70338         * m4/execute.m4: New file, from GNU gettext.
70339
70340 2004-01-27  Bruno Haible  <bruno@clisp.org>
70341
70342         * lib/execute.h: New file, from GNU gettext.
70343         * lib/execute.c: New file, from GNU gettext.
70344         * lib/w32spawn.h: New file, from GNU gettext.
70345
70346 2004-01-24  Paul Eggert  <eggert@twinsun.com>
70347
70348         Merge from diffutils.
70349
70350         * lib/file-type.c (file_type): Add typed memory objects.
70351         * lib/file-type.h (S_TYPEISTMO): New macro.
70352
70353         * lib/c-stack.h (c_stack_action): Remove argv argument.
70354         * lib/c-stack.c (c_stack_action): Likewise.  All uses changed.
70355         (die): Don't calculate message unless segv_action returns.
70356         (get_stack_location, min_address_from_argv, max_address_from_argv,
70357         volatile stack_base, volatile_stack_size): Remove.
70358         (segv_handler): If ! HAVE_XSI_STACK_OVERFLOW_HEURISTIC, assume
70359         that every segmentation violation is a stack overflow.  (Ouch!)
70360         See Debian bug 136249 (still outstanding) for more info about why
70361         HAVE_XSI_STACK_OVERFLOW_HEURISTIC fails on Linux kernels.
70362
70363 2004-01-24  Paul Eggert  <eggert@twinsun.com>
70364
70365         Exit-status fix from coreutils.
70366
70367         Use exit_failure consistently in place of EXIT_FAILURE,
70368         so that program exit statuses are consistent on failure.
70369
70370         * lib/argmatch.c (ARGMATCH_DIE) [! defined ARGMATCH_DIE]:
70371         Include "exitfail.h", and use exit_failure rather than EXIT_FAILURE.
70372         * lib/argmatch.h: Comment fix to match the above.
70373         * lib/obstack.c (obstack_exit_failure) [!defined _LIBC]:
70374         Now a macro referring to exit_failure, instead of a separate
70375         variable.  Include "exitfail.h" to get it.
70376         * lib/xstrtol.h: Include "exitfail.h".
70377         (STRTOL_FATAL_ERROR): Exit with status exit_failure, not 2.
70378
70379         * lib/long-options.c (parse_long_options): Use prototype
70380         for usage function arg.  Pass it EXIT_SUCCESS rather than 0,
70381         for clarity.
70382
70383 2004-01-21  Jim Meyering  <jim@meyering.net>
70384
70385         * lib/mktime.c (__mktime_internal) [!_LIBC]: Define to mktime_internal
70386         so as not to conflict with a different-sized __mktime_internal
70387         function in GNU libc.
70388         * lib/timegm.c (__mktime_internal) [!_LIBC]: Likewise.
70389         Problem building statically-linked `ls' reported by Michael Brunnbauer.
70390
70391 2004-01-20  Karl Berry  <karl@gnu.org>
70392
70393         * config/config.guess: update from config.
70394
70395         * config/srclistvars.sh: GNUWWWLICENSES for karl.
70396
70397 2004-01-20  Bruno Haible  <bruno@clisp.org>
70398
70399         Safer stack allocation.
70400         * lib/setenv.c: Include allocsa.h.
70401         (alloca): Remove fallback definition.
70402         (freea): Remove macro.
70403         (__add_to_environ) [!_LIBC]: Use allocsa instead of alloca. Use freesa
70404         instead of freea.
70405
70406 2004-01-20  Bruno Haible  <bruno@clisp.org>
70407
70408         * m4/eealloc.m4: New file, from GNU gettext.
70409
70410 2004-01-20  Bruno Haible  <bruno@clisp.org>
70411
70412         * m4/allocsa.m4: New file, from GNU gettext.
70413
70414 2004-01-20  Bruno Haible  <bruno@clisp.org>
70415
70416         * lib/xallocsa.h: New file, from GNU gettext.
70417         * lib/xallocsa.c: New file, from GNU gettext.
70418
70419 2004-01-20  Bruno Haible  <bruno@clisp.org>
70420
70421         * lib/wait-process.c: On Windows, include windows.h. Needed on mingw.
70422
70423 2004-01-20  Bruno Haible  <bruno@clisp.org>
70424
70425         * lib/wait-process.c (wait_subprocess): Add ignore_sigpipe argument.
70426         * lib/wait-process.c (wait_subprocess): Likewise. Handle SIGPIPE
70427         specially.
70428
70429 2004-01-20  Bruno Haible  <bruno@clisp.org>
70430
70431         * lib/wait-process.c (wait_process): Disable the 2003-10-31 waitid()
70432         patch.
70433
70434 2004-01-20  Bruno Haible  <bruno@clisp.org>
70435
70436         * lib/wait-process.c (cleanup_slaves): Use ANSI C declaration.
70437
70438 2004-01-20  Bruno Haible  <bruno@clisp.org>
70439
70440         * lib/eealloc.h: New file.
70441
70442 2004-01-20  Bruno Haible  <bruno@clisp.org>
70443
70444         * lib/binary-io.h: Avoid warnings on Cygwin.
70445
70446 2004-01-20  Bruno Haible  <bruno@clisp.org>
70447
70448         * lib/allocsa.h: New file, from GNU gettext.
70449         * lib/allocsa.c: New file, from GNU gettext.
70450
70451 2004-01-18  Karl Berry  <karl@gnu.org>
70452
70453         * doc/gpl.texi, doc/lgpl.texi: new files.
70454
70455 2004-01-18  Karl Berry  <karl@gnu.org>
70456
70457         * config/srclistvars.sh (GNUWWWLICENSES): new variable.
70458         * config/srclist.txt ({fdl,gpl,lgpl}.text): get from there.
70459
70460 2004-01-15  Paul Eggert  <eggert@twinsun.com>
70461
70462         Merge from coreutils.
70463
70464         * m4/jm-macros.m4 (jm_CHECK_ALL_TYPES): Check for uintptr_t.
70465         * m4/posixver.m4 (gl_POSIXVER): Require gl_DEFAULT_POSIX2_VERSION.
70466         (gl_DEFAULT_POSIX2_VERSION): Move
70467         the documentation from 'configure' into 'config.hin',
70468         so that 'configure --help' isn't burdened by it and
70469         we don't have to worry about its formatting there.
70470         Reword the documentation so that it's more succinct
70471         and can be run together into a single paragraph.
70472         * m4/same.m4 (gl_SAME): Check for pathconf.
70473
70474 2004-01-15  Paul Eggert  <eggert@twinsun.com>
70475
70476         Merge from coreutils.
70477
70478         * lib/posixver.c: Include posixver.h.
70479
70480         * lib/same.c: Include <stdbool.h>, <limits.h>.
70481         (_POSIX_NAME_MAX): Define if not defined.
70482         (MIN): New macro.
70483         (same_name): If file names are silently truncated, report
70484         that the file names are the same if they are the same after
70485         the silent truncation.
70486
70487         * lib/xstrtod.h (xstrtod): Accept an extra arg, specifying the
70488         conversion function.
70489         * lib/xstrtod.c (xstrtod): Likewise.  All callers changed to
70490         include c-strtod.h and use c_strtod.  Don't include stdlib.h; no
70491         longer needed.
70492
70493 2004-01-15  Jim Meyering  <jim@meyering.net>
70494
70495         Merge from coreutils.
70496
70497         * m4/clock_time.m4 (gl_CLOCK_TIME): Don't set LIB_CLOCK_GETTIME
70498         if no library is required.
70499         * m4/jm-macros.m4: Don't require UTILS_SYS_OPEN_MAX.
70500         * m4/jm-macros.m4 (jm_MACROS): Require gl_FUNC_FREE.
70501         * m4/jm-macros.m4 (jm_MACROS): Require autoconf-2.58.
70502         (AC_LANG_SOURCE): Remove definition, now that we require autoconf-2.58.
70503         * m4/jm-macros.m4 (jm_MACROS): Don't require AC_FUNC_FTW.
70504         * m4/lib-check.m4 (jm_LIB_CHECK): Do not set LIB_CRYPT to the
70505         value, $ac_cv_search_crypt, if it's "none required".
70506         * m4/posixver.m4 (gl_DEFAULT_POSIX2_VERSION): New macro.
70507         * m4/prereq.m4 (jm_PREREQ): Require AC_FUNC_GETLOADAVG,
70508         not gl_FUNC_GETLOADAVG.
70509         * m4/prereq.m4 (jm_PREREQ): Require gl_READTOKENS, gl_MD5, gl_MAKEPATH,
70510         gl_LONG_OPTIONS, and gl_IDCACHE, gl_GETUGROUPS.
70511
70512 2004-01-15  Jim Meyering  <jim@meyering.net>
70513
70514         Merge from coreutils.
70515
70516         * lib/md5.h (rol) [__GNUC__ && __i386__]: Don't use `asm' code.  These
70517         days, gcc-3.x does better all by itself.  Patch from Dean Gaudet:
70518         http://mail.gnu.org/archive/html/bug-coreutils/2003-11/msg00144.html
70519
70520         * lib/posixver.c (DEFAULT_POSIX2_VERSION): Use definition of new,
70521         optional configure-time default.
70522
70523         * lib/version-etc.c (version_etc_copyright): Update copyright date.
70524
70525         * lib/xreadlink.c (xreadlink): Correct outdated comment.
70526
70527 2004-01-15  Alexandre Duret-Lutz  <adl@gnu.org>
70528
70529         Merge from coreutils.
70530
70531         * m4/nanosleep.m4 (jm_FUNC_NANOSLEEP): Do not set LIB_NANOSLEEP to the
70532         value, $ac_cv_search_nanosleep, if it's "none required".
70533
70534 2004-01-14  Paul Eggert  <eggert@twinsun.com>
70535
70536         * lib/fnmatch_loop.c (ALLOCA_LIMIT): Remove macro, which collided
70537         with like-named macro in fnmatch.c.
70538         (EXT): Use an internal constant instead.
70539
70540         Merge fnmatch patches from glibc.
70541         * lib/fnmatch.c (mbsinit): Remove define.
70542         Add libc_hidden_ver (__fnmatch, fnmatch).
70543         * lib/fnmatch_loop.c (FCT): Cast to int32_t and UCHAR when appropriate.
70544         Adjust to renaming of collseq_table_lookup to __collseq_table_lookup.
70545
70546 2004-01-14  Karl Berry  <karl@gnu.org>
70547
70548         * config/install-sh: update from automake.
70549
70550 2004-01-13  Karl Berry  <karl@gnu.org>
70551
70552         * config/install-sh: update from automake.
70553
70554 2004-01-09  Karl Berry  <karl@gnu.org>
70555
70556         * config/install-sh: update from automake.
70557
70558 2004-01-05  Karl Berry  <karl@gnu.org>
70559
70560         * config/config.{sub,guess}: update from config.
70561
70562 2003-12-31  Karl Berry  <karl@gnu.org>
70563
70564         * config/depcomp: update from automake.
70565
70566 2003-12-14  Karl Berry  <karl@gnu.org>
70567
70568         * lib/config.charset: update from gettext-runtime.
70569
70570 2003-12-03  Paul Eggert  <eggert@twinsun.com>
70571
70572         * lib/getgroups.c (getgroups): xmalloc takes one argument, not two.
70573         Bug reported by Alfred M. Szmidt.
70574
70575 2003-12-03  Bruno Haible  <bruno@clisp.org>
70576
70577         * m4/gettext.m4: Upgrade from gettext-0.13.
70578         * m4/po.m4: Upgrade from gettext-0.13.
70579         * m4/size_max.m4 (gl_SIZE_MAX): Don't use the _ONCE macros here.
70580         * m4/intmax.m4: New file, from gettext-0.13.
70581         * m4/printf-posix.m4: New file, from gettext-0.13.
70582
70583 2003-11-29  Karl Berry  <karl@gnu.org>
70584
70585         * lib/argp-{help.c,parse.c,namefrob.h}, argp.h: update from libc.
70586
70587 2003-11-25  Paul Eggert  <eggert@twinsun.com>
70588             Bruno Haible  <bruno@clisp.org>
70589
70590         * lib/printf-parse.h: Don't include sys/types.h.
70591         (ARG_NONE): New macro.
70592         (char_directive): Change type of *arg_index fields to size_t.
70593         * lib/printf-parse.c: Don't include sys/types.h.
70594         (SSIZE_MAX): Remove macro.
70595         (PRINTF_PARSE): Change the type of the arg_index variables to size_t.
70596         Remove unnecessary overflow check.
70597         * lib/vasnprintf.c (VASNPRINTF): Update for type change of *arg_index
70598         fields.
70599
70600 2003-11-25  Bruno Haible  <bruno@clisp.org>
70601
70602         * modules/vasnprintf (Files): Remove m4/ssize_t.m4.
70603
70604 2003-11-25  Bruno Haible  <bruno@clisp.org>
70605
70606         * m4/vasnprintf.m4 (gl_PREREQ_PRINTF_PARSE): Don't require
70607         gt_TYPE_SSIZE_T.
70608
70609 2003-11-24  Paul Eggert  <eggert@twinsun.com>
70610
70611         * modules/alloca: Remove dependency on xalloc.
70612
70613 2003-11-24  Paul Eggert  <eggert@twinsun.com>
70614
70615         * lib/alloca.c: Remove dependency on xalloc module.
70616         (xalloc_die): Remove.
70617         (memory_full) [!defined emacs]: New macro.
70618         [!defined emacs]: Don't include xalloc.h.
70619         (alloca): Invoke memory_full, not xalloc_die, if malloc fails or
70620         address arithmetic overflows.  Change datatypes a bit to avoid
70621         unnecessary casts.
70622
70623 2003-11-22  Jim Meyering  <jim@meyering.net>
70624
70625         * lib/xmalloc.c (x2nrealloc_inline): Fix typos in comments:
70626         s/size/size_t/.
70627
70628 2003-11-21  Karl Berry  <karl@gnu.org>
70629
70630         * config/config.{sub,guess}: update from config.
70631
70632 2003-11-18  Karl Berry  <karl@gnu.org>
70633
70634         * config/config.{sub,guess}: update from config.
70635
70636         * config/(printf-{parse,args}.[ch]): sync broken, sigh.
70637
70638 2003-11-17  Paul Eggert  <eggert@twinsun.com>
70639
70640         * README: Mention that S+T cannot overflow if S is the size of
70641         an existing object and T is sufficiently small.
70642
70643 2003-11-17  Jim Meyering  <jim@meyering.net>
70644
70645         On systems without utime and without a utimes function capable of
70646         dealing with a NULL struct utimbuf* argument, this utime replacement
70647         could -- in unusual circumstances -- leak a file descriptor.
70648         * lib/utime.c: Include <unistd.h> and <errno.h>.
70649         (utime_null): Be sure to close `fd' and to preserve errno.
70650         Reported by Geoff Collyer via Arnold Robbins.
70651
70652 2003-11-17  Bruno Haible  <bruno@clisp.org>
70653
70654         * modules/vasnprintf (Files): Add m4/ssize_t.m4.
70655         (Depends-on): Add xsize.
70656
70657 2003-11-17  Bruno Haible  <bruno@clisp.org>
70658
70659         * m4/vasnprintf.m4 (gl_PREREQ_PRINTF_PARSE): Require gt_TYPE_SSIZE_T.
70660
70661 2003-11-17  Bruno Haible  <bruno@clisp.org>
70662
70663         * lib/vasnprintf.c (alloca): Remove fallback definition.
70664         (freea): Remove definition.
70665         (VASNPRINTF): Use alloca only for small sizes, say <= 4000 bytes.
70666         Reported by Paul Eggert.
70667
70668 2003-11-16  Paul Eggert  <eggert@twinsun.com>
70669             Bruno Haible  <bruno@clisp.org>
70670
70671         Protect against address arithmetic overflow.
70672         * lib/printf-args.h: Include stddef.h.
70673         (arguments): Change type of field 'count' to size_t.
70674         * lib/printf-args.c (printf_fetchargs): Use size_t instead of
70675         'unsigned int' where appropriate.
70676         * lib/printf-parse.h: Include sys/types.h.
70677         (char_directive): Change type of *arg_index fields to ssize_t.
70678         (char_directives): Change type of fields 'count', max_*_length to
70679         size_t.
70680         * lib/printf-parse.c: Include sys/types.h and xsize.h.
70681         (SSIZE_MAX): Define fallback value.
70682         (PRINTF_PARSE): Use size_t instead of 'unsigned int' and ssize_t
70683         instead of 'int' where appropriate. Check a_allocated, d_allocated
70684         against overflow. Reject %m$ argument numbers > SSIZE_MAX + 1.
70685         * lib/vasnprintf.c: Include xsize.h.
70686         (VASNPRINTF): Use size_t instead of 'unsigned int' where appropriate.
70687         Check alloca, malloc, realloc, ENSURE_ALLOCATION arguments against
70688         overflow. Avoid wraparound when converting a width or precision from
70689         decimal to binary.
70690
70691 2003-11-16  Bruno Haible  <bruno@clisp.org>
70692
70693         Update from GNU gettext.
70694         * lib/printf-parse.c: Generalize to it can be compiled for wide
70695         strings.
70696         (PRINTF_PARSE, CHAR_T, DIRECTIVE, DIRECTIVES): New macros.
70697         * lib/vasnprintf.c: Generalize to it can be compiled for wide strings.
70698         (VASNPRINTF, CHAR_T, DIRECTIVE, DIRECTIVES, PRINTF_PARSE, USE_SNPRINTF,
70699         SNPRINTF): New macros.
70700         Don't include <alloca.h> if the file is used inside libintl.
70701         (local_wcslen): New function, for Solaris 2.5.1.
70702         (VASNPRINTF): Use it instead of wcslen.
70703
70704 2003-11-16  Bruno Haible  <bruno@clisp.org>
70705
70706         * lib/xsize.h (xmax): New function.
70707         (xsum, xsum3, xsum4): Declare as "pure" functions.
70708
70709 2003-11-12  Paul Eggert  <eggert@twinsun.com>
70710
70711         * modules/xalloc (Files): Undo latest change, since xalloc.h
70712         no longer needs SIZE_MAX or PTRDIFF_MAX.
70713
70714 2003-11-12  Paul Eggert  <eggert@twinsun.com>
70715
70716         * m4/xalloc.m4 (gl_PREREQ_XALLOC): Do not require gl_SIZE_MAX or
70717         gl_PTRDIFF_MAX.
70718
70719 2003-11-12  Paul Eggert  <eggert@twinsun.com>
70720
70721         * lib/xstrtol.c (__xstrtol): Remove "break" immediately after
70722         "return", to pacify some unknown compiler.  Problem reported
70723         by Joerg Schilling.
70724
70725 2003-11-12  Paul Eggert  <eggert@twinsun.com>
70726
70727         * lib/xalloc.h: Do not include <limits.h> or <stdint.h>.
70728         (xalloc_oversized): Use sizeof (ptrdiff_t) and sizeof (size_t) for
70729         the heuristic, rather than PTRDIFF_MAX and SIZE_MAX.  This
70730         heuristic is just as accurate as far as we know, and it removes a
70731         dependency on size_max.m4 and ptrdiff_max.m4.
70732
70733 2003-11-11  Bruno Haible  <bruno@clisp.org>
70734
70735         * modules/xsize (Files): Add m4/size_max.m4.
70736         * modules/xalloc (Files): Add m4/size_max.m4, m4/ptrdiff_max.m4.
70737
70738 2003-11-11  Bruno Haible  <bruno@clisp.org>
70739
70740         * m4/size_max.m4: New file.
70741         * m4/ptrdiff_max.m4: New file.
70742         * m4/xsize,m4 (gl_XSIZE): Require gl_SIZE_MAX.
70743         * m4/xalloc.m4 (gl_PREREQ_XALLOC): New macro.
70744         (gl_XALLOC): Invoke it.
70745
70746 2003-11-11  Bruno Haible  <bruno@clisp.org>
70747
70748         * lib/xsize.h (SIZE_MAX): Remove fallback definition.
70749         * lib/xalloc.h: Include limits.h. Assume SIZE_MAX and PTRDIFF_MAX are
70750         defined.
70751
70752 2003-11-10  Paul Eggert  <eggert@twinsun.com>
70753
70754         * lib/xalloc.h (xalloc_oversized): [! (defined PTRDIFF_MAX &&
70755         PTRDIFF_MAX < SIZE_MAX)]: Fix off-by-one error that would have
70756         rejected some allocations of exactly SIZE_MAX - 2 bytes.
70757         From Bruno Haible.
70758         [defined PTRDIFF_MAX && PTRDIFF_MAX < SIZE_MAX]: Use SIZE_MAX,
70759         not (size_t) -1, since it's defined here.
70760
70761 2003-11-09  Karl Berry  <karl@gnu.org>
70762
70763         * config/mkinstalldirs, depcomp, mdate-sh: update from automake.
70764
70765 2003-11-06  Paul Eggert  <eggert@twinsun.com>
70766
70767         * lib/xalloc.h [HAVE_STDINT_H]: Include <stdint.h>.
70768         (xalloc_oversized) [! (PTRDIFF_MAX < SIZE_MAX)]:
70769         Reject sizes of exactly SIZE_MAX bytes.
70770         * lib/xreadlink.c: Include "xalloc.h" before checking whether SIZE_MAX
70771         is defined, since "xalloc.h" now defines SIZE_MAX on modern hosts.
70772
70773 2003-11-05  Bruno Haible  <bruno@clisp.org>
70774
70775         * lib/xsize.h: Include limits.h, to avoid a possible collision with
70776         SIZE_MAX defined in <limits.h> on Solaris.
70777
70778 2003-11-04  Jim Meyering  <jim@meyering.net>
70779
70780         * modules/sysexits: Use the `$(VAR)' notation for AC_SUBST'd
70781         variable names, rather than @VAR@.
70782         * modules/poll: Likewise.
70783
70784 2003-11-04  Bruno Haible  <bruno@clisp.org>
70785
70786         * modules/xsize: New file.
70787         * modules/linebreak: Depend on xsize.
70788         * MODULES.html.sh (func_all_modules): Add xsize.
70789
70790 2003-11-04  Bruno Haible  <bruno@clisp.org>
70791
70792         * m4/xsize.m4: New file.
70793
70794 2003-11-04  Bruno Haible  <bruno@clisp.org>
70795
70796         * lib/xsize.h: New file.
70797         * lib/linebreak.c: Include xsize.h.
70798         (mbs_possible_linebreaks, mbs_width_linebreaks): Check malloc()
70799         argument for overflow.
70800         Suggested by Paul Eggert.
70801
70802 2003-11-03  Karl Berry  <karl@gnu.org>
70803
70804         * config/config.{guess,sub}: update from config.
70805
70806 2003-11-03  Jim Meyering  <jim@meyering.net>
70807
70808         * modules/userspec (lib_SOURCES): Add userspec.h.
70809         (Include): Add "userspec.h".
70810         Improve description.
70811
70812 2003-11-03  Jim Meyering  <jim@meyering.net>
70813
70814         * lib/userspec.c: Include "userspec.h".
70815         * lib/userspec.h: New file.
70816
70817 2003-11-03  Bruno Haible  <bruno@clisp.org>
70818
70819         * m4/wait-process.m4 (gl_WAIT_PROCESS): Also check for waitid.
70820
70821 2003-11-03  Bruno Haible  <bruno@clisp.org>
70822
70823         * lib/wait-process.c (wait_process): Use waitid with WNOWAIT if
70824         available, to avoid (extremely rare) race condition.
70825         Suggested by Paul Eggert.
70826
70827 2003-11-02  Karl Berry  <karl@gnu.org>
70828
70829         * config/srclist.txt (vasprintf.c): sync broken, sigh.
70830
70831 2003-10-31  Paul Eggert  <eggert@twinsun.com>
70832
70833         * lib/mountlist.h (struct mount_entry.me_type_malloced): New member.
70834         * lib/mountlist.c (SIZE_MAX): Define if not defined already.
70835         (read_filesystem_list): Set and use me_type_malloced.
70836         Use "sizeof *me" rather than "sizeof (struct mount_entry)" (or
70837         whatever the type happens to be), for brevity and consistency.
70838         Check for size calculation overflow on Alphas running OSF/1.
70839
70840 2003-10-31  Jim Meyering  <jim@meyering.net>
70841
70842         * lib/hash.c: Include "xalloc.h" for use of xalloc_oversized.
70843
70844         * lib/linebuffer.c: Include <string.h> for declaration of memset.
70845
70846 2003-10-30  Paul Eggert  <eggert@twinsun.com>
70847             Bruno Haible  <bruno@clisp.org>
70848
70849         * lib/vasprintf.c: Include <limits.h>, <stdlib.h>.
70850         (vasprintf): Fail if the resulting length doesn't fit in an 'int'.
70851
70852 2003-10-30  Paul Eggert  <eggert@cs.ucla.edu>
70853
70854         * m4/host-os.m4 (UTILS_HOST_OS): Change netbsd*-gnu pattern back to
70855         netbsd*-gnu*.  Suggested by Robert Millan.
70856
70857 2003-10-29  Paul Eggert  <eggert@twinsun.com>
70858
70859         * modules/group-member: Depend on stdbool.
70860
70861 2003-10-29  Paul Eggert  <eggert@twinsun.com>
70862
70863         * m4/xalloc.m4 (gl_XALLOC): Undo previous change.
70864
70865 2003-10-29  Paul Eggert  <eggert@twinsun.com>
70866
70867         * m4/host-os.m4 (UTILS_HOST_OS): Resurrect netbsd*-gnu.  Add comments
70868         to it, and to knetbsd*-gnu and kfreebsd*-gnu.  Remove the '*' from
70869         after the 'gnu' in these cases.  This fixes some bugs in the
70870         previous change, and is based on suggestions by Robert Millan.
70871
70872 2003-10-29  Paul Eggert  <eggert@twinsun.com>
70873
70874         * lib/xalloc.h (xalloc_oversized): Now a macro, not a function,
70875         so that it works even if SIZE_MAX < N.  Do not include <stdbool.h>;
70876         no longer needed.
70877         * lib/quotearg.c (quotearg_n_options): Use it.
70878         * lib/group-member.c: Include <stdbool.h>.
70879         (free_group_info): Arg is now const *; don't free arg.
70880         (get_group_info): Now returns bool and accepts struct group_info *,
70881         rather than returning a malloc'ed struct group_info *.
70882         All uses changed.  Check for overflow in internal size calculation.
70883
70884         * lib/getusershell.c (readname): Simplify the code by using x2nrealloc
70885         rather than xmalloc/xrealloc.
70886         * lib/linebuffer.c (initbuffer, readlinebuffer): Simplify the code by
70887         using x2realloc rather than xmalloc/xrealloc.  Also, fix a C
70888         conformance bug: the old code used a pointer after freeing the
70889         storage that it addressed.
70890         * lib/hash.c (hash_initialize): Simplify the code by using
70891         xalloc_oversized rather than doing it by hand.
70892         * lib/getgroups.c (getgroups): Don't use xrealloc, since we don't need
70893         the buffer preserved.  Use free and xmalloc instead.
70894         * lib/quotearg.c (quotearg_n_options): Likewise.
70895         Use a simpler test for size overflow.  Don't use xalloc_oversized
70896         because unsigned int might be wider than size_t (!); this suggests
70897         that we should switch from unsigned int to size_t for slot numbers.
70898
70899 2003-10-28  Paul Eggert  <eggert@twinsun.com>
70900
70901         * m4/host-os.m4 (UTILS_HOST_OS): Identify GNU/KFreeBSD and
70902         GNU/KNetBSD.  These implementations use glibc atop the FreeBSD and
70903         NetBSD kernels.  Requested by Richard Stallman.
70904
70905 2003-10-27  Paul Eggert  <eggert@twinsun.com>
70906
70907         * lib/exclude.c (new_exclude): Use xzalloc rather than xmalloc
70908         to allocate the returned structure.  Do not allocate a subarray,
70909         as x2nrealloc will do that.
70910         (add_exclude): Use x2nrealloc to reallocate ex->exclude,
70911         instead of xnrealloc.
70912         (add_exclude_file): Use x2realloc instead of malloc + xnrealloc.
70913
70914 2003-10-27  Bruno Haible  <bruno@clisp.org>
70915
70916         * lib/stdbool_.h: Better support for BeOS.
70917
70918 2003-10-26  Paul Eggert  <eggert@twinsun.com>
70919
70920         * m4/xalloc.m4 (gl_XALLOC): Requore AC_C_INLINE, since xalloc.h
70921         now uses inline.
70922
70923 2003-10-26  Paul Eggert  <eggert@twinsun.com>
70924
70925         * lib/xalloc.h (xalloc_oversized): New static inline function, for
70926         callers that want to do their own size-overflow checking.  Include
70927         <stdbool.h>, since xalloc_oversized returns bool.
70928         * lib/xalloc.c (array_size_overflow): Remove.  All callers changed
70929         to use xalloc_oversized.
70930
70931         Add two functions x2realloc, x2nrealloc, for programs that grow
70932         arrays dynamically by doubling their sizes.
70933         * lib/xalloc.h (x2realloc, x2nrealloc): New decls.
70934         * lib/xmalloc.c (x2nrealloc_inline, x2nrealloc, x2realloc):
70935         New functions.
70936
70937         Port to C99 semantics for 'inline' of external functions.
70938         Bug reported by Bruno Haible.
70939         * lib/xmalloc.c (xnmalloc_inline): New static inline function,
70940         with the old contents of xnmalloc.
70941         (xnmalloc, xmalloc): Use it.
70942         (xnrealloc_inline): New static inline function,
70943         with the old contents of xnrealloc.
70944         (xnrealloc, xrealloc): Use it.
70945
70946         * lib/alloc.c (alloca): xmalloc cannot return NULL, so don't test for
70947         that.
70948
70949 2003-10-26  Karl Berry  <karl@gnu.org>
70950
70951         * config/srclist.txt (COPYING.DOC): no longer available from
70952         /gd/gnuorg; don't know where the ultimate source is.
70953
70954 2003-10-25  Paul Eggert  <eggert@twinsun.com>
70955
70956         Fix several address-calculation bugs in the hash modules,
70957         plus some minor code cleanup.
70958
70959         * lib/hash.h: Include <stdbool.h>, for bool.
70960         * lib/hash.c: Don't include <stdbool.h>, since hash.h does it now.
70961         * lib/hash.h (Hash_hasher, hash_get_n_buckets, hash_get_n_buckets_used,
70962         hash_get_n_entries, hash_get_max_bucket_length,
70963         hash_get_entries, hash_do_for_each, hash_string, hash_initialize,
70964         hash_rehash): Use size_t rather than unsigned.
70965         * lib/hash.c (struct hash_table, hash_get_n_buckets,
70966         hash_get_n_buckets_used, hash_get_n_entries,
70967         hash_get_max_bucket_length, hash_table_ok, hash_print_statistics,
70968         hash_get_entries, hash_do_for_each, hash_string, is_prime,
70969         next_prime, hash_initialize, hash_rehash, hash_delete, hash_print):
70970         Likewise.
70971         (SIZE_MAX): Define if not defined.
70972         (hash_get_max_bucket_length, hash_table_ok, hash_lookup,
70973         hash_get_first, hash_get_next, hash_get_entries, hash_do_for_each,
70974         hash_print):
70975         Use const * when possible.
70976         (hash_string): Use (unsigned char) *P rather than *(unsigned char *) P.
70977         (check_tuning): Fix bug: if tuning parameters were very close to
70978         0 or 1, rounding errors could have caused subscript violations.
70979         (hash_initialize, allocate_entry, hash_print): Remove unnecessary cast.
70980         (hash_initialize): Add 'fail:' label
70981         to free table and return NULL, and use it to simplify code.
70982         Use calloc rather than clearing the storage ourself.
70983         (hash_initialize, hash_rehash): Check for arithmetic overflow in
70984         buffer size calculations.
70985         * lib/hash-pjw.h (hash_pjw): Use size_t, not unsigned.
70986         Include <stddef.h>, for size_t.
70987         * lib/hash-pjw.c (hash_pjw): Likewise.
70988         Switch to method described by Bruno Haible.
70989         Include <limits.h>, for CHAR_BIT.
70990         (SIZE_BITS): New macro.
70991
70992 2003-10-23  Paul Eggert  <eggert@twinsun.com>
70993
70994         * m4/getline.m4 (AM_FUNC_GETLINE):
70995         Don't include getndelim2.o twice into LIBOBJS; this breaks on some
70996         hosts.  Problem reported by Derek Robert Price in
70997         <http://mail.gnu.org/archive/html/bug-gnulib/2003-10/msg00092.html>.
70998         This patch can be withdrawn after Autoconf 2.58 is required for gnulib.
70999         * m4/getndelim2.m4 (gl_GETNDELIM2): Likewise.
71000
71001 2003-10-21  Paul Eggert  <eggert@twinsun.com>
71002
71003         * lib/getndelim2.c (getndelim2): When size calculation overflows,
71004         ceiling the allocation at NMAX bytes rather than silently
71005         discarding input bytes before NMAX is reached.  This makes
71006         a difference only if NMAX exceeds SIZE_MAX / 2.
71007
71008         * lib/obstack.c: Merge from glibc.
71009         [defined _LIBC]: Include <obstack.h>, not "obstack.h".
71010         Add libc_hidden_def (_obstack_newchunk).
71011         (_obstack_free) [! defined _LIBC]: Remove.
71012         [defined _LIBC]: Make a strong alias from obstack_free, rather than
71013         a clone of the function body.
71014         (fputs) [defined _LIBC && defined USE_IN_LIBIO]: Remove.
71015         [defined _LIBC && !defined USE_IN_LIBIO]: Include <libio/iolibio.h>.
71016
71017         * lib/obstack.h: Indenting cleanup, to make it easier to merge with
71018         glibc.
71019         (obstack_grow, obstack_grow0): Remove unnecessary parentheses around
71020         arg to memcpy.
71021
71022         * lib/obstack.h (obstack_1grow_fast): Properly parenthesize arg.
71023         (obstack_ptr_grow_fast, obstack_int_grow_fast):
71024         Don't use lvalue casts, as GCC plans to remove support for them
71025         in GCC 3.5.  Reported by Joseph S. Myers.  This bug
71026         was also present in the non-GCC version, indicating that this
71027         code had always been buggy and had never been widely used.
71028         (obstack_1grow, obstack_ptr_grow, obstack_int_grow, obstack_blank):
71029         Use the fast variant of each macro, rather than copying the
71030         definiens of the fast variant; that way, we'll be more likely to
71031         catch future bugs in the fast variants.
71032
71033 2003-10-20  Bruno Haible  <bruno@clisp.org>
71034
71035         * modules/wait-process: New file.
71036         * MODULES.html.sh (func_all_modules): Add wait-process.
71037
71038 2003-10-20  Bruno Haible  <bruno@clisp.org>
71039
71040         * m4/wait-process.m4: New file.
71041
71042 2003-10-20  Bruno Haible  <bruno@clisp.org>
71043
71044         * lib/wait-process.h: New file, from GNU gettext.
71045         * lib/wait-process.c: New file, from GNU gettext.
71046
71047 2003-10-19  Jim Meyering  <jim@meyering.net>
71048
71049         * lib/vasnprintf.c (vasnprintf): Work around losing snprintf on
71050         HPUX 10.20.
71051
71052 2003-10-18  Karl Berry  <karl@gnu.org>
71053
71054         * config/config.guess: update from config.
71055
71056 2003-10-16  Paul Eggert  <eggert@twinsun.com>
71057
71058         * lib/getgroups.c: Include <errno.h>, <stdlib.h>.
71059         (getgroups): First arg is int, not size_t.
71060         Don't let 'free' mangle errno.
71061
71062 2003-10-16  Paul Eggert  <eggert@twinsun.com>
71063
71064         * README: Mention that gnulib assumes that (foo *) NULL + 0 == NULL.
71065
71066 2003-10-16  Karl Berry  <karl@gnu.org>
71067
71068         * config/config.{guess,sub}: update from config.
71069
71070 2003-10-16  Jim Meyering  <jim@meyering.net>
71071
71072         * lib/xmalloc.c: Include <string.h>, for declarations of memset and
71073         memcpy.
71074
71075 2003-10-15  Paul Eggert  <eggert@twinsun.com>
71076
71077         * lib/exclude.c: Do not include <inttypes.h> or <stdint.h>.
71078         (SIZE_MAX): Remove.
71079         (new_exclude, add_exclude_file): Initial size no longer needs to
71080         be a power of 2.
71081         (add_exclude, add_exclude_file): Use xnrealloc instead of rolling
71082         our own address arithmetic overflow checking.
71083
71084         * lib/fnmatch.c (SIZE_MAX): Define if standard headers don't.
71085         (fnmatch): Do not alloca more than 2000 wide characters;
71086         instead, use malloc for large buffers.
71087         Check for address arithmetic overflow, and return -1
71088         with errno set to ENOMEM in that case.
71089         * lib/fnmatch_loop.c (ALLOCA_LIMIT): New macro.
71090         (NEW_PATTERN): Do not alloca more than 8000 bytes;
71091         instead, return -1.  Check for address arithmetic overflow.
71092
71093 2003-10-14  Paul Eggert  <eggert@twinsun.com>
71094
71095         Handle invalid suffixes and overflow independently, so that
71096         callers can treat them independently as needed.  Fix some bugs in
71097         suffix handling, e.g., "100k@" was not diagnosed as an invalid
71098         suffix for a human-readable blocksize.  The major caller-visible
71099         change is the addition of a new
71100         LONGINT_INVALID_SUFFIX_CHAR_WITH_OVERFLOW enum value, indicating
71101         that both overflow and suffix chars were found.
71102
71103         * lib/human.c (humblock): Don't check separately for invalid suffix
71104         char; that is xstrtoumax's job (now that its bug is fixed).
71105         * lib/xstrtoimax.c (STRTOL_T_MINIMUM, STRTOL_T_MAXIMUM) [defined
71106         INTMAX_MAX]: New macros.
71107         * lib/xstrtol.c (STRTOL_T_MINIMUM, STRTOL_T_MAXIMUM, TYPE_MINIMUM,
71108         TYPE_MAXIMUM): New macros.
71109         (bkm_scale, bkm_scale_by_power): Return strtol_error, not int.
71110         (bkm_scale, bkm_scale_by_power, __xstrtol): Return maximal values
71111         if overflow occurs, as it's what __strtol does and it's more useful
71112         in practice.
71113         (__xstrtol): If __strtol reports some error other than ERANGE,
71114         reflect it to the caller as LONGINT_INVALID.  If it reports
71115         ERANGE, continue the rest of parsing, and report LONGINT_OVERFLOW
71116         | LONGINT_INVALID_SUFFIX_CHAR if both errors occur.
71117         * lib/xstrtol.h (LONGINT_INVALID_SUFFIX_CHAR_WITH_OVERFLOW): New enum
71118         value.
71119         (_STRTOL_ERROR): Handle it.  Abort when given unknown error codes.
71120         * lib/xstrtoul.c (STRTOL_T_MINIMUM, STRTOL_T_MAXIMUM): New macros.
71121         * lib/xstrtoumax.c (STRTOL_T_MINIMUM, STRTOL_T_MAXIMUM)
71122         [defined UINTMAX_MAX]: New macros.
71123
71124 2003-10-14  Bruno Haible  <bruno@clisp.org>
71125
71126         * modules/fatal-signal: Add m4/sig_atomic_t.m4 to file list.
71127
71128 2003-10-14  Bruno Haible  <bruno@clisp.org>
71129
71130         * m4/sig_atomic_t: New file, from GNU gettext.
71131         * m4/fatal-signal.m4 (gl_FATAL_SIGNAL): Require gt_TYPE_SIG_ATOMIC_T.
71132
71133 2003-10-14  Bruno Haible  <bruno@clisp.org>
71134
71135         * lib/fatal-signal.h: Improved comments. Suggested by Paul Eggert.
71136         * lib/fatal-signal.c: Use sig_atomic_t. Suggested by Paul Eggert.
71137         Also use volatile where needed.
71138
71139 2003-10-12  Paul Eggert  <eggert@twinsun.com>
71140
71141         * modules/xalloc: Do not depend on 'exit'.  Depend on 'stdbool'.
71142         Change maintainer from Bruno Haible to 'all'.
71143
71144 2003-10-12  Paul Eggert  <eggert@twinsun.com>
71145
71146         * m4/xalloc.m4 (gl_PREREQ_XMALLOC): Require AC_C_INLINE.
71147
71148 2003-10-12  Paul Eggert  <eggert@twinsun.com>
71149
71150         * lib/xalloc.h (xnmalloc, xzalloc, xnrealloc, xclone): New decls.
71151         (XMALLOC, XCALLOC, XREALLOC, XFREE, CCLONE, CLONE): Deprecate,
71152         and define in terms of the other primitives.
71153         * lib/xmalloc.c: Include stdbool.h; do not include exit.h.
71154         (SIZE_MAX): Define if not already defined.
71155         (array_size_overflow): New function.
71156         (xalloc_die): Abort instead of exiting if 'error' returns.
71157         (xnmalloc, xnrealloc, xzalloc, xclone): New functions.
71158         (xmalloc, xrealloc): Use them.
71159         (xcalloc): Check for address arithmetic overflow.
71160         * lib/xstrdup.c (xstrdup): Use xclone, since memcpy should be
71161         a bit faster than strcpy.
71162
71163 2003-10-10  Simon Josefsson  <jas@extundo.com>
71164
71165         * modules/argp (Depends-on): Add restrict and strcase.
71166
71167 2003-10-10  Simon Josefsson  <jas@extundo.com>
71168
71169         * m4/argp.m4: Add AC_C_INLINE.
71170
71171 2003-10-08  Paul Eggert  <eggert@twinsun.com>
71172
71173         Merge getpass from libc, plus a few fixes.
71174
71175         * lib/getpass.c (HAVE_STDIO_EXT) [_LIBC]: Define to 1.
71176         Include <stdbool.h>.
71177         Include <stdio_ext.h> if HAVE_STDIO_H, otherwise define
71178         __fsetlocking to empty.
71179         [_LIBC]: Do not include "getline.h" or "unlocked-io.h", but
71180         do include <bits/libc-lock.h>.
71181         Do not include <fcntl.h>; not needed.
71182         [_LIBC]: Include <wchar.h>.
71183         (NOTCANCEL_MODE): New macro.
71184         (flockfile, funlockfile) [_LIBC]: New macros.
71185         (__libc_cleanup_push, __libc_cleanup_pop, __getline, __tcgetattr)
71186         [!_LIBC]: New macros.
71187         (call_fclose): New function.
71188         (getpass): Use it.  Save tty stream separately; this simplifies the
71189         code and makes it more reliable if stdin happens to equal stdout.
71190         Invoke __fsetlocking on tty.
71191         Handle thread cancellation if needed.
71192         Namespace cleanup (use __tcgetattr, __getline).
71193         Use bool for Booleans.
71194         [USE_IN_LIBIO]: Handle wide streams.
71195         [!_LIBC]: Unconditionally do the fseek, since we don't know what
71196         stream might go where.
71197
71198         * lib/unlocked-io.h: Include <stdio.h>, so that the caller
71199         doesn't have to include <stdio.h> before us.
71200         (clearerr_unlocked, feof_unlocked, ferror_unlocked,
71201         fflush_unlocked, fgets_unlocked, fputc_unlocked, fputs_unlocked,
71202         fread_unlocked, fwrite_unlocked, getc_unlocked, getchar_unlocked,
71203         putc_unlocked, putchar_unlocked): Define to the unlocked counterpart
71204         if not declared, so that we can use getpass.c code from libc without
71205         rewriting it.
71206         (flockfile, ftrylockfile, funlockfile): New macros.
71207
71208 2003-10-08  Paul Eggert  <eggert@twinsun.com>
71209
71210         * modules/getpass: Depend on stdbool.
71211
71212 2003-10-08  Paul Eggert  <eggert@twinsun.com>
71213
71214         * m4/getpass.m4 (gl_PREREQ_GETPASS): Check for stdio_ext.h.
71215
71216 2003-10-07  Karl Berry  <karl@gnu.org>
71217
71218         * config/config.{guess,sub}: update from config.
71219
71220 2003-10-06  Jim Meyering  <jim@meyering.net>
71221             Bruno Haible  <bruno@clisp.org>
71222
71223         This lets translators provide better translations for the
71224         "Written by ..." part of --version output.
71225         * lib/version-etc.h: Include stdarg.h.
71226         (version_etc_copyright): Declare as readonly.
71227         (version_etc): Make this function variadic with a NULL-terminated list
71228         of author name strings.
71229         (version_etc_va): New declaration.
71230         * lib/version-etc.c: Include stdarg.h, stdlib.h.
71231         (version_etc_copyright): Declare as readonly.
71232         (version_etc_va): New function. Provide a different translatable string
71233         for each possible number of authors < 10. Abbreviate when there are 10
71234         authors or more.
71235         (version_etc): Make this function variadic. Call version_etc_va.
71236         Suggestion from Gary V. Vaughan.
71237
71238         * lib/long-options.h (parse_long_options): Change prototype: the
71239         authors string is moved to the end and becomes variadic.
71240         * lib/long-options.c: Include stdarg.h.
71241         (parse_long_options): Make this function variadic, too.
71242         Call version_etc_va, not version_etc.
71243
71244 2003-10-06  Bruno Haible  <bruno@clisp.org>
71245
71246         * modules/version-etc-2: Remove file.
71247         * MODULES.html.sh (func_all_modules): Remove version-etc-2.
71248
71249 2003-10-06  Bruno Haible  <bruno@clisp.org>
71250
71251         * modules/fatal-signal: New file.
71252         * MODULES.html.sh (func_all_modules): Add fatal-signal.
71253
71254 2003-10-06  Bruno Haible  <bruno@clisp.org>
71255
71256         * m4/fatal-signal.m4: New file.
71257         * m4/signalblocking.m4: New file, from GNU gettext.
71258
71259 2003-10-06  Bruno Haible  <bruno@clisp.org>
71260
71261         * lib/version-etc-2.h: Remove file.
71262         * lib/version-etc-2.c: Remove file.
71263
71264 2003-10-06  Bruno Haible  <bruno@clisp.org>
71265
71266         * lib/fatal-signal.h: New file, from GNU gettext.
71267         * lib/fatal-signal.c: New file, from GNU gettext.
71268
71269 2003-10-05  Paul Eggert  <eggert@twinsun.com>
71270
71271         * README: Rework advice for preventing empty .o files.
71272         Don't recommend ELIDE constructs.  Recommend <stddef.h>,
71273         not <sys/types.h>.
71274
71275 2003-10-04  Karl Berry  <karl@gnu.org>
71276
71277         * lib/argp*: update from libc.
71278
71279 2003-10-04  Karl Berry  <karl@gnu.org>
71280
71281         * config/config.{guess,sub}: update from config.
71282
71283 2003-10-02  Bruno Haible  <bruno@clisp.org>
71284
71285         * modules/lchown (Include): Add lchown.h.
71286         * modules/time_r (Include): Use "..." syntax.
71287         * modules/xgetdomainname (Include): Add xgetdomainname.h.
71288
71289 2003-10-01  Simon Josefsson  <jas@extundo.com>
71290
71291         * MODULES.html.sh (func_all_modules): Move gethostname from section
71292         'based on' to section 'lacking' POSIX:2001.
71293
71294 2003-10-01  Larry Jones  <lawrence.jones@eds.com>
71295
71296         * lib/getpass.c (getpass): Use a no-op fseek when switching from input
71297         to output mode on the same stream.
71298
71299 2003-09-29  Paul Eggert  <eggert@twinsun.com>
71300
71301         * lib/strftime.c (tm_diff) [! HAVE_TM_GMTOFF]:
71302         Fix arg typo in previous patch.
71303
71304 2003-09-28  Jim Meyering  <jim@meyering.net>
71305
71306         * lib/error.c: Correct cpp indentation.
71307
71308 2003-09-27  Paul Eggert  <eggert@twinsun.com>
71309
71310         * modules/free: New file.
71311
71312 2003-09-27  Paul Eggert  <eggert@twinsun.com>
71313
71314         * m4/free.m4: New file.
71315
71316 2003-09-27  Paul Eggert  <eggert@twinsun.com>
71317
71318         * lib/minmax.h (MIN, MAX)
71319         [__STDC__ && defined __GNUC__ && __GNUC__ >= 2]:
71320         Omit the special code that used __typeof__, since we worry that
71321         it could be more trouble than it's worth.  See:
71322         http://mail.gnu.org/archive/html/bug-gnulib/2003-01/msg00090.html
71323         http://mail.gnu.org/archive/html/bug-gnulib/2003-01/msg00095.html
71324
71325         * lib/free.c: New file.
71326
71327 2003-09-27  Oskar Liljeblad  <oskar@osk.mine.nu>
71328
71329         Trivial fixes to Makefile.am parts of module listings.
71330         * modules/strstr: Append strstr.h to lib_SOURCES.
71331         * modules/strcase: Likewise, for strcase.h.
71332
71333 2003-09-27  Karl Berry  <karl@gnu.org>
71334
71335         * config/mkinstalldirs: update from automake.
71336
71337 2003-09-26  Paul Eggert  <eggert@twinsun.com>
71338
71339         * lib/error.c (SIZE_MAX) [!defined SIZE_MAX]: Define.
71340         (error_tail): Do not loop, reallocating temporary buffer, since
71341         the output cannot contain more wide characters than the input
71342         contains bytes, the size must be big enough already.  This avoids
71343         one potential size overflow calculation.  Check for size overflow
71344         when calculating temporary buffer size.  Free temporary buffer
71345         when done, if it was allocated with malloc; this plugs a memory
71346         leak.  Remove casts from void * to pointers, that are no longer
71347         needed now that we're assuming C89 or better.
71348
71349         Merge error changes from glibc.
71350
71351         * lib/error.c, error.h: Update copyright notice header to match glibc.
71352         * lib/error.c [defined _LIBC]: Include <errno.h>, <bits/libc-lock.h>.
71353         (error, error_at_line) [defined _LIBC && defined __libc_ptf_call]:
71354         Disable cancellation while printing error.
71355         * lib/error.h: Prepend __ to parameter names.
71356
71357 2003-09-26  Jim Meyering  <jim@meyering.net>
71358
71359         * lib/error.c (error_tail): Move some declarations
71360         into inner scope where the local variables are used.
71361
71362 2003-09-26  Bruno Haible  <bruno@clisp.org>
71363
71364         * m4/stpncpy.m4 (gl_FUNC_STPNCPY): Add comments about the AIX
71365         stpncpy().
71366         Don't define stpncpy through config.h; it's now done through stpncpy.h.
71367
71368 2003-09-26  Bruno Haible  <bruno@clisp.org>
71369
71370         * lib/stpncpy.h (gnu_stpncpy): New declaration.
71371         (stpncpy): Define as alias for gnu_stpncpy.
71372         * lib/stpncpy.c [!_LIBC]: Define gnu_stpncpy, not stpncpy.
71373
71374 2003-09-25  Simon Josefsson  <jas@extundo.com>
71375
71376         * lib/xgetdomainname.h: New file.
71377         * lib/xgetdomainname.c: New file.
71378
71379 2003-09-25  Simon Josefsson  <jas@extundo.com>
71380             Bruno Haible  <bruno@clisp.org>
71381
71382         * modules/getdomainname: New file.
71383         * modules/xgetdomainname: New file.
71384         * MODULES.html.sh (func_all_modules): Add getdomainname,
71385         xgetdomainname.
71386
71387 2003-09-25  Simon Josefsson  <jas@extundo.com>
71388             Bruno Haible  <bruno@clisp.org>
71389
71390         * m4/getdomainname.m4: New file.
71391
71392 2003-09-25  Simon Josefsson  <jas@extundo.com>
71393             Bruno Haible  <bruno@clisp.org>
71394
71395         * lib/getdomainname.h: New file.
71396         * lib/getdomainname.c: New file.
71397
71398 2003-09-25  Karl Berry  <karl@gnu.org>
71399
71400         * lib/argp-fmtstream.c, argp-help.c: update from libc.
71401
71402 2003-09-25  Karl Berry  <karl@gnu.org>
71403
71404         * config/install-sh: update from automake.
71405
71406 2003-09-25  Bruno Haible  <bruno@clisp.org>
71407
71408         * modules/version-etc-2: New file, from modules/version-etc with
71409         modifications.
71410         * MODULES.html.sh (func_all_modules): Add version-etc-2.
71411
71412 2003-09-25  Bruno Haible  <bruno@clisp.org>
71413
71414         * lib/version-etc-2.h: New file, from version-etc.h with modifications.
71415         * lib/version-etc-2.c: New file, from version-etc.c with modifications.
71416
71417 2003-09-24  Simon Josefsson  <jas@extundo.com>
71418
71419         * modules/xgethostname: Add xgethostname.h.
71420
71421 2003-09-24  Paul Eggert  <eggert@twinsun.com>
71422
71423         * lib/linebuffer.c (freebuffer): Don't free the argument, just
71424         the buffer associated with the argument.  Bug reported by
71425         Simon Josefsson.
71426
71427 2003-09-24  Paul Eggert  <eggert@twinsun.com>
71428
71429         * README: Document assumptions that 'int' is at least 32 bits
71430         wide, that integer arithmetic is 2's complement without overflow,
71431         that there are no holes in integer values, that adding sizes of
71432         two nonoverlapping objects can't overflow, and that all-bits-zero
71433         yields scalar zero.  Fix spelling and capitalization typos.
71434
71435 2003-09-19  Karl Berry  <karl@gnu.org>
71436
71437         * lib/argp.h: update from libc.
71438
71439 2003-09-17  Paul Eggert  <eggert@twinsun.com>
71440
71441         * m4/extensions.m4 (gl_USE_SYSTEM_EXTENSIONS): Call AC_BEFORE first,
71442         to avoid spurious warnings like "AC_RUN_IFELSE was called before
71443         gl_USE_SYSTEM_EXTENSIONS" from autoreconf.
71444
71445 2003-09-17  Paul Eggert  <eggert@twinsun.com>
71446
71447         * gnulib-tool: Use "test -h", not "test -L", for portability
71448         to Solaris 8 /bin/sh.  (This bug is fixed in Solaris 9.)
71449         (tags_regexp): Remove, since \| doesn't conform to POSIX.
71450         (sed_extract_prog): Issue s commands one-by-one, rather than
71451         using \| in one s command.
71452
71453 2003-09-16  Paul Eggert  <eggert@twinsun.com>
71454
71455         * lib/linebuffer.c (readlinebuffer): Return NULL immediately upon
71456         input error, instead of returning NULL the next time we are called
71457         (and therefore losing track of errno).
71458
71459 2003-09-16  Bruno Haible  <bruno@clisp.org>
71460
71461         * gnulib-tool (func_create_testdir): Warn about duplicated
71462         dependencies.
71463
71464 2003-09-15  Paul Eggert  <eggert@twinsun.com>
71465
71466         * modules/argmatch, modules/fatal, modules/obstack,
71467         modules/xalloc, modules/xgethostname: Sort dependencies by
71468         importance, not alphabetically.
71469
71470 2003-09-15  Paul Eggert  <eggert@twinsun.com>
71471
71472         * lib/getndelim2.c (getndelim2): Don't trash errno when a read
71473         fails, so that the caller gets the proper errno.
71474
71475         * lib/readutmp.c (read_utmp): Likewise.
71476         Check for fstat error.  Close stream and free storage
71477         when failing.
71478
71479 2003-09-14  Karl Berry  <karl@gnu.org>
71480
71481         * config/srclist.txt (strdup.c): disable for c89 changes.
71482
71483 2003-09-14  Jim Meyering  <jim@meyering.net>
71484
71485         * lib/getloadavg.c: Correct cpp indentation.
71486         * lib/strdup.c: Likewise.
71487         * lib/vasnprintf.c: Likewise.
71488
71489 2003-09-14  Bruno Haible  <bruno@clisp.org>
71490
71491         * modules/fwriteerror: New file.
71492         * MODULES.html.sh (func_all_modules): Add fwriteerror.
71493
71494 2003-09-14  Bruno Haible  <bruno@clisp.org>
71495
71496         * lib/fwriteerror.h: New file.
71497         * lib/fwriteerror.c: New file.
71498
71499 2003-09-12  Paul Eggert  <eggert@twinsun.com>
71500
71501         * modules/argmatch, modules/exitfail, modules/fatal, modules/obstack,
71502         modules/xgethostname, modules/xalloc: Depend on exit.
71503
71504 2003-09-12  Paul Eggert  <eggert@twinsun.com>
71505
71506         * m4/error.m4: Require AC_FUNC_STRERROR_R rather than invoking it.
71507
71508         * m4/extensions.m4 (gl_USE_SYSTEM_EXTENSIONS): Require AC_AIX
71509         and AC_MINIX, too, so that their extensions are available.
71510
71511         * m4/prereq.m4 (jm_PREREQ_ADDEXT): Remove.  All uses removed.
71512         This macro has been superseded by gl_BACKUPFILE.
71513
71514         More patches to assume C89 or better.
71515
71516         * m4/error.m4 (gl_ERROR): Don't check for vprintf.
71517
71518         * m4/check-decl.m4 (jm_CHECK_DECLS): Include <string.h>, <stdlib.h>
71519         unconditionally.
71520         * m4/closeout.m4 (gl_CLOSEOUT): Don't check for stdlib.h.
71521         * m4/gettimeofday.m4 (AC_FUNC_GETTIMEOFDAY_CLOBBER):
71522         Include <string.h>, <stdlib.h> unconditionally.
71523         * m4/lstat.m4 (gl_PREREQ_LSTAT): Don't check for stdlib.h, free.
71524         * m4/readdir.m4 (GL_FUNC_READDIR): Don't check for string.h.
71525         * m4/readutmp.m4 (gl_PREREQ_READUTMP): Don't check for standard C
71526         headers or for string.h.
71527         * m4/strtoumax.m4 (gl_PREREQ_STRTOUMAX): Don't check for stdlib.h
71528         or strtoul.
71529
71530         * m4/mkstemp.m4 (jm_PREREQ_TEMPNAME): Do not require standard C
71531         headers.
71532         * m4/strdup.m4 (gl_PREREQ_STRDUP): Likewise.
71533         * m4/userspec.m4 (gl_USERSPEC): Likewise.
71534         * m4/xalloc.m4 (gl_PREREQ_XMALLOC): Likewise.
71535         * m4/xstrtod.m4 (gl_XSTRTOD): Likewise.
71536         * m4/xstrtol.m4 (gl_PREREQ_XSTRTOL): Likewise.
71537         * m4/strftime.m4 (_jm_STRFTIME_PREREQS): Don't check for limits.h,
71538         memcpy, memset.
71539         (jm_FUNC_GNU_STRFTIME): Don't require standard C headers.
71540         * m4/strtod.m4 (gl_FUNC_STRTOD): Do not check for float.h.
71541         * m4/strtoimax.m4 (gl_PREREQ_STRTOIMAX): Do not check for stdlib.h,
71542         strtol.
71543         * m4/strtol.m4 (gl_FUNC_STRTOL): Do not check for limits.h.
71544         * m4/userspec.m4 (gl_USERSPEC): Do not check for string.h.
71545         * m4/xstrtol.m4 (gl_PREREQ_XSTRTOL): Do not check for string.h, strtol,
71546         strtoul.
71547
71548 2003-09-12  Paul Eggert  <eggert@twinsun.com>
71549
71550         * lib/argmatch.c, fatal.c, xgethostname.c, xmalloc.c: Include exit.h.
71551         * lib/obstack.c [!defined _LIBC]: Likewise.
71552         * lib/argmatch.c (EXIT_FAILURE): Remove; now done by exit.h
71553         * lib/exitfail.c, fatal.c, xgethostname.c, xmalloc.c: Likewise.
71554         * lib/exitfail.c: Don't include stdlib.h; no longer needed.
71555
71556         More changes to assume C89 or better.
71557
71558         * lib/error.c (error_tail): Assume vprintf.
71559
71560         * lib/argmatch.c (getenv): Remove decl.
71561         * lib/progreloc.c (get_full_program_name): Define via prototype.
71562         * lib/setenv.c (clearenv): Likewise.
71563         * lib/stpncpy.c: Do not include <string.h> or <sys/types.h>; not
71564         needed.
71565         * lib/strdup.c: Include <stdlib.h>, <string.h> unconditionally.
71566         (malloc, memcpy): Remove decls.
71567         * lib/strftime.c (HAVE_LIMITS_H, STDC_HEADERS) [defined _LIBC]: Remove.
71568         (HAVE_MEMCPY) [defined emacs && !defined HAVE_BCOPY]: Remove.
71569         Include <limits.h>, <stddef.h>, <stdlib.h>, <string.h> unconditionally.
71570         (memcpy): Remove macro.
71571         (MEMCPY) [!defined COMPILE_WIDE]: Define to memcpy unconditionally.
71572         (__P): Remove.  All uses removed.
71573         (PTR): Remove.  All uses changed to void *.
71574         (CHAR_BIT, NULL): Remove.
71575         (spaces, zeros, memset_space, memset_zero)
71576         [!defined memset && !defined HAVE_MEMSET && !defined _LIBC]:
71577         Remove.
71578         (LOCALE_PARAM, LOCALE_PARAM_DECL): Remove.
71579         (memcpy_lowcase, memcpy_uppcase, tm_diff, iso_week_days):
71580         Define with prototype.
71581         Remove now-unnecessary prototype decl.
71582         (extra_args_spec): Assume ANSI C.  All uses changed.
71583         (extra_args_spec_iso): Remove.
71584         (my_strftime, emacs_strftimeu): Define via prototype.
71585         * lib/strtod.c: Include <float.h>, <stdlib.h>, <string.h>
71586         unconditionally.
71587         (DBL_MAX, DBL_MIN, HUGE_VAL, NULL): Remove decls.
71588         * lib/strtoimax.c: Include <stdlib.h> unconditionally.
71589         (strtoul, strtol): Remove decls.
71590         * lib/strtol.c (STDC_HEADERS, HAVE_LIMITS_H, NULL, ULONG_MAX,
71591         LONG_MAX): Remove.
71592         Include <limits.h>, <stddef.h>, <stdlib.h>, <string.h> unconditionally.
71593         (LOCALE_PARAM_DECL): Remove.  All uses changed to LOCALE_PARAM_PROTO.
71594         (LOCALE_PARAM_PROTO): New macro.
71595         (INTERNAL, INTERNAL1, WEAKNAME): Assume ANSI C, not K&R.
71596         (INTERNAL (strtol), strtol): Define with a prototype.
71597         (PARAMS): Remove.  All uses removed.
71598         * lib/tempname.c: Include <string.h> unconditionally.
71599         * lib/userspec.c: Include <stdlib.h>, <string.h> unconditionally.
71600         * lib/xgethostname.c (main): Define with a prototype.
71601         * lib/xmalloc.c: Include "xalloc.h" first, to check interface.
71602         Include <stdlib.h> unconditionally.
71603         (calloc, malloc, realloc, free): Remove decls.
71604         * lib/xstrtod.c: Include "xstrtod.h" first, to check interface.
71605         Include <stdlib.h> unconditionally.  Sort include file names.
71606         (strtod): Remove.
71607         (xstrtod): Define with a prototype.
71608         * lib/xstrtol.c: Include <stdlib.h>, <string.h> unconditionally.
71609         (strtol, strtoul): Remove decls.
71610
71611 2003-09-11  Paul Eggert  <eggert@twinsun.com>
71612
71613         More patches to assume C89 or better.
71614         * m4/strndup.m4 (gl_PREREQ_STRNDUP): Remove STDC_HEADERS check.
71615         * m4/strnlen.m4 (gl_PREREQ_STRNLEN): Don't check for memory.h,
71616         string.h, memchr, STDC_HEADERS.
71617
71618 2003-09-11  Paul Eggert  <eggert@twinsun.com>
71619
71620         * lib/strndup.c: Don't include <stdio.h>, <sys/types.h>.
71621         Include <stdlib.h>, <string.h> unconditionally.
71622         Remove now-unnecessary cast to char *.
71623         * lib/strnlen.c: Include <string.h> unconditionally.
71624         * lib/yesno.c (yesno): Define with a prototype.
71625
71626 2003-09-11  Bruno Haible  <bruno@clisp.org>
71627
71628         * config/srclist.txt (setenv.c, unsetenv.c): Disable for the moment.
71629
71630 2003-09-10  Jim Meyering  <jim@meyering.net>
71631
71632         * lib/error.c: Correct indentation of cpp directives.
71633
71634 2003-09-10  Bruno Haible  <bruno@clisp.org>
71635
71636         * m4/strcspn.m4 (gl_PREREQ_STRCSPN): Remove <string.h> check.
71637         * m4/strpbrk.m4 (gl_PREREQ_STRPBRK): Remove <string.h> check.
71638         * m4/strstr.m4 (gl_PREREQ_STRSTR): Remove <string.h> check.
71639         * m4/unicodeio.m4 (gl_UNICODEIO): Remove <string.h> check.
71640         * m4/setenv.m4 (gl_PREREQ_SETENV, gl_PREREQ_UNSETENV): Remove
71641         <stdlib.h> and <string.h> checks.
71642         * m4/xreadlink.m4 (gl_XREADLINK): Remove <stdlib.h> check.
71643         * m4/yesno.m4 (gl_YESNO): Remove <stdlib.h> check.
71644
71645 2003-09-10  Bruno Haible  <bruno@clisp.org>
71646
71647         * lib/strcspn.c: Include <string.h> unconditionally.
71648         * lib/strpbrk.c: Include <string.h> unconditionally.
71649         * lib/strstr.c: Include <string.h> unconditionally.
71650         * lib/unicodeio.c: Include <string.h> unconditionally.
71651         * lib/setenv.c: Include <stdlib.h> and <string.h> unconditionally.
71652         * lib/unsetenv.c: Likewise.
71653         * lib/xreadlink.c: Include <stdlib.h> unconditionally.
71654         * lib/yesno.c: Include <stdlib.h> unconditionally.
71655         (rpmatch): Add prototype.
71656
71657 2003-09-09  Paul Eggert  <eggert@twinsun.com>
71658
71659         More patches to assume C89 or better.
71660         * m4/getcwd.m4 (AC_FUNC_GETCWD_NULL): Don't check for stdlib.h.
71661         * m4/getopt.m4 (gl_GETOPT): Don't check for string.h.
71662         * m4/getugroups.m4 (gl_GETUGROUPS): Do not check for standard C headers
71663         or for string.h.
71664         * m4/getusershell.m4 (gl_PREREQ_GETUSERSHELL): Do not check for
71665         stdlib.h.
71666         * m4/group-member.m4 (gl_PREREQ_GROUP_MEMBER): Do not require standard
71667         C headers.
71668         * m4/hard-locale.m4 (gl_HARD_LOCALE): Do not check for stdlib.h,
71669         string.h.
71670         * m4/hash.m4 (gl_HASH): Do not check for stdlib.h, malloc, free.
71671         * m4/human.m4 (gl_HUMAN): Do not check for stdlib.h, string.h, getenv.
71672         * m4/idcache.m4 (gl_IDCACHE): Do not check for standard C headers,
71673         or for string.h.
71674         * m4/long-options.m4 (gl_LONG_OPTIONS): Do not check for stdlib.h.
71675         * m4/makepath.m4 (gl_MAKEPATH): Do not check for string.h or standard
71676         C headers.
71677         * m4/md5.m4 (gl_MD5): Don't check for limits.h, standard C headers,
71678         memcpy.
71679         * m4/sha.m4 (gl_SHA): Don't check for standard Cheaders, memcpy.
71680         * m4/memchr.m4 (jm_PREREQ_MEMCHR): Don't check for limits.h, stdlib.h.
71681         * m4/memcmp.m4 (gl_PREREQ_MEMCMP): Don't check for string.h.
71682         * m4/memcoll.m4 (gl_MEMCOLL): Likewise.
71683         * m4/memrchr.c (gl_PREREQ_MEMRCHR): Don't check for limits.h.
71684         * m4/mkdir-slash.m4 (gl_PREREQ_MKDIR): Don't check for stdlib.h,
71685         string.h, free.
71686         * m4/mktime.m4 (gl_PREREQ_MKTIME): Don't check for standard C headers.
71687         * m4/modechange.m4 (gl_MODECHANGE): Don't check for standard C headers.
71688         * m4/mountlist.m4 (gl_PREREQ_MOUNTLIST_EXTRA): Don't check for standard
71689         C headers, or for string.h.
71690         * m4/obstack.m4 (gl_OBSTACK): Don't check for stddefe.h, string.h.
71691         (gl_PREREQ_OBSTACK): Don't check for stdlib.h.
71692         * m4/path-concat.m4 (gl_PATH_CONCAT): Don't check for standard C
71693         headers, memory.h, stdlib.h, string.h, strings.h.
71694         * m4/posixtm.m4 (gl_POSIXTM): Don't check for stdlib.h, string.h.
71695         * m4/posixver.m4 (gl_POSIXVER): Don't check for getenv.
71696         * m4/putenv.m4 (gl_PREREQ_PUTENV): Don't check for string.h, memcpy,
71697         strchr.
71698         * m4/readtokens.m4 (gl_READTOKENS): Don't check for standard C
71699         headers, memory.h, string.h.
71700         * m4/regex.m4 (jm_PREREQ_REGEX): Do not check for limits.h, string.h.
71701         * m4/rename.m4 (gl_PREREQ_RENAME): Do not check for stdlib.h, string.h,
71702         free.
71703         * m4/rpmatch.m4 (gl_PREREQ_RPMATCH): Don't check for standard C
71704         headers.
71705         * m4/same.m4 (gl_SAME): Don't check for stdlib.h, string.h, free.
71706         * m4/save-cwd.m4 (gl_SAVE_CWD): Don't check for standard C headers.
71707         * m4/savedir.m4 (gl_SAVEDIR): Don't check for standard C headers.
71708         * m4/strchrnul.m4 (gl_PREREQ_STRCHRNUL): Don't check for string.h.
71709         * m4/xgetcwd.m4 (gl_XGETCWD): Don't check for stdlib.h.
71710
71711 2003-09-09  Paul Eggert  <eggert@twinsun.com>
71712
71713         More K&R removal.
71714
71715         * lib/acosl.c (main): Use a prototype.
71716         * lib/asinl.c, cosl.c, expl.c, frexpl.c, ldexpl.c, sinl.c,
71717         tanl.c: Likewise.
71718
71719         * lib/getloadavg.c (getloadavg, main): Define via prototypes.
71720
71721         * lib/getopt.h (struct option.name): Assume C89, and use 'const'.
71722         (getopt, etopt_long, getopt_long_only, _getopt_internal)
71723         [defined __GNU_LIBRARY__]: Assume C89, so we can always declare
71724         with a prototype.
71725         * lib/getopt.c (const): Remove macro.
71726         Include <string.h> unconditionally.
71727         (my_index): Remove; all uses changed to strchr.
71728         (strlen): Remove decl.
71729         (exchange): Remove forward decl; no longer needed.
71730         (exchange, _getopt_initialize, _getopt_internal, getopt, main):
71731         Define with prototype.
71732         * lib/getopt1.c (const): Remove macro.
71733         (getopt_long, getopt_long_only, main): Define with prototype.
71734
71735         * lib/getugroups.c: Include <string.h> unconditionally.
71736
71737         * lib/getusershell.c: Include <stdlib.h> unconditionally.
71738         (getusershell, setusershell, endusershell, readname, main):
71739         Define with prototypes.
71740
71741         * lib/group-member.c: Include group-member.h first.
71742         Include <stdlib.h> unconditionally.
71743
71744         * lib/hard-locale.c: Include hard-locale.h first.
71745         Include <stdlib.h>, <string.h> unconditionally.
71746
71747         * lib/hash.c (free, malloc): Remove decls.
71748         Include <stdlib.h> unconditionally.
71749
71750         * lib/human.c: Include <stdlib.h>, <string.h> unconditionally.
71751         (getenv): Do not declare.
71752
71753         * lib/idcache.c: Include <string.h> unconditionally.
71754
71755         * lib/long-options.c: Include long-options.h first, to test interface.
71756         Include <stdlib.h> unconditionally.
71757
71758         * lib/makepath.c: Include makepath.h first, to test interface.
71759         Include <stdlib.h> and <string.h> unconditionally.
71760
71761         * lib/linebuffer.c: Include <stdlib.h>.
71762         (free): Remove decl.
71763
71764         * lib/malloc.c: Include <stdlib.h>, for malloc; don't bother with
71765         stddef.h. rpl_malloc returns void *, not char *.
71766         * lib/realloc.c (rpl_realloc): Likewise.  Also, define with a
71767         prototype.
71768
71769         * lib/md5.h: Include <limits.h> unconditionally.
71770         (UINT_MAX_32_BITS): Don't worry about non-__STDC__ case.
71771         (__P): Remove; all uses removed.
71772         * lib/md5.c: Include "md5.h" first.
71773         (md5_init_ctx, md5_read_ctx, md5_finish_ctx, md5_stream,
71774         md5_buffer, md5_process_bytes, md5_process_block):
71775         Define with prototypes.
71776         * lib/sha.h (__P): Remove all uses.  (It wasn't defined??)
71777         * lib/sha.c: Include "sha.h" first.
71778         Include <stdlib.h>, <string.h> unconditionally.
71779
71780         * lib/memchr.c (__ptr_t): Remove; all uses changed to void *.
71781         * lib/memcmp.c (__ptr_t): Likewise.
71782         * lib/memrchr.c (__ptr_t): Likewise.
71783         * lib/memchr.c, memcmp.c, memcoll.c, memrchr.c:
71784         Include <string.h> unconditionally.
71785         * lib/memchr.c, memrchr.c: Include <limits.h> unconditionally.
71786         * lib/memchr.c: Include <stdlib.h> unconditionally.
71787         * lib/memchr.c (LONG_MAX): Remove.
71788         * lib/memrchr.c (LONG_MAX): Likewise.
71789         * lib/memchr.c (__memchr): Define via a prototype.
71790         * lib/memrchr.c (__memrchr): Likewise.
71791         * lib/memcmp.c (__P): Remove, and remove all uses.
71792         (memcmp_bytes, memcmp_common_alignment, memcmp_not_common_alignment):
71793         Remove forward decls; no longer needed.
71794         * lib/memcpy.c, memmove.c, memset.c: Include <stddef.h>.
71795         Use types required by C89 in prototype.
71796
71797         * lib/mkdir.c: Include <stdlib.h>, <string.h> unconditionally.
71798         * lib/savedir.c: Likewise.
71799         * lib/mkdir.c (free): Remove decl.
71800         * lib/rmdir.c (rmdir): Define with a prototype.
71801         * lib/savedir.c: Include savedir.h first, to test interface.
71802
71803         * lib/mktime.c (STDC_HEADERS): Remove.
71804         Include <stdlib.h>, <string.h> unconditionally.
71805
71806         * lib/modechange.c: Include <stdlib.h> unconditionally.
71807         (malloc): Remove decl.
71808
71809         * lib/mountlist.c: Include <stdlib.h>, <string.h> unconditionally.
71810         (free): Remove decl.
71811
71812         * lib/obstack.h (PTR_INT_TYPE) [!defined __PTRDIFF_TYPE__]:
71813         Define to ptrdiff_t, without bothering to check HAVE_STDDEF_H.
71814         (This type really should be intptr_t, but that's a C99ism.)
71815         (_obstack_memcpy): Remove: all uses changed to memcpy.
71816         Include <string.h> unconditionally.
71817         (struct obstack): Assume __STDC__ for types of members
71818         chunkfun, freefun, extra_arg.
71819         (_obstack_newchunk, _obstack_free, _obstack_begin, _obstack_begin_1,
71820         _obstack_memory_used, obstack_alloc_failed_handler, obstack_init,
71821         obstack_begin, obstack_specify_allocation,
71822         obstack_specify_allocation_with_arg, obstack_chunkfun,
71823         obstack_freefun, obstack_free) [! (defined __STDC__ && __STDC__)]:
71824         Remove unprototyped decls and the macros that use them.
71825         * lib/obstack.c (POINTER): Remove.  All uses changed to void *.
71826         (obstack_alloc_failed_handler, CALL_CHUNKFUN, CALL_FREEFUN,
71827         _obstack_begin, _obstack_begin_1, _obstack_allocated_p)
71828         (defined __STDC__ && __STDC__)]:
71829         Remove nonprototyped code.
71830         Include <stdlib.h> unconditionally.
71831         (_obstack_begin, _obstack_begin_1, _obstack_newchunk,
71832         _obstack_allocated_p, _obstack_free, obstack_free,
71833         _obstack_memory_used, print_and_abort):
71834         Define using prototypes.
71835         (obstack_1grow, obstack_1grow_fast, obstack_alloc, obstack_base,
71836         obstack_blank, obstack_blank_fast, obstack_copy, obstack_copy0,
71837         obstack_finish, obstack_grow, obstack_grow0, obstack_make_room,
71838         obstack_next_free, obstack_object_size, obstack_room) [0]:
71839         Remove unused, unprototyped code.
71840
71841         * lib/path-concat.c: Include <stdlib.h>, <string.h> unconditionally.
71842
71843         * lib/physmem.c (physmem_total, physmem_available, main): Define
71844         with prototypes.
71845
71846         * lib/posixtm.c: Include <stdlib.h>, <string.h> unconditionally.
71847         (main): Define with a prototype.
71848
71849         * lib/posixver.c (getenv): Remove decl.
71850
71851         * lib/putenv.c (malloc): Returns void *, not char *.
71852         Include <string.h> unconditionally.
71853         (strchr, memcpy, NULL): Do not define.
71854
71855         * lib/readtokens.c: Include readtokens.h first, to test interface.
71856         Include <stdlib.h>, <string.h> unconditionally.
71857         (init_tokenbuffer): Define with a prototype.
71858
71859         * lib/regex.c (PARAMS): Remove.  All uses removed.
71860         All uses of _RE_ARGS removed, too.
71861         Include <stddef.h>, <stdlib.h>, <string.h>, <limits.h>
71862         unconditionally.
71863         (bzero): Assume memset exists.
71864         (memcmp, memcpy, NULL): Remove.
71865         (SIGN_EXTEND_CHAR): Remove; all uses replaced by casts to signed
71866         char, or assignments to local vars of type signed char.
71867         (init_syntax_once, PREFIX(extract_number_and_incr),
71868         PREFIX(print_partial_compiled_pattern),
71869         PREFIX(print_compiled_pattern), PREFIX(print_double_string),
71870         convert_mbs_to_wcs, print_fastmap, re_set_syntax,
71871         PREFIX(regex_grow_registers), PREFIX(regex_compile),
71872         PREFIX(store_op1), PREFIX(store_op2), PREFIX(insert_op1),
71873         PREFIX(insert_op2), PREFIX(at_begline_loc_p),
71874         PREFIX(at_endline_loc_p), group_in_compile_stack, insert_space,
71875         wcs_compile_range, byte_compile_range, truncate_wchar,
71876         PREFIX(re_compile_fastmap), re_compile_fastmap, re_set_registers,
71877         re_search, re_search_2, PREFIX(re_search_2), re_match, re_match_2,
71878         count_mbs_length, wcs_re_match_2_internal,
71879         byte_re_match_2_internal, PREFIX(group_match_null_string_p),
71880         PREFIX(alt_match_null_string_p),
71881         PREFIX(common_op_match_null_string_p), PREFIX(bcmp_translate),
71882         re_compile_pattern, re_comp, re_exec, regcomp, regexec, regerror,
71883         regfree, PREFIX(extract_number)): Define with prototype.  Remove
71884         now-unnecessary declaration, if any.
71885         (byte_compile_range, PREFIX(regex_compile), re_comp, re_exec,
71886         regcomp, regexec):
71887         Remove now-unnecessary casts among pointer types.
71888         * lib/regex.h (_RE_ARGS): Remove.  All uses removed.
71889
71890         * lib/rename.c: Include <stdlib.h>, <string.h> unconditionally.
71891         (free): Remove decl.
71892
71893         * lib/rpmatch.c: Include <stdlib.h> unconditionally.
71894
71895         * lib/same.c: Include <stdlib.h>, <string.h> unconditionally.
71896         (free): Remove decl.
71897
71898         * lib/save-cwd.c: Include <stdlib.h> unconditionally.
71899         * lib/xgetcwd.c: Likewise.
71900
71901         * lib/stat.c: Include <stdlib.h>, <string.h> unconditionally.
71902         (free): Remove decl.
71903
71904         * lib/strchrnul.c (strchrnul): Define with a prototype.
71905         Fix bug: c_in was not converted to char before searching.
71906
71907         The following changes are not K&R related:
71908
71909         * lib/group-member.h: Include <sys/types.h>, so that this file is
71910         self-contained.
71911         * lib/makepath.h: Likewise.
71912
71913         * lib/getusershell.c (readname, default_index, line_size, readname):
71914         Use size_t, not int, for sizes.
71915         (readname): If the size overflows, report an error instead of
71916         looping forever.
71917
71918 2003-09-09  Paul Eggert  <eggert@twinsun.com>
71919
71920         * config/srclist.txt: Do not get getopt.h, getopt1.c, or regex.h from
71921         libc.
71922
71923 2003-09-09  Paul Eggert  <eggert@twinsun.com>
71924
71925         * README: New section: portability guidelines.
71926
71927 2003-09-09  Derek Robert Price  <derek@ximbiot.com>
71928
71929         * m4/getndelim2.m4 (gl_PREREQ_GETNDELIM2): Assume stdlib.h per the
71930         C89 spec.
71931
71932 2003-09-09  Derek Robert Price  <derek@ximbiot.com>
71933
71934         * lib/getndelim2.c: Assume stdlib.h per the C89 spec.
71935
71936 2003-09-08  Paul Eggert  <eggert@twinsun.com>
71937
71938         Assume C89 or better; remove K&R cruft.
71939         A few of these changes were first proposed by Derek Robert Price
71940         in <http://mail.gnu.org/archive/html/bug-gnulib/2003-07/msg00105.html>.
71941
71942         * lib/addext.c: Include <string.h> unconditionally.
71943         * lib/backupfile.c: Include <string.h>, <stdlib.h> unconditionally.
71944         Don't declare getenv or malloc.
71945
71946         * lib/alloca.c: Include <string.h>, <stdlib.h> unconditionally.
71947         (POINTER_TYPE, pointer): Remove; all uses changed to void *.
71948         (NULL): Remove.
71949         (find_stack_direction, alloca): Use prototypes.
71950
71951         * lib/atexit.c (atexit): Define using a prototype.
71952
71953         * lib/basename.c, dirname.c, stripslash.c:
71954         Include <string.h> unconditionally.
71955
71956         * lib/bcopy.c: Include <stddef.h>.
71957         (bcopy): Define with prototype, using 'const' and 'void' and 'size_t'.
71958
71959         * lib/canon-host.c: Include <stdlib.h>, <string.h> unconditionally.
71960
71961         * lib/error.h (error, error_at_line, error_print_progname)
71962         [! (defined (__STDC__) && __STDC__)]: Remove decls.
71963         * lib/error.c: Include error.h first, to check interface.
71964         Include <stdarg.h>, <stdlib.h>, <string.h> unconditionally.
71965         (VA_START): Remove; all uses changeed to va_start.
71966         (exit, strerror): Remove decls.
71967         (error_print_progname): Prototype uncondionally.
71968         Don't include <errno.h>; no longer needed.
71969         (private_strerror): Remove.
71970         (error_tail): Always define.
71971         (error, error_at_line): Assume C89 or better; always use prototypes.
71972         * lib/fatal.c: Include "fatal.h" first, to test interface.
71973         Include <stdarg.h>, <stdlib.h>, <string.h> unconditionally.
71974         (VA_START): Remove; all uses changed to va_start.
71975         [! (HAVE_VPRINTF || HAVE_DOPRNT || _LIBC)]: Remove support for
71976         this case.
71977         (exit): Remove decl.
71978         (fatal): Prototype unconditionally.  Assume va_start works.
71979         Abort at end, to pacify gcc.
71980
71981         * lib/euidaccess.c (main): Define with a prototype.
71982
71983         * lib/exclude.c: Include <stdlib.h>, <string.h> unconditionally.
71984
71985         * lib/exitfail.c: Include <stdlib.h> unconditionally.
71986
71987         * lib/fnmatch_.h (__P): Remove.  All uses changed to assume
71988         prototypes.
71989         * lib/fnmatch.c: Include fnmatch.h first, to test interface.
71990         Include <string.h>, <stddef.h>, <stdlib.h> unconditionally.
71991         (getenv): Remove decl.
71992         (fnmatch): Define using a prototype.
71993         * lib/fnmatch_loop.c (FCT): Remove forward decl; no longer needed.
71994         (FCT): Define using a prototype.
71995
71996         * lib/getdate.y: Include <stdlib.h>, <string.h> unconditionally.
71997
71998         * lib/gethostname.c: Include <stddef.h>.
71999         (gethostname): Define with prototype.  Length is size_t, not int.
72000
72001 2003-09-08  Paul Eggert  <eggert@twinsun.com>
72002
72003         Assume C89 or better; remove K&R cruft.
72004         * m4/alloca.m4 (gl_PREREQ_ALLOCA): Don't check for stdlib.h, string.h.
72005         * m4/backupfile.m4 (gl_BACKUPFILE): Don't check for stdlib.h,
72006         string.h, getenv, malloc.
72007         * m4/dirname.m4 (gl_DIRNAME): Don't check for string.h or C standard
72008         headers.
72009         * m4/canon-host.m4 (gl_CANON_HOST): Don't check for string.h, stdlib.h.
72010         * m4/error.m4 (jm_PREREQ_ERROR): Do not require STDC headers, and
72011         do not check for strerror.
72012         * m4/exclude.m4: Do not check for stdlib.h, string.h, strings.h.
72013         * m4/exitfail.m4 (gl_EXITFAIL): Do not check for stdlib.h.
72014         * m4/fatal.m4 (gl_FATAL): Do not require STDC headers, and
72015         do not check for doprnt or vprintf.
72016         * m4/fnmatch.m4 (gl_PREREQ_FNMATCH_EXTRA): Remove.  All uses removed.
72017         * m4/getdate.m4 (gl_GETDATE): Don't check for stdlib.h or string.h.
72018
72019 2003-09-08  Paul Eggert  <eggert@twinsun.com>
72020
72021         * lib/getversion.c: Remove; was migrated to backupfile.c in 1997.
72022         getversion.c should have been removed then, but was accidentally
72023         preserved.
72024
72025         * lib/utime.c [!HAVE_UTIMES_NULL]: Include <sys/stat.h>, <fcntl.h>.
72026         (utime_null): Fix typo: 'st' was sometimes called 'sb'.
72027
72028 2003-09-08  Karl Berry  <karl@gnu.org>
72029
72030         * config/config.sub, config.guess, srclistvars.sh: update from savannah
72031                 config, forget about prep.
72032
72033         * config/depcomp, missing: update from automake.
72034
72035 2003-09-07  Paul Eggert  <eggert@twinsun.com>
72036
72037         * modules/time_r: Depend on 'restrict'.  Fix from Simon Josefsson in
72038         <http://mail.gnu.org/archive/html/bug-gnulib/2003-09/msg00028.html>.
72039
72040 2003-09-07  Paul Eggert  <eggert@twinsun.com>
72041
72042         * lib/time_r.c (gmtime_r, localtime_r): Fix silly typo: missing arg to
72043         copy_tm_result.  Bug reported by Simon Josefsson in
72044         <http://mail.gnu.org/archive/html/bug-gnulib/2003-09/msg00028.html>.
72045
72046 2003-09-06  Paul Eggert  <eggert@twinsun.com>
72047
72048         * m4/time_r.m4: New file.
72049         * m4/mktime.m4 (gl_PREREQ_MKTIME): Remove check for limits.h.
72050         * m4/timegm.m4 (gl_FUNC_TIMEGM): Assume that timegm is buggy if mktime
72051         is. Check for timegm declaration.
72052         (gl_PREREQ_TIMEGM): Require gl_FUNC_MKTIME.
72053         Do not check for gmtime_r.
72054         Replace mktime if __mktime_internal does not exist and if mktime
72055         hasn't been replaced already.
72056
72057 2003-09-06  Paul Eggert  <eggert@twinsun.com>
72058
72059         * lib/time_r.c, lib/time_r.h: New files.
72060
72061         * lib/mktime.c (my_mktime_localtime_r): Remove; all uses changed to
72062         __localtime_r.
72063         (__localtime_r) [!defined _LIBC]: New macro.  Include <time_r.h>.
72064         (__mktime_internal) [!defined _LIBC]: Now extern, not static.
72065
72066         * lib/strftime.c (my_strftime_gmtime_r): Remove; all uses changed to
72067         __gmtime_r.
72068         (my_strftime_localtime_r): Remove; all uses changed to __localtime_r.
72069         (__gtime_r, __localtime_r) [!HAVE_TM_GMTOFF]: New macros.
72070         Include <time_r.h>.
72071
72072         * lib/timegm.c: Switch to glibc implementation, with the following
72073         changes:
72074         [defined HAVE_CONFIG_H]: Include <config.h>.
72075         [!defined _LIBC]: Include "timegm.h" rather than <time.h>.
72076         (__mktime_internal) [!defined _LIBC]: New decl.
72077         (__gmtime_r) [!defined _LIBC]: New macro and function.
72078         (timegm): Use a prototype, since gnulib assumes C89.
72079         Do not bother declaring tmp to be const, as it's not really usefu.
72080         * lib/timegm.h: Hoist "#include <time.h>" out of #ifdef.
72081         (timegm): Declare only if HAVE_DECL_TIMEGM.
72082
72083 2003-09-06  Paul Eggert  <eggert@twinsun.com>
72084
72085         * MODULES.html.sh (func_all_modules): Add time_r.
72086         * modules/time_r: New file.
72087         * modules/mktime, modules/strftime, modules/timegm: Depend on time_r.
72088         * modules/timegm: Depend on mktime.  Change maintainer to "all, glibc".
72089
72090 2003-09-03  Paul Eggert  <eggert@twinsun.com>
72091
72092         * lib/human.c (human_readable): Fix bug that rounded 10501 to 10k.
72093         Bug reported by Lute Kamstra in
72094         <http://mail.gnu.org/archive/html/bug-gnulib/2003-09/msg00003.html>.
72095
72096         * lib/getdate.y (relative_time_table): Use tDAY_UNIT for "tomorrow",
72097         "yesterday", "today", and "now" rather than tMINUTE_UNIT.  Of
72098         course with correspondingly smaller numbers for tomorrow and
72099         yesterday.  From Tadayoshi Funaba.  Originally installed into
72100         sh-utils on 1999-08-07, but the patch got lost (I guess during the
72101         coreutils merge?).
72102
72103 2003-08-31  Simon Josefsson  <jas@extundo.com>
72104
72105         * modules/timegm: New file.
72106         * MODULES.html.sh (func_all_modules): Add timegm.
72107
72108 2003-08-31  Simon Josefsson  <jas@extundo.com>
72109
72110         * m4/timegm.m4: New file.
72111
72112 2003-08-31  Simon Josefsson  <jas@extundo.com>
72113
72114         * lib/timegm.h: New file.
72115         * lib/timegm.c: New file.  Based on
72116         wget-1.8.2/src/http.c:mktime_from_utc.
72117
72118 2003-08-31  Karl Berry  <karl@gnu.org>
72119
72120         * lib/argp.h: update from libc.
72121
72122 2003-08-28  Bruno Haible  <bruno@clisp.org>
72123
72124         * m4/fnmatch.m4 (_AC_LIBOBJ_FNMATCH): Remove AC_DEFINE of fnmatch here.
72125         This avoids havoc on compilers for which '#define fnmatch rpl_fnmatch'
72126         followed by '#define fnmatch fnmatch_posix' gives an error.
72127
72128 2003-08-28  Bruno Haible  <bruno@clisp.org>
72129
72130         * lib/binary-io.h: Undefine O_BINARY before defining it. This avoids a
72131         warning on QNX, which defines O_BINARY to 000000.
72132
72133 2003-08-27  Jim Meyering  <jim@meyering.net>
72134
72135         * m4/mkstemp.m4: Require that the system mkstemp be able to create
72136         70 temporary files, not just 30.  Tru64 V4.0F's mkstemp function
72137         would fail after 32.  Reported by Danny Levinson.  Details here:
72138         http://mail.gnu.org/archive/html/bug-coreutils/2003-08/msg00124.html
72139
72140 2003-08-24  Bruno Haible  <bruno@clisp.org>
72141
72142         * lib/binary-io.h: Include <stdio.h>, to avoid a compilation error when
72143         MSVC7 <stdio.h> is included later.
72144
72145 2003-08-22  Simon Josefsson  <jas@extundo.com>
72146
72147         * modules/strndup (Makefile.am): Add strndup.h to lib_SOURCES.
72148
72149 2003-08-20  Karl Berry  <karl@gnu.org>
72150
72151         * m4/lib-ld.m4: serial 1003 from gettext, no changes besides serial.
72152
72153 2003-08-20  Bruno Haible  <bruno@clisp.org>
72154
72155         * modules/progname: New file.
72156         * MODULES.html.sh (func_all_modules): Add progname.
72157
72158 2003-08-20  Bruno Haible  <bruno@clisp.org>
72159
72160         * lib/progname.h: New file, from GNU gettext.
72161         * lib/progname.c: New file, from GNU gettext.
72162         * lib/progreloc.c: New file, from GNU gettext.
72163
72164 2003-08-19  Jim Meyering  <jim@meyering.net>
72165
72166         * m4/lib-ld.m4: Revert yesterday's change, per Bruno's request here:
72167         http://mail.gnu.org/archive/html/bug-gnulib/2003-08/msg00155.html
72168
72169 2003-08-19  Bruno Haible  <bruno@clisp.org>
72170
72171         * m4/xalloc.m4 (gl_PREREQ_XSTRDUP): Don't check for <string.h> any
72172         more.
72173
72174 2003-08-19  Bruno Haible  <bruno@clisp.org>
72175
72176         * lib/xstrdup.c: Assume <string.h> exists.
72177
72178 2003-08-18  Paul Eggert  <eggert@twinsun.com>
72179
72180         * modules/stdbool: Add BUILT_SOURCES.  Prefer $@ to target name
72181         in makefile rules.
72182
72183 2003-08-18  Jim Meyering  <jim@meyering.net>
72184
72185         * m4/getloadavg.m4: Use [\t ], not [ \t] (where \t is a literal TAB).
72186         * m4/lib-ld.m4: Likewise.
72187
72188 2003-08-18  Jim Meyering  <jim@meyering.net>
72189
72190         * lib/setenv.h: Indent nested cpp directive.
72191         * lib/vasnprintf.c: Remove trailing blanks.
72192
72193 2003-08-17  Simon Josefsson  <jas@extundo.com>
72194
72195         * modules/xstrndup: New file.
72196         * MODULES.html.sh (func_all_modules): Add xstrndup.
72197
72198 2003-08-17  Simon Josefsson  <jas@extundo.com>
72199
72200         * modules/argp: Fix autoconf macro name. Add more dependencies.
72201
72202 2003-08-17  Simon Josefsson  <jas@extundo.com>
72203
72204         * m4/xstrndup.m4: New file.
72205
72206 2003-08-17  Simon Josefsson  <jas@extundo.com>
72207
72208         * m4/argp.m4: New file.
72209
72210 2003-08-17  Simon Josefsson  <jas@extundo.com>
72211             Bruno Haible  <bruno@clisp.org>
72212
72213         * lib/xstrndup.h: New file.
72214         * lib/xstrndup.c: New file.
72215
72216 2003-08-17  Bruno Haible  <bruno@clisp.org>
72217
72218         * modules/strndup (Files, Include): Add lib/strndup.h.
72219
72220 2003-08-17  Bruno Haible  <bruno@clisp.org>
72221
72222         * modules/euidaccess (Files): Add lib/euidaccess.h.
72223
72224 2003-08-17  Bruno Haible  <bruno@clisp.org>
72225
72226         * lib/strndup.h: New file.
72227
72228 2003-08-17  Bruno Haible  <bruno@clisp.org>
72229
72230         * gnulib-tool (func_create_testdir): Handle gl_USE_SYSTEM_EXTENSIONS
72231         like AC_GNU_SOURCE.
72232         * modules/extensions (configure.ac): Comment out the invocation of
72233         gl_USE_SYSTEM_EXTENSIONS.
72234
72235 2003-08-16  Paul Eggert  <eggert@twinsun.com>
72236
72237         Merges from coreutils, etc.
72238         * m4/rpmatch.m4 (gl_PREREQ_RPMATCH): Insert ':' to prevent a syntax
72239         error in gl_FUNC_MATCH.  This fixes a bug I introduced on 2003-05-28.
72240         * m4/readlink.m4 (gl_PREREQ_READLINK): Renamed from gl_PREREQ_READLINE,
72241         fixing a typo.
72242         * m4/host-os.m4 (UTILS_HOST_OS): Add GNU/NetBSD, GNU/FreeBSD.
72243         * m4/hash.m4 (gl_HASH): Use AM_STDBOOL_H, not AC_HEADER_STDBOOL.
72244
72245 2003-08-16  Paul Eggert  <eggert@twinsun.com>
72246
72247         Document merge from coreutils.
72248         * modules/alloca: Append $(ALLOCA_H) to BUILT_SOURCES.
72249         * modules/fnmatch: Append $(FNMATCH_H) to BUILT_SOURCES.
72250         * modules/utime: Add m4/utimes-null.m4.
72251
72252 2003-08-16  Paul Eggert  <eggert@twinsun.com>
72253
72254         * lib/regex.h, strdup.c, strtoll.c, strtoul.c: Do not normalize white
72255         space, undoing this 2003-08-12 change:
72256         <http://mail.gnu.org/archive/html/bug-gnulib/2003-08/msg00080.html>
72257
72258 2003-08-16  Paul Eggert  <eggert@twinsun.com>
72259
72260         * config/srclist.txt: Get regex.h, strdup.c, strtoll.c,
72261         strtoul.c from libc, undoing this 2003-08-12 change:
72262         <http://mail.gnu.org/archive/html/bug-gnulib/2003-08/msg00080.html>
72263
72264 2003-08-16  Jim Meyering  <jim@meyering.net>
72265
72266         Merges from coreutils.
72267         * m4/readdir.m4 (GL_FUNC_READDIR): Change name to have GL_ (not jm_)
72268         prefix.  Adjust cache variables similarly.  Create 500 rather than
72269         just 300 files, to exercise bug on Darwin6.5, too.
72270         * m4/perl.m4 (jm_PERL): Use $am_missing_run, not undefined
72271         $missing_dir.
72272         * m4/jm-winsz1.m4: Require AC_SYS_POSIX_TERMIOS, not
72273         AM_SYS_POSIX_TERMIOS.
72274         Reported by mkc@mathdogs.com.
72275         Also change use of $am_cv_sys_posix_termios
72276         to $ac_cv_sys_posix_termios.  Reported by Andreas Schwab.
72277         * m4/getgroups.m4 (jm_FUNC_GETGROUPS): Rewrite to use AC_FUNC_GETGROUPS
72278         and (if needed) to call AC_LIBOBJ and to set GETGROUPS_LIB.
72279         * m4/fsusage.m4 [__GLIBC__]: GNU libc's statvfs stats each mount point
72280         in /proc/mounts until it finds one with matching device number.  This
72281         is unnecessary when the FILE argument *is* a mount point.  No stat call
72282         is necessary in that case.  So, disable the statvfs-testing code on
72283         systems with GNU libc.  Reported by Andrei Gaponenko via Tim Waugh
72284         as RedHat bug# 84846.
72285         * m4/c-stack.m4 (AC_SYS_XSI_STACK_OVERFLOW_HEURISTIC): Limit stack size
72286         to 1MB, so as not to render systems with no stack size limit (e.g.,
72287         linux-2.2.x) unusable.  Suggestion and code from Bruno Haible.
72288         Include <unistd.h>.  On some systems,
72289         it is required for the definition of _SC_PAGESIZE.
72290
72291 2003-08-16  Jim Meyering  <jim@meyering.net>
72292
72293         Merge from coreutils.
72294         * lib/xstrtoimax.c: #else #if -> #elif.
72295         * lib/xstrtoumax.c: Likewise.
72296
72297 2003-08-16  Jim Meyering  <jim@meyering.net>
72298
72299         * m4/utimes.m4 (gl_FUNC_UTIMES): New file.
72300         * m4/utimes.m4: Removed.
72301         * m4/utimes-null.m4: Renamed from utimes.m4.
72302
72303         * m4/c-stack.m4 (AC_SYS_XSI_STACK_OVERFLOW_HEURISTIC): Limit stack size
72304         to 1MB, so as not to render systems with no stack size limit (e.g.,
72305         linux-2.2.x) unusable.  Suggestion and code from Bruno Haible.
72306         Include <unistd.h>.  On some systems,
72307         it is required for the definition of _SC_PAGESIZE.
72308
72309 2003-08-16  Jim Meyering  <jim@meyering.net>
72310         and Paul Eggert  <eggert@cs.ucla.edu>
72311
72312         Merges from coreutils, etc.
72313
72314         * m4/jm-macros.m4 (AC_LANG_SOURCE(C)): New macro, undefine, then define
72315         using the latest version from cvs.  This avoids problems with #line
72316         directives using a vendor (Sun) compiler.
72317         (jm_MACROS): Bump prerequisite from 2.52g to 2.57.
72318         Don't set GETGROUPS_LIB here; now it's
72319         done via getgroups.m4's wrapper function.
72320         AC_SUBST OPTIONAL_BIN_PROGS, OPTIONAL_BIN_ZCRIPTS, and MAN here,
72321         rather than just in sh-util/configure.in, so that the
72322         now-shared-by-fileutils-and-textutils lib/Makefile.am are all the
72323         same.
72324         Use AC_CONFIG_LIBOBJ_DIR(lib) to tell the new
72325         AC_FUNC_GETLOADAVG where to find getloadavg.c.
72326         Require AC_FUNC_FTW, gt_INTTYPES_PRI, gl_CLOCK_TIME,
72327         UTILS_SYS_OPEN_MAX, GL_FUNC_GETCWD_PATH_MAX, GL_FUNC_READDIR,
72328         gl_FSUSAGE, gl_MOUNTLIST, AC_FUNC_CANONICALIZE_FILE_NAME.
72329         Remove code that is now done by the newly-required macros.
72330         Append $(EXEEXT) to DF_PROG.
72331         AC_LIBOBJ fchdir-stub if fchdir doesn't exist; similarly for fchown.
72332         Do not invoke or require the following here,
72333         since prereq.m4 or some gnulib .m4 now does this for us:
72334         gl_REGEX, UTILS_FUNC_MKDIR_TRAILING_SLASH, jm_BISON, gl_FUNC_MKTIME,
72335         jm_FUNC_LSTAT, jm_FUNC_STAT, jm_FUNC_REALLOC, jm_FUNC_MALLOC,
72336         jm_FUNC_NANOSLEEP, jm_FUNC_READDIR, jm_FUNC_MEMCMP,
72337         jm_FUNC_GLIBC_UNLOCKED_IO, AC_FUNC_FNMATCH_GNU, jm_FUNC_PUTENV,
72338         jm_AC_PREREQ_XSTRTOUMAX, jm_AC_PREREQ_XSTRTOIMAX,
72339         AC_FUNC_ERROR_AT_LINE, jm_FUNC_GNU_STRFTIME, AC_FUNC_VPRINTF,
72340         vb_FUNC_RENAME, UTILS_FUNC_MKSTEP, jm_FUNC_UTIME, AM_FUNC_GETLINE,
72341         AC_FUNC_OBSTACK.
72342         Do not replace the following functions, as this is now the job
72343         of some gnulib .m4: strcasecmp, strncasecmp, dup2, gethostname,
72344         getusershell, sig2str, strcspn, stpcpy, strstr, strtol, strtoul
72345         strpbrk, euidaccess, memcmp, rmdir, rpmatch, strndup, strverscmp,
72346         atexit getpass, strdup, getpagesize.
72347         Replace 'raise'.
72348         Do not check for the following functions, as this is now the job
72349         of some gnulib .m4: bcopy, canonicalize_file_name, fchdir, ftime,
72350         getcwd, getmntinfo, resolvepath.  But check for sysctl, setreuid,
72351         setregid.
72352         (jm_CHECK_ALL_HEADERS): Do not check for fenv.h.
72353         Check for sys/sysctl.h.
72354         (jm_CHECK_ALL_TYPES): Do not require AC_STRUCT_TM, AC_STRUCT_TIMEZONE,
72355         jm_CHECK_TYPE_STRUCT_TIMESPEC.  Invoke gt_TYPE_SSIZE_T instead
72356         of checking for ssize_t ourselves.
72357
72358         * m4/prereq.m4 (jm_PREREQ): Don't invoke macros; AC_REQUIRE them.
72359         Require every macro that gnulib/modules/* suggests for us.
72360         (jm_PREREQ_ADDEXT): New macro.
72361         (jm_PREREQ_STAT): Check for 'struct statfs' on Ultrix 4.4.
72362         Require jm_AC_TYPE_LONG_LONG instead of invoking it.
72363
72364         * m4/physmem.m4 (gl_SYS__SYSTEM_CONFIGURATION): New macro.
72365         (gl_PHYSMEM): Use it.
72366         Also check for `table' function.
72367         Check for new headers and functions.
72368         Add check for sys/sysmp.h.
72369         With suggestions from Kaveh Ghazi.
72370         Ignore headers that are present but cannot be compiled.  This
72371         avoids spurious warnings on Solaris 9 sparc with Forte Developer 7
72372         C 5.4.
72373
72374 2003-08-15  Paul Eggert  <eggert@twinsun.com>
72375
72376         Document merge from coreutils.
72377         * modules/userspec: Depend on posixver.
72378         * modules/strftime: Depend on tzset.
72379
72380 2003-08-15  Paul Eggert  <eggert@twinsun.com>
72381
72382         * lib/config.charset, ref-add.sin, ref-del.sin: Use three spaces,
72383         rather than tab, after '#' in shell-script copyright notices.
72384         Suggested by Bruno Haible.
72385
72386 2003-08-15  Paul Eggert  <eggert@twinsun.com>
72387
72388         * config/srclist-update: Use three spaces, rather than tab, after '#'
72389         in shell-script copyright notices.  Suggested by Bruno Haible.
72390         Remove unnecessary parenthesization in regular expression.
72391
72392 2003-08-15  Jim Meyering  <jim@meyering.net>
72393
72394         Merge from coreutils.
72395         * lib/xgethostname.c: Include <stdlib.h>.
72396         (xghostname): Don't exit for anything other than memory-related
72397         failure; just return NULL.
72398         * lib/userspec.c: Include "posixver.h".
72399         (parse_user_spec): Accept `.' as a separator only
72400         in pre-POSIX-200112 mode.
72401         * lib/strtoimax.c: Use #elif rather than #else #if.
72402         * lib/strftime.c (my_strftime) [!_LIBC && HAVE_TZNAME && HAVE_TZSET]:
72403         Remove function, now that we can rely on a working tzset function.
72404         [!_LIBC]: Ensure that the required autoconf test has been run.
72405         [!defined _NL_CURRENT && HAVE_STRFTIME]:
72406         Use underlying_strftime for %r.
72407         * lib/sha.c: Merge in some clean-up and optimization changes from
72408         glibc.
72409         * lib/sha.c (sha_stream) [BLOCKSIZE]: Move definition to top of file.
72410         Ensure that it is a multiple of 64.
72411         Rearrange loop exit tests so as to avoid performing an
72412         additional fread after encountering an error or EOF.
72413         * lib/realloc.c: Update copyright date.
72414
72415 2003-08-15  Jim Meyering  <jim@meyering.net>
72416         and Paul Eggert  <eggert@twinsun.com>
72417
72418         Merge from coreutils.
72419         * lib/readutmp.h (HAVE_UTMPX_H): Undef if struct utmp has the ut_exit
72420         member but strut utmpx does not.  Needed for AIX 4.3.3.
72421         (UT_EXIT_E_TERMINATION, UT_EXIT_E_EXIT): Define.
72422
72423 2003-08-15  Jim Meyering  <jim@meyering.net>
72424         and Paul Eggert  <eggert@cs.ucla.edu>
72425
72426         Merges from coreutils, etc.
72427         * m4/strftime.m4 (_jm_STRFTIME_PREREQS):
72428         Require gl_FUNC_TZSET_CLOBBER.
72429         * m4/readutmp.m4 (gl_READUTMP): Check for ut_exit.ut_exit,
72430         ut_exit.e_exit, ut_exit.ut_termination, and ut_exit.e_termination
72431         members.
72432
72433 2003-08-14  Paul Eggert  <eggert@twinsun.com>
72434
72435         Help the merge from coreutils.
72436         * m4/gettimeofday.m4 (gl_GETTIMEOFDAY_REPLACE_LOCALTIME): New macro.
72437         (AC_FUNC_GETTIMEOFDAY_CLOBBER): Use it.
72438         * m4/tzset.m4: Use it too.
72439
72440 2003-08-14  Paul Eggert  <eggert@twinsun.com>
72441
72442         * modules/tzset: New file.
72443
72444 2003-08-14  Jim Meyering  <jim@meyering.net>
72445
72446         Merges from coreutils.
72447         * modules/fnmatch: Use the `$(FNMATCH_H)' notation for AC_REPLACED
72448         variable names, rather than @FNMATCH_H@.
72449         * modules/alloca: Likewise for $(ALLOCA_H).
72450
72451         * modules/fnmatch (fnmatch.h): Use `$@' in the commands, in place of
72452         the three copies of the literal target, `fnmatch.h'.
72453         * modules/alloca (alloca.h): Likewise.
72454
72455 2003-08-14  Jim Meyering  <jim@meyering.net>
72456
72457         Merge from coreutils.
72458         * m4/tzset.m4: New file.
72459         * m4/ls-mntd-fs.m4 (jm_LIST_MOUNTED_FILESYSTEMS): Move the
72460         MOUNTED_VMOUNT test to precede the MOUNTED_GETMNTENT1 tests, since
72461         otherwise, AIX 5.1 systems would end up using the latter.
72462         MOUNTED_GETMNTENT1 support is inadequate on such systems: 1) detecting
72463         whether a file system is remote doesn't work  2) the MOUNTED_VMOUNT
72464         code reports the HOSTNAME:/MOUNT_POINT, while the MOUNTED_GETMNTENT1
72465         code reports merely /MOUNT_POINT.  Reported by Mike Jetzer.
72466
72467 2003-08-14  Jim Meyering  <jim@meyering.net>
72468
72469         Merge from coreutils.
72470         * lib/obstack.h: Whitespace changes.
72471         * lib/mountlist.c: Remove anachronistic casts of xmalloc, xrealloc,
72472         and xcalloc return values.
72473         (read_filesystem_list) [MOUNTED_GETFSSTAT]:
72474         Use MNT_NOWAIT, rather than MNT_WAIT.  Otherwise, `df DIR' could
72475         hang on OSF/1 5.1 for DIR on both local and remote file systems.
72476         Reported by (and fix confirmed by) Nelson H. F. Beebe.
72477         (read_filesystem_list) [MOUNTED_VMOUNT]: Detect any
72478         error from mntctl.
72479         Use mntctl's return value to drive the entry-processing loop, since
72480         we can't rely on the value of the vmt_length member in the last
72481         entry.  On some systems doing so could result in exhausting
72482         virtual memory.  Based in part on a patch from Mike Jetzer.
72483
72484 2003-08-14  Jim Meyering  <jim@meyering.net>
72485         and Paul Eggert  <eggert@twinsun.com>
72486
72487         Merges from coreutils, plus other fixes.
72488         * lib/physmem.c: Merge in portability changes from gcc/libiberty
72489         to support AIX, IRIX, Tru64, and Windows.  See the ChangeLog there
72490         for credits and details.  Thanks to Kaveh Ghazi for helping
72491         to keep these files in sync.
72492         (ARRAY_SIZE): Define it.
72493         (physmem_total, physmem_available): Add comments. From Kaveh Ghazi.
72494         * lib/memcasecmp.c: Remove unnecessary parentheses after 'defined'.
72495         (memcasecmp): Don't assume size_t fits in unsigned int.
72496         Remove casts and duplicate code.
72497         * lib/md5.c: Include <string.h> and <stdlib.h> unconditionally.
72498         (memcpy): Remove definition.
72499         Merge in some clean-up and optimization changes from glibc.
72500         [BLOCKSIZE]: Move definition to top of file.
72501         Ensure that it is a multiple of 64.
72502         Rearrange loop exit tests so as to avoid performing an
72503         additional fread after encountering an error or EOF.
72504         * lib/md5.h (md5_uintptr): Define.
72505         * lib/makepath.c (CLEANUP_CWD): Report an error if we failed to
72506         return to the initial working directory.  Preserve errno
72507         for caller.
72508         * lib/idcache.c: Include "xalloc.h".
72509         (xmalloc, xrealloc): Remove decls.
72510         (getuser): Remove casts no longer required in C89.
72511         * lib/human.c: Include stdio.h, for sprintf.
72512         * lib/group-member.c: Include "xalloc.h".
72513         (xmalloc, xrealloc): Remove decls.
72514         (get_group_info): Remove casts no longer required in C89.
72515         * lib/getusershell.c (readname): Remove casts no longer required in
72516         C89.
72517         * lib/gettimeofday.c (rpl_gmtime, rpl_tzset): New functions.
72518         * lib/getline.c: Whitespace fix, from coreutils.
72519
72520 2003-08-13  Paul Eggert  <eggert@twinsun.com>
72521
72522         * m4/exclude.m4 (gl_EXCLUDE): Require AC_C_INLINE, AC_HEADER_STDC.
72523         Check for isascii.
72524
72525         * m4/gettext.m4, iconv.m4, intdiv0.m4, inttypes-pri.m4, lib-link.m4,
72526         lib-prefix.m4, longdouble.m4, po.m4, progtest.m4, signed.m4:
72527         Undo previous (whitespace-only) change.
72528
72529 2003-08-13  Paul Eggert  <eggert@twinsun.com>
72530
72531         * lib/exclude.c: Include <ctype.h>
72532         (IN_CTYPE_DOMAIN): New macro.
72533         (is_space): New fn.
72534         (add_exclude_file): If LINE_END is a space, ignore trailing spaces
72535         and empty lines.
72536
72537         * lib/argp-help.c, argp-parse.c, config.charset, getopt.h:
72538         Undo previous (whitespace-only) change.
72539
72540 2003-08-13  Paul Eggert  <eggert@twinsun.com>
72541
72542         * config/srclist-update: Change update back to the old behavior,
72543         leaving whitespace alone.  Use one 'sed' command rather than a
72544         pipeline.
72545         (fixlicense): Now a variable, not a function.
72546         (remove_trailing_blanks): Remove.
72547         (fixfile): Don't invoke unexpand or cat, or remove trailing blanks.
72548         * config/config.guess, config.sub, install-sh, missing, texinfo.tex:
72549         Undo previous (whitespace-only) change.
72550
72551 2003-08-12  Paul Eggert  <eggert@twinsun.com>
72552
72553         Merge from coreutils.
72554         * modules/euidaccess: Add lib_SOURCES, include for new
72555         file euidaccess.h
72556
72557 2003-08-12  Paul Eggert  <eggert@twinsun.com>
72558
72559         * m4/gettext.m4, iconv.m4, intdiv0.m4, inttypes-pri.m4, lib-link.m4,
72560         lib-prefix.m4, longdouble.m4, po.m4, progtest.m4, signed.m4:
72561         Normalize leading white space and remove trailing white space.
72562
72563         Merge from coreutils
72564         * m4/euidaccess.m4 (gl_FUNC_EUIDACCESS): Check for euidaccess decl.
72565
72566         * m4/lib-ld.m4, lib-link.m4, lib-prefix.m4: Regenerate from gettext
72567         0.12.1.  These files are now being upgraded automatically by
72568         ../config/srclist-update.
72569
72570 2003-08-12  Paul Eggert  <eggert@twinsun.com>
72571
72572         * lib/argp-help.c, argp-parse.c, config.charset, getopt.h:
72573         Normalize leading white space and remove trailing white space.
72574         * lib/ref-add.sin, ref-del.sin: Use '#' before empty line in copyright
72575         notice, as per ../config/srclist-update.
72576
72577         Merge from coreutils.
72578         * lib/euidaccess.h: New file.
72579         * lib/euidaccess.c: Include it.
72580         * lib/.cppi-disable: Add printf-args.h, printf-parse.h, stdbool_.h,
72581         vasnprintf.h, vasprintf.h.  Remove strdup.c, gettext.h.
72582         * lib/regex.h, strdup.c, strtoll.c, strtoul.c: Normalize white space.
72583
72584 2003-08-12  Paul Eggert  <eggert@twinsun.com>
72585
72586         * config/srclist-update: Add copyright notice.
72587         (remove_id_lines, remove_trailing_blanks): New constants.
72588         (fixfile): Use them to normalize spacing a bit in copied files.
72589         * config/config.guess, config.sub, install-sh, missing, texinfo.tex:
72590         Normalize leading white space and remove trailing white space.
72591
72592         * config/texinfo.tex: Sync with texinfo.
72593
72594         * config/srclist.txt: Don't get regex.h, strdup.c, strtoll.c,
72595         strtoul.c from libc, to merge coreutils whitespace changes.
72596
72597         * config/srclist.txt: Get the following m4 files from gettext:
72598         codeset.m4, gettext.m4, glibc21.m4, iconv.m4, intdiv0.m4,
72599         inttypes-pri.m4, lcmessage.m4, lib-ld.m4, lib-link.m4, lib-prefix.m4,
72600         longdouble.m4, nls.m4, po.m4, progtest.m4, signed.m4, wchar_t.m4,
72601         wint_t.m4.
72602
72603 2003-08-12  Karl Berry  <karl@gnu.org>
72604
72605         * config/srclist.txt: can't sync vasnprintf.c any more, changes have
72606         been made.
72607
72608 2003-08-11  Paul Eggert  <eggert@twinsun.com>
72609
72610         * modules/gnu-source, m4/gnu-source.m4:
72611         Remove; we're assuming Autoconf 2.54 or later now.
72612         Suggested by Bruno Haible.
72613         * MODULES.html.sh (func_all_modules): Remove gnu-source.
72614
72615 2003-08-11  Bruno Haible  <bruno@clisp.org>
72616
72617         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF): Also check for wcslen.
72618
72619 2003-08-11  Bruno Haible  <bruno@clisp.org>
72620
72621         * lib/vasnprintf.c (local_wcslen): New function, for Solaris 2.5.1.
72622         (vasnprintf): Use it instead of wcslen.
72623
72624 2003-08-11  Bruno Haible  <bruno@clisp.org>
72625
72626         * lib/stdbool_.h (_Bool): Undo last change; instead use a negative enum
72627         value to ensure that _Bool promotes to int. Use #define for _Bool when
72628         using the Solaris C compiler. Adds comments suggested by Paul Eggert.
72629
72630 2003-08-10  Karl Berry  <karl@gnu.org>
72631
72632         * lib/regex.h: update from libc (whitespace fix).
72633
72634 2003-08-09  Paul Eggert  <eggert@twinsun.com>
72635
72636         Merge some files from coreutils.  These changes were
72637         originally made by Jim Meyering.
72638         * lib/acl.c: Include <sys/types.h> before <sys/stat.h>;
72639         many older Unixes require this.
72640         * lib/alloca.c (alloca): Remove cast to argument of free;
72641         no longer needed in C89.
72642         * lib/alloca_.h, regex.h: Fix white space to match
72643         what GNU indent does.
72644
72645 2003-08-09  Paul Eggert  <eggert@twinsun.com>
72646
72647         * m4/regex.m4 (jm_INCLUDED_REGEX): Change "\201" to "\371";
72648         apparently Emacs's Unicode mode got confused before my 2003-08-05
72649         checkin.
72650
72651 2003-08-08  Paul Eggert  <eggert@twinsun.com>
72652
72653         * m4/extensions.m4: New file.
72654         * m4/timespec.m4 (jm_CHECK_TYPE_STRUCT_TIMESPEC):
72655         Require gl_USE_SYSTEM_EXTENSIONS.
72656         * m4/unlocked-io.m4 (jm_FUNC_GLIBC_UNLOCKED_IO):
72657         Require gl_USE_SYSTEM_EXTENSIONS rather than AC_GNU_SOURCE.
72658
72659 2003-08-08  Paul Eggert  <eggert@twinsun.com>
72660
72661         * MODULES.html.sh (func_all_modules): Add extensions, gnu-source.
72662         * modules/extensions, modules/gnu-source: New files.
72663         * modules/timespec, modules/unlocked-io: Depend on extensions.
72664
72665 2003-08-07  Paul Eggert  <eggert@twinsun.com>
72666
72667         * modules/restrict: New file.
72668         * MODULES.html.sh (func_all_modules): Add restrict.
72669         * modules/regex: Depend on restrict.
72670
72671 2003-08-07  Paul Eggert  <eggert@twinsun.com>
72672
72673         * m4/restrict.m4: New file.
72674         * m4/regex.m4 (jm_PREREQ_REGEX): Add gl_C_RESTRICT.
72675
72676 2003-08-07  Bruno Haible  <bruno@clisp.org>
72677
72678         * modules/getndelim2 (Makefile.am): Add the files to EXTRA_DIST, not
72679         lib_SOURCES, because getndelim2.m4 now uses AC_LIBOBJ(getndelim2).
72680
72681 2003-08-07  Bruno Haible  <bruno@clisp.org>
72682
72683         * m4/getndelim2.m4 (gl_GETNDELIM2): Use AC_LIBOBJ(getndelim2). This
72684         makes the module 'getndelim2' compatible with the module 'getline'.
72685
72686 2003-08-05  Paul Eggert  <eggert@twinsun.com>
72687
72688         * m4/regex.m4 (jm_INCLUDED_REGEX): Replace a single non-ASCII
72689         byte with "\201" to avoid glitches when editing that source file
72690         with multi-gnome-terminal.
72691
72692 2003-08-05  Paul Eggert  <eggert@twinsun.com>
72693
72694         * lib/bumpalloc.h: Remove.
72695
72696 2003-08-05  Paul Eggert  <eggert@twinsun.com>
72697
72698         * MODULES.html.sh (func_all_modules): Remove bumpalloc.
72699         * modules/bumpalloc: Remove.
72700
72701 2003-08-04  Paul Eggert  <eggert@twinsun.com>
72702
72703         * lib/getloadavg.c: Change copyright notice and spacing to conform to
72704         GNU coding style.
72705
72706         Merge from coreutils.
72707         * lib/error.c [!USE_IN_LIBIO]: Omit this case; assume USE_IN_LIBIO is
72708         1. From glibc.
72709         * lib/getdate.y (date): Also accept dates like May-23-2003; suggestion
72710         from Karl Berry, implemented by Jim Meyering.
72711         * lib/getgroups.c: Include "xalloc.h" instead of declaring xalloc fns;
72712         from Dmitry V. Levin.
72713         Remove anachronistic cast of xrealloc.
72714         * lib/fnmatch_.h (__const): Remove.  Use 'const'.
72715         * lib/fnmatch_loop.c (NEW_PATTERN): Cast alloca return value to proper
72716         type. Otherwise, it wouldn't compile with at least /bin/cc on
72717         ymp-cray-unicos9.0.2.X.
72718         Combine two mostly-identical uses of alloca into one.
72719         Thanks to the Cray-Cyber project for access to a Cray Y-MP.
72720
72721 2003-08-04  Dave Love  <d.love@dl.ac.uk>
72722
72723         [From Emacs.]
72724
72725         * lib/getloadavg.c: Check `__unix' as well as `unix'.  Use #ifdef, not
72726         #if.  Check HAVE_LIBKSTAT as well as LOAD_AVE_TYPE.  Check
72727         F_SETFD, not FD_SETFD.  Use HAVE_STRUCT_NLIST_N_UN_N_NAME, not
72728         obsolete NLIST_NAME_UNION.
72729         [__GNU__]: Undef BSD and FSCALE.
72730         [!NLIST_STRUCT]: Remove conditional definition of NLIST_STRUCT.
72731
72732 2003-08-03  Paul Eggert  <eggert@twinsun.com>
72733
72734         * lib/stdbool_.h (_Bool): Make it signed char, instead of
72735         an enum type, so that it's guaranteed to promote to int.  See:
72736         <http://mail.gnu.org/archive/html/bug-gnulib/2003-07/msg00124.html>
72737
72738 2003-08-03  Karl Berry  <karl@gnu.org>
72739
72740         * config/depcomp: update from automake.
72741
72742 2003-07-31  Paul Eggert  <eggert@twinsun.com>
72743
72744         * lib/strerror.c: Include config.h, limits.h.  Declare sprintf.
72745         (strerror): Don't assume that a printable int fits in 14 bytes.
72746
72747 2003-07-31  Bruno Haible  <bruno@clisp.org>
72748
72749         * modules/getpass-gnu: New file.
72750         * MODULES.html.sh (func_all_modules): Add getpass-gnu.
72751
72752 2003-07-31  Bruno Haible  <bruno@clisp.org>
72753
72754         * m4/getpass.m4 (gl_FUNC_GETPASS_GNU): New macro.
72755
72756 2003-07-24  Karl Berry  <karl@gnu.org>
72757
72758         * config/missing: update from automake.
72759
72760 2003-07-24  Derek Robert Price  <derek@ximbiot.com>
72761             Bruno Haible  <bruno@clisp.org>
72762
72763         * lib/getline.h (getline, getdelim): Change return type to ssize_t.
72764         * lib/getline.c (getline, getdelim): Likewise.
72765         Remove _GNU_SOURCE define; now it's defined in config.h through
72766         m4/getline.m4.
72767
72768 2003-07-23  Karl Berry  <karl@gnu.org>
72769
72770         * config/config.sub: update from prep.
72771
72772 2003-07-22  Paul Eggert  <eggert@twinsun.com>
72773
72774         * modules/xalloc (Depends-on): Add exitfail.
72775         * modules/xmemcoll: Likewise.
72776
72777 2003-07-22  Paul Eggert  <eggert@twinsun.com>
72778
72779         * lib/xalloc.h (XCALLOC, XREALLOC, CCLONE): Fix under- and
72780         over-parenthesization in macros.
72781
72782         Sync with coreutils.
72783
72784         * lib/xalloc.h (XMALLOC, XCALLOC, XREALLOC): Remove casts not
72785         required by C99.
72786
72787         Use `exit_failure' for xalloc and xmemcoll instead of their own
72788         private exit-failure variables.
72789         * lib/xalloc.h (xalloc_exit_failure): Remove.
72790         * lib/xmalloc.c: Likewise.  Include exitfail.h.
72791         (xalloc_die): Use exit_failure instead of xalloc_exit_failure.
72792         * lib/xmemcoll.h (xmemcoll_exit_failure): Remove.
72793         * lib/xmemcoll.c: Likewise.  Include exitfail.h.
72794         (xmemcoll): Use exit_failure instead of xalloc_exit_failure.
72795
72796 2003-07-20  Jim Meyering  <jim@meyering.net>
72797
72798         * modules/closeout (Depends-on): Add exitfail.
72799         Suggestion from Bruno Haible.
72800
72801 2003-07-19  Karl Berry  <karl@gnu.org>
72802
72803         * config/config.sub: update from prep.
72804
72805 2003-07-18  Paul Eggert  <eggert@twinsun.com>
72806
72807         * lib/closeout.h (close_stdout_set_status, close_stdout_status):
72808         Remove.
72809         * lib/closeout.c: Likewise.  Include "closeout.h" right after config.h,
72810         to test that it can stand by itself.  Include "exitfail.h".
72811         Clients should set exit_failure instead.
72812         (EXIT_FAILURE): Remove; no longer needed.  Do not include <stdlib.h>.
72813
72814 2003-07-18  Bruno Haible  <bruno@clisp.org>
72815
72816         * modules/getndelim2: New file.
72817         * modules/getline: Share files with module getndelim2.
72818         * modules/getnline: Depend on getndelim2 instead of sharing files with
72819         it. Add getnline.c to lib_SOURCES.
72820         * MODULES.html.sh (func_all_modules): Add getndelim2.
72821
72822 2003-07-18  Bruno Haible  <bruno@clisp.org>
72823
72824         * m4/getndelim2.m4: New file.
72825         * m4/getline.m4 (AM_FUNC_GETLINE): Add AC_LIBOBJ of getndelim2.c and
72826         invoke gl_PREREQ_GETNDELIM2.
72827         (gl_PREREQ_GETLINE): Drop AC_HEADER_STDC, now done by
72828         gl_PREREQ_GETNDELIM2.
72829         * m4/getnline.m4 (gl_GETNLINE): Drop AC_HEADER_STDC, now done by
72830         gl_GETNDELIM2.
72831
72832 2003-07-18  Bruno Haible  <bruno@clisp.org>
72833
72834         * lib/getndelim2.h: New file.
72835         * lib/getndelim2.c: Make into a module of its own. Include config.h,
72836         getndelim2.h.
72837         (getndelim2): Make non-static. Change return type to ssize_t.
72838         * lib/getline.h: Change argument names.
72839         * lib/getline.c: Include getndelim2.h instead of getndelim2.c.
72840         * lib/getnline.c: Include getndelim2.h.
72841
72842 2003-07-18  Andreas Schwab  <schwab@suse.de>
72843
72844         * lib/memcoll.c (memcoll) [!HAVE_STRCOLL]: Clear errno.
72845
72846 2003-07-17  Karl Berry  <karl@gnu.org>
72847
72848         * config/config.sub: update from prep.
72849
72850 2003-07-17  Bruno Haible  <bruno@clisp.org>
72851
72852         * modules/getnline: New file.
72853         * modules/getline: Add lib/getndelim2.c to source file list.
72854         * MODULES.html.sh (func_all_modules): Add getnline.
72855
72856 2003-07-17  Bruno Haible  <bruno@clisp.org>
72857
72858         * m4/getnline.m4: New file.
72859
72860 2003-07-17  Bruno Haible  <bruno@clisp.org>
72861
72862         * m4/Makefile.am.in: Remove file.
72863         * m4/Makefile.am: Remove file.
72864         * m4/Makefile.in: Remove file.
72865
72866 2003-07-17  Bruno Haible  <bruno@clisp.org>
72867
72868         * lib/getnline.h: New file.
72869         * lib/getnline.c: New file.
72870         * lib/getndelim2.c: New file, extracted from getline.c.
72871         (getndelim2): Renamed from getdelim2, with added nmax argument.
72872         * lib/getline.c: Include getndelim2.c.
72873         (getdelim2): Moved out to getndelim2.c.
72874         (getline, getdelim): Update.
72875
72876 2003-07-17  Bruno Haible  <bruno@clisp.org>
72877
72878         * lib/Makefile.am: Remove file.
72879         * lib/Makefile.in: Remove file.
72880
72881 2003-07-17  Bruno Haible  <bruno@clisp.org>
72882
72883         * configure.in: Remove file.
72884         * Makefile.in: Remove file.
72885
72886 2003-07-17  Bruno Haible  <bruno@clisp.org>
72887
72888         * MODULES.html.sh: Put the </BODY> right before </HTML>.
72889
72890 2003-07-16  Karl Berry  <karl@gnu.org>
72891
72892         * config/srclist-update: was running fixlicense twice, which caused
72893                 texinfo.tex to be nullified for some reason.  Simplify,
72894                 $gplsrc is no longer needed as far as I can see?
72895
72896 2003-07-16  Jim Meyering  <jim@meyering.net>
72897
72898         * modules/save-cwd: Depend on xgetcwd.  From Derek Price.
72899
72900 2003-07-15  Paul Eggert  <eggert@twinsun.com>
72901
72902         * config/srclist.txt: Get the following files from gettext-runtime/intl
72903         instead: config.charset, localcharset.c, localcharset.h, ref-add.sin,
72904         ref-del.sin.  From Bruno Haible.
72905         * config/srclist-update (fixfile): Change grep pattern again, since the
72906         previous fix didn't work (there was another trailing $).  Use
72907         '[$]' to escape the $s.
72908
72909 2003-07-15  Karl Berry  <karl@gnu.org>
72910
72911         * lib/vasnprintf.c: update from gettext.
72912
72913 2003-07-15  Karl Berry  <karl@gnu.org>
72914
72915         * config/srclist-update (fixfile): Change grep pattern, since 'Id'
72916         gets expanded when surrounded by '$'.
72917
72918 2003-07-15  Jim Meyering  <jim@meyering.net>
72919
72920         * modules/save-cwd: Don't depend on error.  From Derek Price.
72921
72922 2003-07-15  Jim Meyering  <jim@meyering.net>
72923
72924         * lib/makepath.c (make_path): Enclose diagnostic in _(...).
72925
72926 2003-07-14  Simon Josefsson  <jas@extundo.com>
72927
72928         * modules/mempcpy: New file.
72929         * MODULES.html.sh (func_all_modules): Add mempcpy.
72930
72931 2003-07-14  Simon Josefsson  <jas@extundo.com>
72932
72933         * m4/mempcpy.m4: New file.
72934
72935 2003-07-14  Simon Josefsson  <jas@extundo.com>
72936
72937         * lib/mempcpy.h: New file.
72938         * lib/mempcpy.c: New file.
72939
72940 2003-07-14  Paul Eggert  <eggert@twinsun.com>
72941
72942         * modules/getdate, modules/posixtm: Depend on mktime.
72943
72944 2003-07-14  Paul Eggert  <eggert@twinsun.com>
72945
72946         * lib/ceill.c, expl.c, floorl.c, frexpl.c, ldexpl.c, mathl.h,
72947         sincosl.c, sqrtl.c, trigl.c, trigl.h, poll.c, poll_.h, mkstemp.c,
72948         unicodeio.c, unicodeio.h, unlocked-io.h:
72949         Switch from LGPL to GPL.
72950
72951 2003-07-14  Paul Eggert  <eggert@twinsun.com>
72952
72953         * lib/asnprintf.c, asprintf.c, config.charset, gettext.h,
72954         localcharset.c, localcharset.h, mkdtemp.c, printf-args.c,
72955         printf-args.h, printf-parse.c, printf-parse.h, ref-add.sin,
72956         ref-del.sin, setenv.c, unsetenv.c, vasnprintf.c, vasnprintf.h,
72957         vasprintf.c, vasprintf.h: Regenerate.  These files are now being
72958         updated automatically by ../config/srclist-update.  This changes
72959         their license from LPGL to GPL.
72960
72961 2003-07-14  Paul Eggert  <eggert@twinsun.com>
72962
72963         * config/srclist.txt: Add tons more gettext files.  $GETTEXT is now
72964         assumed to refer to the root of the most recent stable gettext version.
72965         * config/srclistvars.sh: Add defaults for eggert.
72966         * config/srclist-update: Convert LGPL to GPL in shell scripts, too.
72967         Match "This program" as well as "The program".  This is needed
72968         for gettext.
72969
72970 2003-07-14  Jim Meyering  <jim@meyering.net>
72971
72972         Don't emit diagnostics.  Let callers do that.
72973         * lib/save-cwd.c: Don't include "error.h".
72974         (save_cwd): Don't call error.  Ensure that errno is valid
72975         when returning nonzero.
72976
72977         * lib/save-cwd.h (restore_cwd): Update prototype.
72978         * lib/save-cwd.c (restore_cwd): Remove two parameters.
72979         Simplify.  Don't call error upon failure.  Let callers do that.
72980         (save_cwd): Mention that Irix 5.3 has the same problem as SunOS 4
72981         when auditing is enabled.  But don't bother updating the #if.
72982
72983 2003-07-11  Alexandre Duret-Lutz  <adl@gnu.org>
72984
72985         * lib/obstack.h (__INT_TO_PTR): Revert change of 2003-03-13;
72986         it breaks C++ compilation.
72987         [!__GNUC__ || !__STDC__] (obstack_finish): Cast result to void*.
72988
72989 2003-07-10  Simon Josefsson  <jas@extundo.com>
72990
72991         * modules/strchrnul (Makefile.am): Add strchrnul.h.
72992
72993 2003-07-10  Jim Meyering  <jim@meyering.net>
72994
72995         * m4/clock_time.m4: Remove trailing blank.
72996         * m4/intmax_t.m4: Likewise.
72997
72998 2003-07-10  Jim Meyering  <jim@meyering.net>
72999
73000         * lib/vasnprintf.c: Remove trailing blanks.
73001         Make cpp indentation consistent.
73002
73003 2003-07-09  Paul Eggert  <eggert@twinsun.com>
73004
73005         * lib/alloca_.h, euidaccess.c, getpass.c, memrchr.c, obstack.h,
73006         posixver.c, strftime.c, strnlen.c, strverscmp.c:
73007         Switch from LGPL to GPL.
73008
73009 2003-07-09  Paul Eggert  <eggert@twinsun.com>
73010
73011         * config/srclist.txt: Sort sublists.  Add
73012         $LIBCSRC/sysdeps/generic/strtoul.c. In comments, add more libc files
73013         that differ from gnulib for one reason or another; we'd like this list
73014         to be smaller but for now let's document what we have.
73015
73016 2003-07-08  Paul Eggert  <eggert@twinsun.com>
73017
73018         * config/srclist-update: Port to POSIX 1003.1-2001 hosts by avoiding
73019         the use of GNU extensions.  Change "x=`eval echo $x`" to the shorter
73020         and sweeter "eval x=$x".
73021         * config/srclist.txt: Get lib/argp* from glibc.
73022
73023 2003-07-07  Paul Eggert  <eggert@twinsun.com>
73024
73025         * lib/mktime.c: Fix some boundary cases and remove need for floating
73026         point.
73027
73028         Issue a compile-time diagnostic if time_t is floating point, or if
73029         two's complement arithmetic is not in effect, or if arithmetic
73030         right shift does not propagate the sign.  These assumptions were
73031         all in the original code but they weren't checked.
73032
73033         (TIME_T_MIDPOINT, verify): New macros.
73034         (__isleap): Remove; it has integer overflow problems.
73035         (leapyear): New function, without those problems.
73036         (ydhms_tm_diff): Remove; splitting into two parts.
73037         (ydhms_diff): New function, containing the arithmetic part of
73038         the old ydhms_tm_diff function.  Issue a compile-time
73039         diagnostic if we are not using C99 integer division.
73040         Avoid casts when possible.
73041         (guess_time_tm): New function, containing the checking part of
73042         the old ydhms_tm_diff function.  Return the new value, rather than
73043         the difference between it and the old.  Accept a new argument T
73044         so that *T specifies the old value.  Check for overflow in the result.
73045
73046         (__mktime_internal): Use a time_t offset, not a long int offset.
73047         This undoes the 2003-06-04 change, which is no longer needed now
73048         that we have better overflow checking.
73049         (localtime_offset): Likewise.
73050
73051         (__mktime_internal): Avoid harmful overflow on hosts where time_t
73052         and long are 64-bit but int is only 32-bit.
73053         (ydhms_diff): Use long int to store year1 and yday1.
73054         Issue a compile-time diagnostic if long int is not wide enough.
73055
73056         (__mktime_internal): Use long int to store adjusted year and yday.
73057         Use plain C rather than preprocessor commands, if that doesn't
73058         affect efficiency.
73059         Check for overflow (and try to repair) after each probe
73060         rather than checking only at the very end.  This avoids some bugs
73061         (e.g., southern hemisphere, behind GMT, and GMT offset at minimum time
73062         does not equal GMT offset at maximum time).
73063         Use integer to check for overflow rather than floating point; this
73064         is more portable to non-IEEE hosts, and is a tad faster.
73065         When we detect that we are oscillating between two values,
73066         don't check whether tm_isdst has the requested value, since
73067         we already know the answer.  When tm_isdst has the wrong value,
73068         use a different heuristic to find the right one, based on the
73069         extreme values actually observed in practice in tz2003a,
73070         rather than the (overly optimistic) "previous 3 calendar quarters".
73071
73072         (not_equal_tm, print_tm, check_result): Use "const T" rather than
73073         "T const" to accommodate glibc style.
73074         (check_result): Use less-confusing report format.  "long" -> "long int.
73075         (main): Likewise.
73076         Don't loop if the iteration overflows time_t.
73077         Allow a negative step in the iteration.
73078
73079 2003-07-06  Karl Berry  <karl@gnu.org>
73080
73081         * config/depcomp: update from automake.
73082         * config/config.sub: update from prep.
73083
73084 2003-07-03  Karl Berry  <karl@gnu.org>
73085
73086         * config/config.guess: update from prep.
73087
73088 2003-07-01  Paul Eggert  <eggert@twinsun.com>
73089
73090         * m4/xreadlink.m4 (gl_XREADLINK): Don't check for sys/types.h, since
73091         xreadlink.c now includes it unconditionally.
73092
73093 2003-07-01  Paul Eggert  <eggert@twinsun.com>
73094
73095         * lib/xreadlink.c: Include <sys/types.h> unconditionally, instead of
73096         having it depend on HAVE_SYS_TYPES_H.
73097
73098 2003-07-01  Bruno Haible  <bruno@clisp.org>
73099
73100         * m4/ssize_t.m4 (gt_TYPE_SSIZE_T): Don't include <unistd.h>.
73101         <sys/types.h> should be sufficient.
73102         Reported by Paul Eggert.
73103
73104 2003-06-26  Karl Berry  <karl@gnu.org>
73105
73106         * config/depcomp: update from automake.
73107
73108 2003-06-26  Bruno Haible  <bruno@clisp.org>
73109
73110         * modules/human: Depend on module stdbool.
73111
73112 2003-06-25  Bruno Haible  <bruno@clisp.org>
73113
73114         * modules/readlink: New file.
73115         * modules/xreadlink: Depend on it.
73116         * MODULES.html.sh (func_all_modules): Add readlink.
73117
73118 2003-06-25  Bruno Haible  <bruno@clisp.org>
73119
73120         * m4/readlink.m4: New file.
73121
73122 2003-06-25  Bruno Haible  <bruno@clisp.org>
73123
73124         * lib/readlink.c: New file.
73125
73126 2003-06-22  Karl Berry  <karl@gnu.org>
73127
73128         * config/srclist.txt: update mkinstalldirs from automake.
73129         * config/mkinstalldirs: update.
73130
73131 2003-06-22  Bruno Haible  <bruno@clisp.org>
73132
73133         Portability to mingw32.
73134         * m4/ssize_t.m4: New file, from GNU gettext.
73135         * m4/safe-read.m4 (gl_PREREQ_SAFE_READ): Require gt_TYPE_SSIZE_T.
73136         * m4/xreadlink.m4 (gl_XREADLINK): Require gt_TYPE_SSIZE_T.
73137
73138 2003-06-22  Bruno Haible  <bruno@clisp.org>
73139
73140         * modules/safe-read: Add m4/ssize_t.m4.
73141         * modules/xreadlink: Add m4/ssize_t.m4.
73142
73143 2003-06-20  Bruno Haible  <bruno@clisp.org>
73144
73145         Assume C89, so PARAMS isn't needed.
73146         * lib/unicodeio.h (PARAMS): Remove.
73147         * lib/unicodeio.c: Don't use PARAMS.
73148
73149 2003-06-18  Karl Berry  <karl@gnu.org>
73150
73151         * config/config.{guess,sub}: update from prep.
73152
73153 2003-06-18  Jim Meyering  <jim@meyering.net>
73154
73155         Merge changes from coreutils.
73156         * lib/readutmp.c: Include <string.h> and <stdlib.h> unconditionally.
73157         Remove explicit declarations of xmalloc and realloc.
73158         Include xalloc.h.
73159         (read_utmp): Remove anachronistic cast of xmalloc.
73160
73161 2003-06-17  Paul Eggert  <eggert@twinsun.com>
73162
73163         Assume C89, so PARAMS isn't needed.
73164         * lib/backupfile.h (PARAMS): Remove.  All uses removed.
73165         * lib/closeout.h, lib/dirname.h, lib/filemode.h, lib/fsusage.h,
73166         lib/getdate.h, lib/getline.h, lib/group-member.h, lib/hard-locale.h,
73167         lib/hash.h, lib/linebuffer.h, lib/long-options.h, lib/makepath.h,
73168         lib/memcasecmp.h, lib/memcoll.h, lib/modechange.h, lib/mountlist.h,
73169         lib/path-concat.h, lib/physmem.h, lib/posixtm.h, lib/quote.h,
73170         lib/readutmp.h, lib/same.h, lib/save-cwd.h, lib/savedir.h,
73171         lib/stdio-safer.h, lib/strtoimax.c, lib/strverscmp.h,
73172         lib/unistd-safer.h, lib/version-etc.h, lib/xalloc.h, lib/xreadlink.h,
73173         lib/xstrtod.h, lib/xstrtol.h: Likewise.
73174         * lib/filemode.h, lib/hard-locale.h, lib/memcoll.h, lib/modechange.h,
73175         lib/physmem.h, lib/same.h, lib/strverscmp.h: Do not include config.h;
73176         no longer needed. Anyway, config.h should always be included before any
73177         other file.
73178
73179 2003-06-11  Simon Josefsson  <jas@extundo.com>
73180
73181         * modules/sysexits: New file.
73182         * MODULES.html.sh (func_all_modules): Add sysexits.
73183
73184 2003-06-11  Simon Josefsson  <jas@extundo.com>
73185
73186         * lib/sysexit_.h: New file.
73187
73188 2003-06-11  Derek Price  <derek@ximbiot.com>
73189
73190         * lib/stat.c [LSTAT]: Compile/use slash_aware_lstat only if it is
73191         necessary.
73192
73193 2003-06-11  Bruno Haible  <bruno@clisp.org>
73194
73195         * m4/sysexits.m4: New file.
73196
73197 2003-06-10  Simon Josefsson  <jas@extundo.com>
73198
73199         * lib/argp.h: New file, from glibc.
73200         * lib/argp-ba.c: New file, from glibc.
73201         * lib/argp-eexst.c: New file, from glibc.
73202         * lib/argp-fmtstream.c: New file, from glibc.
73203         * lib/argp-fmtstream.h: New file, from glibc.
73204         * lib/argp-fs-xinl.c: New file, from glibc.
73205         * lib/argp-help.c: New file, from glibc.
73206         * lib/argp-namefrob.h: New file, from glibc.
73207         * lib/argp-parse.c: New file, from glibc.
73208         * lib/argp-pv.c: New file, from glibc.
73209         * lib/argp-pvh.c: New file, from glibc.
73210         * lib/argp-xinl.c: New file, from glibc.
73211
73212 2003-06-10  Simon Josefsson  <jas@extundo.com>
73213
73214         * modules/strchrnul: New file.
73215
73216 2003-06-10  Simon Josefsson  <jas@extundo.com>
73217
73218         * modules/argp: New file.
73219
73220 2003-06-10  Simon Josefsson  <jas@extundo.com>
73221
73222         * m4/strchrnul.m4: New file.
73223
73224 2003-06-10  Simon Josefsson  <jas@extundo.com>
73225
73226         * lib/strchrnul.h: New file.
73227         * lib/strchrnul.c: New file.
73228
73229 2003-06-10  Bruno Haible  <bruno@clisp.org>
73230
73231         * MODULES.html.sh (func_all_modules): Add strchrnul and argp.
73232
73233 2003-06-07  Karl Berry  <karl@gnu.org>
73234
73235         * config/config.{guess,sub}: update from prep.
73236
73237 2003-06-07  Jim Meyering  <jim@meyering.net>
73238
73239         * modules/strtod: Use $(...) notation, not @...@ for
73240         AC_REPLACE'd variables.
73241         * modules/localcharset: Likewise.
73242
73243 2003-06-07  Jim Meyering  <jim@meyering.net>
73244
73245         * lib/readtokens.h: Put `Free Software Foundation, Inc.'
73246         in place of my name in the copyright comment.
73247         Remove definition and uses of __P.
73248
73249         From coreutils.
73250         * lib/stat.c: Don't declare xmalloc explicitly.
73251         Instead, include "xalloc.h".
73252         * lib/readtokens.c (readtokens): Remove anachronistic casts of xmalloc,
73253         xrealloc, and xcalloc return values.
73254         * lib/xgetcwd.c (xgetcwd): Include "xgetcwd.h".
73255         Improve comment.
73256         * lib/xgetcwd.h: Remove definition/uses of PARAMS.
73257
73258 2003-06-07  Bruno Haible  <bruno@clisp.org>
73259
73260         * modules/poll (Makefile.am): Use explicit creation rule for poll.h, to
73261         avoid AC_CONFIG_LINKS.
73262         * modules/fnmatch (Makefile.am): Use explicit creation rule for
73263         fnmatch.h, to avoid AC_CONFIG_LINKS.
73264         * modules/alloca (Makefile.am): Make creation of alloca.h Ctrl-C safe.
73265
73266 2003-06-07  Bruno Haible  <bruno@clisp.org>
73267
73268         * m4/fnmatch.m4 (_AC_LIBOBJ_FNMATCH, gl_FUNC_FNMATCH_POSIX,
73269         gl_FUNC_FNMATCH_GNU): Set FNMATCH_H instead of invoking
73270         AC_CONFIG_LINKS. Needed to allow for a different name of the lib
73271         directory.
73272         * m4/poll.m4 (gl_FUNC_POLL): Set POLL_H instead of invoking
73273         AC_CONFIG_LINKS. Needed to allow for a different name of the lib
73274         directory.
73275
73276 2003-06-06  Jim Meyering  <jim@meyering.net>
73277
73278         Merge from coreutils.
73279         * lib/same.c: (same_name): Declare *_basename locals to be `const'.
73280         Consolidate declarations and initializations of *_base* locals.
73281
73282         Merge from coreutils.
73283         This avoids a core dump on systems without GNU putenv,
73284         when running `env -u SOME_ALREADY_UNSET_VARIABLE'.
73285         * lib/putenv.c (__set_errno, LOCK, UNLOCK): Define.
73286         (unsetenv): New static function, from GNU libc.
73287         (rpl_putenv): Use it.
73288
73289         * lib/modechange.c: Remove trailing blanks.
73290
73291         Merge from coreutils.
73292         * lib/fsusage.c: Remove declaration of statfs.
73293         It conflicted with one from OSF/1 5.1 in <sys/mount.h>.
73294
73295         * lib/posixtm.c: Include <stdbool.h> unconditionally.
73296
73297 2003-06-06  Jim Meyering  <jim@meyering.net>
73298
73299         * lib/stdbool_.h: Renamed from stdbool.h.in.
73300
73301 2003-06-06  Jim Meyering  <jim@meyering.net>
73302             Bruno Haible  <bruno@clisp.org>
73303
73304         * modules/stdbool: Reflect renaming: stdbool.h.in -> stdbool_.h.
73305         Adjust Makefile.am snippet not to redirect directly to target.
73306         Use $(STDBOOL_H) notation, not @STDBOOL_H@ for AC_REPLACE'd variables.
73307
73308 2003-06-05  Paul Eggert  <eggert@twinsun.com>
73309
73310         * lib/mktime.c (__mktime_internal): When resolving a tm_isdst
73311         mismatch, look in future quarters as well as past.  This fixes a
73312         bug when processing fall-backwards gaps immediately after a long
73313         period of daylight-saving time.
73314
73315         * lib/mktime.c: Assume freestanding C89 or better.
73316         (HAVE_LIMITS_H): Remove.  Assume it's 1.
73317         (__P): Remove; not used.
73318         (CHAR_BIT, INT_MIN, INT_MAX): Remove; <limits.h> defines them.
73319         (mktime, not_equal_tm, print_tm, check_result,
73320         main): Use prototypes.  Use const * where appropriate.
73321         (main): Fix typo in testing code that uncovered by above changes.
73322         (Local Variables): Remove -DHAVE_LIMITS_H from compile-command.
73323
73324 2003-06-04  Paul Eggert  <eggert@twinsun.com>
73325
73326         * m4/human.m4 (gl_HUMAN): Require AM_STDBOOL_H.  Check for
73327         locale.h, localeconv.  This merges changes from coreutils.
73328
73329         * m4/mktime.m4 (AC_FUNC_MKTIME): New macro, taken from Autoconf CVS.
73330         It can be removed after the next Autoconf is released.
73331         * m4/exclude.m4 (gl_EXCLUDE): Don't check for sys/types.h; no loner
73332         needed.
73333
73334 2003-06-04  Paul Eggert  <eggert@twinsun.com>
73335
73336         * lib/mktime.c: Fix Debian bug 177940
73337         <http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=177940>.
73338         (localtime_offset): Now long int, not time_t, because we want it
73339         to be guaranteed to be signed.  All uses changed.
73340         (__mktime_internal): If overflow would occur when adding offset,
73341         don't add it.
73342
73343         Merge 'human' changes from coreutils.  Rewrite to support
73344         locale-specific notations like thousands separators.
73345         * lib/human.c: Simplify authorship notice.
73346         Include human.h immediately after config.h.
73347         <sys/types.h>, <stdio.h>: Do not include; no longer needed.
73348         <limits.h>: Do not include, since human.h does.
73349         (SIZE_MAX, UINTMAX_MAX): New macros.
73350         <strings.h>: Include if HAVE_STRINGS_H, not if !HAVE_STRING_H.
73351         <locale.h>: Include if HAVE_LOCALE_H and HAVE_LOCALECONV.
73352         (HUMAN_READABLE_SUFFIX_LENGTH_MAX): New macro.
73353         (power_letter): Renamed from suffixes.
73354         (generate_suffix_backwards): Remove.
73355         (adjust_value): Now takes int style (because of human.h changes)
73356         and long double value (for greater precision on some platforms).
73357         (group_number): New function.
73358         (human_readable): Use it.  Use integer options, not enum.
73359         Put the options before the sizes in the arg list.
73360         Support all the new options.
73361         The old human_readable function has been removed;
73362         use inttostr.h instead.
73363         (human_readable, default_block_size, humblock):
73364         Use uintmax_t, not int, for block sizes.
73365         (human_readable_inexact, block_size_types): Remove.
73366         (block_size_opts): New constant.
73367         (human_options): Renamed from human_block_size, with new signature
73368         that allows block sizes up to UINTMAX_MAX.  All callers changed.
73369         * lib/human.h: Add copyright and authorship notice.
73370         Include <limits.h> and <stdbool.h> unconditionally.
73371         (PARAMS): Remove.  All uses removed.
73372         (LONGEST_HUMAN_READABLE): Add support for thousands separator.
73373         (enum human_inexact_style): Remove tag; now a nameless enum.
73374         (human_floor, human_ceiling, human_round_to_even): Now have
73375         values 2, 0, 1 rather than -1, 1, 0.
73376         (human_group_digits, human_suppress_point_zero, human_autoscale,
73377         human_base_1024, human_SI, human_B): New constants.
73378         (human_readable_inexact, human_block_size): Remove.
73379         (human_readable): Size args are now uintmax_t, not int.
73380         (human_options): New decl.
73381
73382         * lib/exclude.c: (new_exclude, add_exclude): Remove casts that are
73383         unnecessary now that we assume C89 or better.  This change
73384         imported from coreutils.
73385
73386         * lib/mktime.c (__mktime_internal): Do not reject negative timestamps
73387         arbitrarily.  This is the same patch as 2003-05-28, but it got lost
73388         in the 2003-05-30 sync from glibc.
73389
73390         .h files should stand alone, but we shouldn't include <sys/types.h>
73391         if we can get away with just <stddef.h>.
73392
73393         * lib/__fpending.h, addext.c, backupfile.c, exclude.c, getline.c,
73394         malloc.c, putenv.c, realloc.c, strcasecmp.c: Include <stddef.h>
73395         rather than <sys/types.h>, as we merely need size_t.
73396         * lib/dirname.h, memcoll.h, xalloc.h, xmemcoll.h: Include <stddef.h>,
73397         to get size_t.
73398         * lib/hash.h, linebuffer.h, readtokens.h, stdio-safer.h, version-etc.h:
73399         Include <stdio.h>, to get FILE.
73400         * lib/memcasecmp.c: Don't include <sys/types.h>, as we can assume
73401         memcasecmp.h has included <stddef.h> and all we need is size_t.
73402         * lib/memcoll.c: Include "memcoll.h", which gets us size_t and checks
73403         our interface, instead of including <sys/types.h>
73404
73405 2003-06-04  Paul Eggert  <eggert@twinsun.com>
73406
73407         * config/srclist.txt ($LIBCSRC/time/mktime.c lib gpl): Comment out for
73408         now, as glibc mktime is buggy on non-glibc systems.
73409
73410 2003-06-03  Karl Berry  <karl@gnu.org>
73411
73412         * config/config.sub: update from prep.
73413
73414 2003-06-02  Paul Eggert  <eggert@twinsun.com>
73415
73416         [from coreutils]
73417         Fix some minor time-related bugs with POSIX time arguments.
73418         Some valid time stamps were being rejected (notably -1, and
73419         time stamps before 1900 on 64-bit hosts).  And some invalid
73420         time stamps were being accepted, e.g. September 31.
73421
73422         * lib/posixtm.h (posixtime): Return bool instead of time_t, so
73423         that we can return (time_t) -1 successfully.
73424         * lib/posixtm.c: Likewise.
73425         [HAVE_STDBOOL_H]: Include <stdbool.h>.
73426         (bool, false, true) [!HAVE_STDBOOL_H]: New type.
73427         (t): Remove static var.
73428         (year, posix_time_parse): Now takes struct tm * arg to modify, instead
73429         of static var.  All uses changed.
73430         (year): Do not reject years before 1900; they can occur with
73431         64-bit time_t.
73432         (posix_time_parse): Do not check for out-of-range components;
73433         that is now the caller's responsibility, since our checks were
73434         only approximations.
73435         (posixtime): Use mktime to check for out-of-range components,
73436         since it knows them exactly.
73437         If mktime returns (time_t) -1, check whether an error actually occurred
73438         by invoking localtime on -1.
73439         (main) [TEST_POSIXTIME]: Check for input data errors, and report
73440         posixtime failures better.
73441         Improve the test data (in comments only).
73442
73443 2003-06-02  Karl Berry  <karl@gnu.org>
73444
73445         * config/mkinstalldirs (version): new variable.
73446         (--version): new option.
73447         (usage): improve message.
73448
73449 2003-05-30  Karl Berry  <karl@gnu.org>
73450
73451         * lib/mktime.c: update from libc.
73452
73453 2003-05-30  Bruno Haible  <bruno@clisp.org>
73454
73455         * modules/gettext: Add files m4/nls.m4 and m4/po.m4.
73456         * config/config.rpath: Upgrade to gettext-0.12.1.
73457
73458 2003-05-30  Bruno Haible  <bruno@clisp.org>
73459
73460         * m4/gettext.m4: Upgrade to gettext-0.12.1.
73461         * m4/nls.m4: New file, from gettext-0.12.1.
73462         * m4/po.m4: New file, from gettext-0.12.1.
73463         * m4/progtest.m4: Upgrade to gettext-0.12.1.
73464
73465 2003-05-30  Bruno Haible  <bruno@clisp.org>
73466
73467         * lib/config.charset: Upgrade to gettext-0.12.1 and libiconv-1.9.1.
73468         * lib/localcharset.h: Likewise.
73469         * lib/localcharset.c: Likewise.
73470
73471 2003-05-29  Karl Berry  <karl@gnu.org>
73472
73473         * config/config.rpath: update from gettext.
73474
73475 2003-05-28  Paul Eggert  <eggert@twinsun.com>
73476
73477         Assume the headers required for C89 freestanding compilers.
73478         * m4/backupfile.m4 (gl_BACKUPFILE): Don't check for limits.h.
73479         * m4/fsusage.m4 (gl_PREREQ_FSUSAGE_EXTRA): Likewise.
73480         * m4/human.m4 (gl_HUMAN): Likewise.
73481         * m4/pathmax.m4 (gl_PATHMAX): Likewise.
73482         * m4/rpmatch.m4 (gl_FUNC_RPMATCH): Likewise.
73483         * m4/userspec.m4 (gl_USERSPEC): Likewise.
73484         * m4/xreadlink.m4 (gl_XREADLINK): Likewise.
73485         * m4/xstrtol.m4 (gl_PREREQ_XSTRTOL): Likewise.
73486         * m4/quote.m4 (gl_QUOTE): Don't check for stddef.h.
73487
73488 2003-05-28  Paul Eggert  <eggert@twinsun.com>
73489
73490         Assume the headers required for C89 freestanding compilers.
73491         * lib/addext.c, lib/backupfile.c, lib/fsusage.c, lib/human.c,
73492         lib/pathmax.h, lib/rpmatch.c, lib/userspec.c, lib/xreadlink.c,
73493         lib/xstrtol.c: Include <limits.h> without checking for HAVE_LIMITS_H.
73494         * lib/backupfile.c, lib/fsusage.c, lib/hash.c, lib/human.c,
73495         lib/safe-read.c, lib/userspec.c, lib/xstrtol.c (CHAR_BIT): Don't
73496         define, since <limits.h> is guaranteed to do that.
73497         * lib/fatal.c: Include <stdarg.h> without checking for __STDC__.
73498         * lib/exclude.c: Include <stdbool.h> unconditionally.
73499         * lib/tempname.c: Include <stddef.h> unconditionally.
73500         * lib/hash.c: Include <limits.h>, since we no longer define CHAR_BIT.
73501         * lib/modechange.c, rpmatch.c (NULL): Don't define, since
73502         <stddef.h> does that.
73503         * lib/quote.c: Dont include <stddef.h> or <sys/types.h>; not needed.
73504         * lib/safe-read.c (INT_MAX): Don't define, since <limits.h> does that.
73505         * lib/safe-read.c (TYPE_MINIMUM, TYPE_MAXIMUM): Remove; no longer
73506         needed.
73507         * lib/xstrtol.c: Likewise.
73508         * lib/safe-read.c: Remove TYPE_SIGNED; no longer needed.
73509         * lib/savedir.c: Include <stddef.h> instead of defining NULL.
73510
73511         * lib/addext.c (addext): Use assignment rather than cast, to avoid
73512         warnings on some platforms.
73513
73514         * lib/mktime.c (__mktime_internal): Do not reject negative timestamps
73515         arbitrarily.
73516
73517 2003-05-26  Jim Meyering  <jim@meyering.net>
73518
73519         Merge in a change from coreutils:
73520         * m4/dirfd.m4 (UTILS_FUNC_DIRFD): Test the cache variable, not one
73521         that is guaranteed to be `no'.  Use `no_such_member' to indicate
73522         that condition, rather than `-1' which is slightly misleading.
73523         Change the name of the cache variable to have the gl_ prefix.
73524         Prompted by a patch from Richard Dawe for DJGPP.
73525
73526 2003-05-24  Karl Berry  <karl@gnu.org>
73527
73528         * config/config.guess: update from prep.
73529
73530 2003-05-22  Karl Berry  <karl@gnu.org>
73531
73532         * gnulib-tool (func_usage): =LIBRARY not =libRARY in help msg.
73533
73534 2003-05-20  Karl Berry  <karl@gnu.org>
73535
73536         * config/config.guess: update from prep.
73537
73538 2003-05-18  Karl Berry  <karl@gnu.org>
73539
73540         * config/srclistvars.sh (TEXMF): use TEXMFROOT instead, since TEXMF
73541         might actually be set by the user.
73542
73543         * config/depcomp, install-sh, mdate-sh: update from automake.
73544
73545 2003-05-17  Bruno Haible  <bruno@clisp.org>
73546
73547         * m4/dirfd.m4 (UTILS_FUNC_DIRFD): Fix a quoting bug leading to an
73548         invalid expansion for AC_EGREP_CPP.
73549         * m4/strtoimax.m4 (gl_FUNC_STRTOIMAX): Likewise.
73550         * m4/strtoumax.m4 (gl_FUNC_STRTOUMAX): Likewise.
73551         Suggested by Akim Demaille <akim@epita.fr> in
73552         http://mail.gnu.org/archive/html/bug-autoconf/2003-05/threads.html
73553
73554 2003-05-12  Jim Meyering  <jim@meyering.net>
73555
73556         * lib/strftime.c (my_strftime): Let the `-' (no-pad) flag affect
73557         the space-padded-by-default conversion specifiers, %e, %k, %l.
73558
73559 2003-05-12  Bruno Haible  <bruno@clisp.org>
73560
73561         * lib/linebreak.c (iconv_string_length): Don't return -1 just because
73562         the string is longer than 4 KB.
73563
73564 2003-05-11  Karl Berry  <karl@gnu.org>
73565
73566         * config/config.{guess,sub}: update from prep.
73567
73568 2003-05-09  Bruno Haible  <bruno@clisp.org>
73569
73570         * modules/error: Add m4/strerror_r.m4 to file list.
73571
73572 2003-05-03  Bruno Haible  <bruno@clisp.org>
73573
73574         Upgrade to Unicode-4.0.
73575         * lib/linebreak.c (nonspacing_table_data): Change width of U+00AD,
73576         U+0350..U+0357, U+035D..U+035F, U+0600..U+0603, U+0610..U+0615,
73577         U+0656..U+0658, U+0A01, U+0AE2..U+0AE3, U+0CBC, U+17B4..U+17B5,
73578         U+17DD, U+1920..U+1922, U+1927..U+192B, U+1932, U+1939..U+193B
73579         from 1 to 0. Change width of U+0CBF, U+0CC6, U+180E from 0 to 1.
73580         (uc_width): Change width of U+4DC0..U+4DFF from 2 to 1. Change width
73581         of U+2A6D7..U+2F7FF, U+2FA1E..U+2FFFD, U+30000..U+3FFFD from 1 to 2.
73582         Change width of U+E0100..U+E01EF from 1 to 0.
73583
73584 2003-04-25  Jim Meyering  <jim@meyering.net>
73585
73586         * lib/copy-file.c (copy_file_preserving): Declare buf_size to be
73587         of type size_t, not int.
73588
73589 2003-04-25  Bruno Haible  <bruno@clisp.org>
73590
73591         * lib/copy-file.c: Include <stddef.h>, for size_t.
73592
73593 2003-04-21  Paul Eggert  <eggert@twinsun.com>
73594
73595         * m4/error.m4 (gl_ERROR): Do not put under dynamic conditions some
73596         code which expansion is under static control.  Patch imported from
73597         Akim Demaille's patch to Bison; see
73598         <http://mail.gnu.org/archive/html/bison-patches/2003-03/msg00057.html>.
73599
73600 2003-04-14  Bruno Haible  <bruno@clisp.org>
73601
73602         * m4/error.m4 (jm_PREREQ_ERROR): Use AC_FUNC_VPRINTF.
73603
73604 2003-04-11  Jim Meyering  <jim@meyering.net>
73605
73606         Merge changes from Coreutils.
73607
73608         2003-03-22  Jim Meyering  <jim@meyering.net>
73609
73610         * lib/strftime.c (widen): Cast alloca return value to proper type.
73611
73612         2003-01-19  Ulrich Drepper  <drepper@redhat.com>
73613
73614         From GNU libc.
73615         * lib/strftime.c (my_strftime): Handle very large width
73616         specifications for numeric values correctly.  Improve checks for
73617         overflow.
73618
73619         2003-01-19  Jim Meyering  <jim@meyering.net>
73620
73621         * lib/strftime.c (widen) [COMPILE_WIDE]: Merge nearly-identical
73622         definitions.
73623         (nl_get_alt_digit) [! defined my_strftime]: Define.
73624         (my_strftime) [_NL_CURRENT]: Merge nearly-identical uses of
73625         _nl_get_alt_digit and _nl_get_walt_digit.
73626
73627         * lib/strftime.c (my_strftime): Merge in locale-related changes from
73628         libc. These changes have no effect outside of _LIBC.
73629
73630 2003-04-10  Bruno Haible  <bruno@clisp.org>
73631
73632         * modules/findprog: New file.
73633         * MODULES.html.sh (func_all_modules): Add it.
73634
73635 2003-04-10  Bruno Haible  <bruno@clisp.org>
73636
73637         * m4/findprog.m4: New file.
73638         * m4/eaccess.m4: New file.
73639
73640 2003-04-10  Bruno Haible  <bruno@clisp.org>
73641
73642         * lib/findprog.h: New file, from GNU gettext.
73643         * lib/findprog.c: New file, from GNU gettext.
73644
73645 2003-04-05  Jim Meyering  <jim@meyering.net>
73646
73647         Merge changes from Coreutils.
73648
73649         * lib/exclude.h (PARAMS): Remove definition and uses.
73650         * lib/exclude.c: Remove uses of `PARAMS'.
73651
73652         * lib/dirname.c [TEST_DIRNAME]: Update build instructions for test.
73653         Add test-cases for DOS filenames. Declare program_name.
73654         (main): Set up program_name.  Patch by Rich Dawe.
73655
73656         * lib/mountlist.c (read_filesystem_list) [MOUNTED_VMOUNT]: Detect any
73657         error from mntctl.
73658         Use mntctl's return value to drive the entry-processing loop, since
73659         we can't rely on the value of the vmt_length member in the last
73660         entry.  On some systems doing so could result in exhausting
73661         virtual memory.  Based in part on a patch from Mike Jetzer.
73662
73663 2003-04-04  Bruno Haible  <bruno@clisp.org>
73664
73665         * modules/linebreak: New file.
73666         * MODULES.html.sh (func_all_modules): Add it.
73667
73668 2003-04-04  Bruno Haible  <bruno@clisp.org>
73669
73670         * m4/linebreak.m4: New file.
73671
73672 2003-04-04  Bruno Haible  <bruno@clisp.org>
73673
73674         * lib/linebreak.h: New file, from GNU gettext.
73675         * lib/linebreak.c: New file, from GNU gettext with slight
73676         modifications.
73677         * lib/lbrkprop.h: New file, from GNU gettext.
73678
73679 2003-04-03  Bruno Haible  <bruno@clisp.org>
73680
73681         * modules/utf8-ucs4: New file.
73682         * modules/utf16-ucs4: New file.
73683         * modules/ucs4-utf8: New file.
73684         * modules/ucs4-utf16: New file.
73685         * MODULES.html.sh (func_all_modules): Add them.
73686
73687 2003-04-03  Bruno Haible  <bruno@clisp.org>
73688
73689         * m4/utf-ucs4.m4: New file.
73690         * m4/ucs4-utf.m4: New file.
73691
73692 2003-04-03  Bruno Haible  <bruno@clisp.org>
73693
73694         * lib/utf8-ucs4.h: New file, from GNU gettext.
73695         * lib/utf16-ucs4.h: New file, from GNU gettext.
73696         * lib/ucs4-utf8.h: New file, from GNU gettext.
73697         * lib/ucs4-utf16.h: New file, from GNU gettext.
73698
73699 2003-04-02  Bruno Haible  <bruno@clisp.org>
73700
73701         * modules/binary-io: New file.
73702         * MODULES.html.sh (func_all_modules): Add it.
73703
73704 2003-04-02  Bruno Haible  <bruno@clisp.org>
73705
73706         * lib/binary-io.h: New file, from GNU gettext.
73707
73708 2003-04-01  Bruno Haible  <bruno@clisp.org>
73709
73710         * modules/pathname: New file.
73711         * MODULES.html.sh (func_all_modules): Add it.
73712
73713 2003-04-01  Bruno Haible  <bruno@clisp.org>
73714
73715         * lib/pathname.h: New file, from GNU gettext.
73716         * lib/concatpath.c: New file, from GNU gettext.
73717
73718 2003-03-30  Bruno Haible  <bruno@clisp.org>
73719
73720         * m4/copy-file.m4 (gl_COPY_FILE): Add check for chown().
73721
73722 2003-03-30  Bruno Haible  <bruno@clisp.org>
73723
73724         * lib/copy-file.c (copy_file_preserving): Don't set owner if the
73725         function chown() doesn't exist.
73726
73727 2003-03-28  Bruno Haible  <bruno@clisp.org>
73728
73729         * modules/copy-file: New file.
73730         * MODULES.html.sh (func_all_modules): Add it.
73731
73732 2003-03-28  Bruno Haible  <bruno@clisp.org>
73733
73734         * m4/copy-file.m4: New file.
73735
73736 2003-03-28  Bruno Haible  <bruno@clisp.org>
73737
73738         * lib/copy-file.h: New file, from GNU gettext.
73739         * lib/copy-file.c: New file, from GNU gettext.
73740
73741 2003-03-18  Jim Meyering  <jim@meyering.net>
73742
73743         * lib/quote.c (quote_n): Fix typo in comment.
73744
73745 2003-03-18  Bruno Haible  <bruno@clisp.org>
73746
73747         * m4/onceonly.m4: Use m4_defn instead of defn, for better error
73748         checking.
73749         * m4/onceonly_2_57.m4: Likewise.
73750
73751 2003-03-17  Bruno Haible  <bruno@clisp.org>
73752
73753         * m4/onceonly.m4: Require autoconf 2.54 or newer.
73754         (m4_quote): Remove macro.
73755         * m4/onceonly_2_57.m4: Require autoconf 2.54 or newer.
73756
73757 2003-03-14  Jim Meyering  <jim@meyering.net>
73758
73759         Merge changes from Coreutils.
73760         * lib/obstack.h (obstack_object_size): Declare temporary, __o,
73761         to be const, in order to avoid warnings.
73762         (obstack_room): Likewise.
73763         (obstack_empty_p): Likewise.
73764
73765 2003-03-14  Bruno Haible  <bruno@clisp.org>
73766
73767         * m4/onceonly_2_57.m4 (AC_CHECK_HEADERS_ONCE, AC_CHECK_FUNCS_ONCE,
73768         AC_CHECK_DECLS_ONCE): Quote AC_FOREACH variable-expansions properly.
73769
73770 2003-03-13  Paul Eggert  <eggert@twinsun.com>
73771
73772         Merge changes from Bison.
73773         * lib/obstack.h: (__INT_TO_PTR) [__STDC__]: Cast result to
73774         (void *) to avoid diagnostic with native c89 on SGI IRIX 6.5
73775         when compiling Bison 1.875's `bitset bset = obstack_alloc
73776         (bobstack, bytes);'.  Problem reported by Nelson H. F. Beebe.
73777         * lib/hash.c: Include <stdbool.h> unconditionally.
73778
73779 2003-03-13  Paul Eggert  <eggert@twinsun.com>
73780
73781         * m4/onceonly.m4 (m4_quote): New macro.
73782         (AC_CHECK_HEADERS_ONCE, AC_CHECK_FUNCS_ONCE, AC_CHECK_DECLS_ONCE):
73783         Quote AC_FOREACH variable-expansions properly.
73784
73785 2003-03-13  Paul Eggert  <eggert@twinsun.com>
73786
73787         * doc/COPYING.DOC, fdl.texi: Sync with latest FSF version.
73788
73789 2003-03-09  Paul Eggert  <eggert@twinsun.com>
73790
73791         * lib/argmatch.c (EXIT_FAILURE): Define if the system doesn't.
73792         Reported by Bruce Becker; see:
73793         http://mail.gnu.org/archive/html/bug-bison/2003-03/msg00017.html
73794
73795 2003-03-03  Paul Eggert  <eggert@twinsun.com>
73796             Bruno Haible  <bruno@clisp.org>
73797
73798         * lib/mbswidth.h: Include <wchar.h>. Needed for UnixWare 7.1.1.
73799         Reported by John Hughes, see
73800         http://mail.gnu.org/archive/html/bug-bison/2003-02/msg00030.html
73801
73802 2003-02-20  Bruno Haible  <bruno@clisp.org>
73803
73804         * MODULES.html.sh (func_all_modules): Add poll.
73805
73806 2003-02-19  Paolo Bonzini  <bonzini@gnu.org>
73807
73808         * modules/poll: New file.
73809
73810 2003-02-19  Paolo Bonzini  <bonzini@gnu.org>
73811
73812         * lib/poll_.h: New file.
73813         * lib/poll.c: New file.
73814
73815 2003-02-19  Paolo Bonzini  <bonzini@gnu.org>
73816
73817         * m4/poll.m4: New file.
73818
73819 2003-02-18  Paolo Bonzini  <bonzini@gnu.org>
73820
73821         * modules/mathl: New file.
73822
73823 2003-02-18  Paolo Bonzini  <bonzini@gnu.org>
73824
73825         * lib/mathl.h: New file.
73826         * lib/acosl.c: New file.
73827         * lib/asinl.c: New file.
73828         * lib/atanl.c: New file.
73829         * lib/ceill.c: New file.
73830         * lib/cosl.c: New file.
73831         * lib/expl.c: New file.
73832         * lib/floorl.c: New file.
73833         * lib/frexpl.c: New file.
73834         * lib/ldexpl.c: New file.
73835         * lib/logl.c: New file.
73836         * lib/sincosl.c: New file.
73837         * lib/sinl.c: New file.
73838         * lib/sqrtl.c: New file.
73839         * lib/tanl.c: New file.
73840         * lib/trigl.c: New file.
73841         * lib/trigl.h: New file.
73842
73843 2003-02-18  Paolo Bonzini  <bonzini@gnu.org>
73844
73845         * m4/mathl.m4: New file.
73846
73847 2003-02-18  Bruno Haible  <bruno@clisp.org>
73848
73849         * MODULES.html.sh (func_all_modules): Add mathl.
73850
73851 2003-02-17  Bruno Haible  <bruno@clisp.org>
73852
73853         * modules/mkdtemp: New module.
73854         * MODULES.html.sh (func_all_modules): Add it.
73855
73856 2003-02-17  Bruno Haible  <bruno@clisp.org>
73857
73858         * m4/mkdtemp.m4: New file, from GNU gettext with modifications.
73859
73860 2003-02-17  Bruno Haible  <bruno@clisp.org>
73861
73862         * lib/mkdtemp.h: New file, from GNU gettext.
73863         * lib/mkdtemp.c: New file, from GNU gettext.
73864
73865 2003-02-02  Jim Meyering  <jim@meyering.net>
73866
73867         * m4/regex.m4 (jm_INCLUDED_REGEX): Detect broken re_search in
73868         e.g. glibc-2.2.93.
73869
73870 2003-01-31  Bruno Haible  <bruno@clisp.org>
73871
73872         * m4/rename.m4 (vb_FUNC_RENAME): Add a redirection from 'rename' to
73873         'rpl_rename'.
73874         * m4/strnlen.m4 (gl_FUNC_STRNLEN): Add a redirection from 'strnlen' to
73875         'rpl_strnlen'.
73876         * m4/strtod.m4 (gl_FUNC_STRTOD): Add a redirection from 'strtod' to
73877         'rpl_strtod'.
73878         * m4/utime.m4 (jm_FUNC_UTIME): Add a redirection from 'utime' to
73879         'rpl_utime'.
73880
73881 2003-01-31  Bruno Haible  <bruno@clisp.org>
73882
73883         * lib/rename.c: #undef rename before defining rpl_rename.
73884         * lib/strnlen.c: #undef strnlen, define rpl_strnlen instead of strnlen.
73885
73886 2003-01-30  Bruno Haible  <bruno@clisp.org>
73887
73888         * modules/vasnprintf, modules/vasprintf: New modules.
73889         * MODULES.html.sh (func_all_modules): Add them.
73890
73891 2003-01-30  Bruno Haible  <bruno@clisp.org>
73892
73893         * m4/signed.m4: New file, from GNU gettext.
73894         * m4/longdouble.m4: New file, from GNU gettext.
73895         * m4/wchar_t.m4: New file, from GNU gettext.
73896         * m4/wint_t.m4: New file, from GNU gettext.
73897         * m4/vasnprintf.m4: New file.
73898         * m4/vasprintf.m4: New file.
73899
73900 2003-01-30  Bruno Haible  <bruno@clisp.org>
73901
73902         * lib/printf-args.h: New file, from GNU gettext.
73903         * lib/printf-args.c: New file, from GNU gettext.
73904         * lib/printf-parse.h: New file, from GNU gettext.
73905         * lib/printf-parse.c: New file, from GNU gettext.
73906         * lib/vasnprintf.h: New file, from GNU gettext.
73907         * lib/vasnprintf.c: New file, from GNU gettext.
73908         * lib/asnprintf.c: New file, from GNU gettext.
73909         * lib/vasprintf.h: New file, from GNU gettext with modifications.
73910         * lib/vasprintf.c: New file, from GNU gettext.
73911         * lib/asprintf.c: New file, from GNU gettext.
73912
73913 2003-01-29  Bruno Haible  <bruno@clisp.org>
73914
73915         * modules/stpncpy: New module.
73916         * MODULES.html.sh (func_all_modules): Add it.
73917
73918 2003-01-29  Bruno Haible  <bruno@clisp.org>
73919
73920         * m4/stpncpy.m4: New file.
73921
73922 2003-01-29  Bruno Haible  <bruno@clisp.org>
73923
73924         * lib/stpncpy.h: New file, from GNU gettext with modifications.
73925         * lib/stpncpy.c: New file, from GNU gettext with modifications.
73926
73927 2003-01-28  Bruno Haible  <bruno@clisp.org>
73928
73929         * modules/c-ctype: New module.
73930         * MODULES.html.sh (func_all_modules): Add it.
73931
73932 2003-01-28  Bruno Haible  <bruno@clisp.org>
73933
73934         * lib/c-ctype.h: New file, from GNU gettext, with changes suggested by
73935         Paul Eggert.
73936         * lib/c-ctype.c: New file, from GNU gettext, with changes suggested by
73937         Paul Eggert.
73938
73939 2003-01-27  Bruno Haible  <bruno@clisp.org>
73940
73941         * modules/xsetenv: New module.
73942         * MODULES.html.sh (func_all_modules): Add it.
73943
73944 2003-01-27  Bruno Haible  <bruno@clisp.org>
73945
73946         * lib/xsetenv.h: New file, from GNU gettext.
73947         * lib/xsetenv.c: New file, from GNU gettext.
73948
73949 2003-01-23  Jim Meyering  <jim@meyering.net>
73950
73951         * m4/dirfd.m4 (UTILS_FUNC_DIRFD): Correct typo: s/-1/no/ that kept this
73952         from working on systems without dirfd (at least Irix and OSF1/Tru64).
73953
73954 2003-01-23  Bruno Haible  <bruno@clisp.org>
73955
73956         * modules/minmax: New module.
73957         * MODULES.html.sh (func_all_modules): Add it.
73958
73959 2003-01-23  Bruno Haible  <bruno@clisp.org>
73960
73961         * lib/minmax.h: New file, from GNU gettext, with comments from Paul
73962         Eggert.
73963
73964 2003-01-22  Bruno Haible  <bruno@clisp.org>
73965
73966         * modules/exit: New module.
73967         * MODULES.html.sh (func_all_modules): Add it.
73968
73969 2003-01-22  Bruno Haible  <bruno@clisp.org>
73970
73971         * lib/exit.h: New file, from GNU gettext.
73972
73973 2003-01-19  Bruno Haible  <bruno@clisp.org>
73974
73975         * gnulib-tool: Recognize option --extract-maintainer.
73976         (func_get_maintainer): New function.
73977         * modules/*: Add Maintainer entry.
73978
73979 2003-01-16  Jim Meyering  <jim@meyering.net>
73980
73981         * m4/regex.m4: The `regex' struct is both input and output.
73982         Initialize it before each use.  Patch by Tim Waugh.
73983
73984 2003-01-16  Bruno Haible  <bruno@clisp.org>
73985
73986         * MODULES.html.sh: Add a table of contents. Add the module name as
73987         leftmost column. Add hyperlinks.
73988
73989 2003-01-15  Bruno Haible  <bruno@clisp.org>
73990
73991         * m4/md5.m4 (gl_MD5): Require AC_C_INLINE.
73992
73993 2003-01-15  Bruno Haible  <bruno@clisp.org>
73994
73995         * m4/longlong.m4 (jm_AC_TYPE_LONG_LONG): Also test the LL suffix.
73996         * m4/ulonglong.m4 (jm_AC_TYPE_UNSIGNED_LONG_LONG): Also test the ULL
73997         suffix.
73998
73999 2003-01-15  Bruno Haible  <bruno@clisp.org>
74000
74001         * m4/alloca.m4 (gl_FUNC_ALLOCA): Invoke AC_EGREP_CPP prerequisites.
74002
74003 2003-01-15  Bruno Haible  <bruno@clisp.org>
74004
74005         * lib/stpcpy.h (stpcpy): Use ANSI C function declarations.
74006         * lib/strcase.h (strcasecmp, strncasecmp): Likewise.
74007
74008 2003-01-14  Jim Meyering  <jim@meyering.net>
74009
74010         * lib/same.c (same_name): Tweak a comment.
74011
74012 2003-01-14  Bruno Haible  <bruno@clisp.org>
74013
74014         * lib/same.c (same_name): Reorder tests so as to avoid calling stat()
74015         when a string comparison is sufficient.
74016
74017 2003-01-14  Bruno Haible  <bruno@clisp.org>
74018
74019         * lib/readtokens.c (readtoken): Cast character to 'unsigned char', not
74020         'unsigned int'.
74021
74022 2003-01-14  Bruno Haible  <bruno@clisp.org>
74023
74024         * lib/hash-pjw.c: Add comment about low quality of this function.
74025
74026 2003-01-13  Bruno Haible  <bruno@clisp.org>
74027
74028         * modules/stpcpy: Distribute lib/stpcpy.h.
74029         * modules/setenv: Depend on alloca. Distribute lib/setenv.h.
74030
74031 2003-01-13  Bruno Haible  <bruno@clisp.org>
74032
74033         * modules/*: Add a description.
74034         * modules/strpbrk: Fix Makefile.am snippet.
74035         * modules/strtoimax: Fix dependencies.
74036         * modules/strtoumax: Likewise.
74037
74038 2003-01-13  Bruno Haible  <bruno@clisp.org>
74039
74040         * gnulib-tool (func_create_testdir): Substitute lib_OBJECTS.
74041         * modules/alloca (Makefile.am): All object files depend on alloca.h.
74042         * modules/stdbool (Makefile.am): All object files depend on stdbool.h.
74043
74044 2003-01-13  Bruno Haible  <bruno@clisp.org>
74045
74046         * gnulib-tool (func_create_testdir): Store config/* files in the main
74047         directory.
74048         * config.rpath: Move to ...
74049         * config/config.rpath: ... here.
74050         * modules/gettext: Contains config/config.rpath, not config.rpath.
74051         * modules/iconv: Likewise.
74052
74053 2003-01-12  Paul Eggert  <eggert@twinsun.com>
74054
74055         Finish renaming getstr -> getdelim2 and readline -> readlinebuffer,
74056         to avoid collisions with libcurses and libreadline.
74057
74058         * m4/getstr.m4: Remove.
74059         * m4/getline.m4 (gl_PREREQ_GETLINE): Require AC_HEADER_STDC.
74060
74061 2003-01-12  Paul Eggert  <eggert@twinsun.com>
74062
74063         Finish renaming getstr -> getdelim2 and readline -> readlinebuffer,
74064         to avoid collisions with libcurses and libreadline.
74065
74066         * lib/Makefile.am (libfetish_a_SOURCES): Remove getstr.c, getstr.h.
74067         * lib/getstr.h, getstr.c: Remove.
74068         * lib/getline.c: Include "getline.h", to check interface.
74069         Move body of old getstr.c here: this defines MIN_CHUNK and
74070         declares getdelim2, which is renamed from getstr.
74071         (getline, getdelim): Adjust to renaming of getstr -> getdelim2.
74072
74073         * lib/linebuffer.c (readlinebuffer): Renamed from readline.
74074         All uses changed.
74075         * lib/linebuffer.h: Likewise.
74076         (readline): Remove backward-compatibility macro.
74077
74078 2003-01-12  Paul Eggert  <eggert@twinsun.com>
74079
74080         Finish renaming getstr -> getdelim2 and readline -> readlinebuffer,
74081         to avoid collisions with libcurses and libreadline.
74082         * getstr: Remove.
74083         * MODULES.html.sh: Remove getstr.
74084         * modules/getline: Depend on unlocked-io, not getstr.
74085
74086 2003-01-12  Jim Meyering  <jim@meyering.net>
74087
74088         * lib/makepath.c: Don't test HAVE_ERRNO_H.  It's not necessary.
74089
74090 2003-01-10  Bruno Haible  <bruno@clisp.org>
74091
74092         * modules/alloca: Change Makefile.am requirements. Simplify Include
74093         requirements. Add lib/alloca_.h to file list.
74094
74095 2003-01-10  Bruno Haible  <bruno@clisp.org>
74096
74097         * m4/alloca.m4 (gl_FUNC_ALLOCA): Also define ALLOCA_H.
74098
74099 2003-01-10  Bruno Haible  <bruno@clisp.org>
74100
74101         * lib/alloca_.h: New file.
74102         * lib/getdate.y: Unconditionally include alloca.h.
74103         * lib/makepath.c: Likewise.
74104         * lib/setenv.c: Likewise.
74105         * lib/userspec.c: Likewise.
74106
74107 2003-01-09  Karl Berry  <karl@gnu.org>
74108
74109         * MODULES.html.sh: include `dirname $0` in PATH, to find
74110         gnulib-tool.
74111
74112 2003-01-09  Bruno Haible  <bruno@clisp.org>
74113
74114         * modules/stdbool: Change configure.ac, Makefile.am requirements.
74115         Simplify Include requirements. Add lib/stdbool.h.in to file list.
74116
74117 2003-01-09  Bruno Haible  <bruno@clisp.org>
74118
74119         * m4/stdbool.m4 (AM_STDBOOL_H): New macro.
74120
74121 2003-01-09  Bruno Haible  <bruno@clisp.org>
74122
74123         * lib/stdbool.h.in: New file.
74124
74125 2003-01-09  Bruno Haible  <bruno@clisp.org>
74126
74127         * gnulib-tool (func_all_modules): Ignore files ending in ~.
74128         * MODULES.html.sh: Likewise.
74129
74130 2003-01-08  Jim Meyering  <jim@meyering.net>
74131
74132         * lib/full-write.c: Undefine and define-away `const' after inclusion
74133         of errno.h, not before.  Suggestion from Bruno Haible.
74134
74135 2003-01-08  Bruno Haible  <bruno@clisp.org>
74136
74137         * modules/full-read: Depend on full-write.
74138
74139 2003-01-08  Bruno Haible  <bruno@clisp.org>
74140
74141         * lib/safe-read.c: Include specification header first, to ensure its
74142         selfcontainedness.
74143         * lib/full-write.c: Likewise.
74144
74145 2003-01-07  Jim Meyering  <jim@meyering.net>
74146
74147         * lib/full-write.c: Rework so that it may serve to define full_read,
74148         too.
74149         * lib/full-read.c: Simply #define FULL_READ and include full-write.c.
74150
74151 2003-01-07  Bruno Haible  <bruno@clisp.org>
74152
74153         * lib/strtoimax.c: Include <stdint.h> as an alternative to
74154         <inttypes.h>.
74155         * lib/xstrtol.h: Likewise.
74156         * lib/xstrtoimax.c: Likewise.
74157         * lib/xstrtoumax.c: Likewise.
74158         * lib/human.h: Likewise.
74159
74160         * lib/tempname.c: Include <inttypes.h> too. Avoids a compilation error
74161         on systems that have <inttypes.h> but not <stdint.h>.
74162
74163 2003-01-07  Bruno Haible  <bruno@clisp.org>
74164
74165         * MODULES.html.sh: Add copyright notice.
74166         (missed_files): Omit CVS directory entries.
74167         (func_module): Make it work with sed-3.02.
74168         * MODULES.txt: Remove file.
74169
74170 2003-01-06  Jim Meyering  <jim@meyering.net>
74171
74172         * lib/version-etc.c: Update year in translatable copyright string.
74173
74174 2003-01-03  Karl Berry  <karl@gnu.org>
74175
74176         * config/config.{guess,sub}: update from prep.
74177
74178 2003-01-02  Karl Berry  <karl@gnu.org>
74179
74180         * doc/COPYING.DOC: belatedly updated to 1.2.
74181
74182 2003-01-01  Karl Berry  <karl@gnu.org>
74183
74184         * gnulib-tool (func_verify_module): report module name $module in
74185         error message, not $1.
74186         * gnulib-tool (create-testdir): don't complain if destdir couldn't
74187         be created, only if it doesn't exist.
74188         * gnulib-tool (last_checkin_date): don't expand the $Date here.
74189
74190 2002-12-31  Paul Eggert  <eggert@twinsun.com>
74191
74192         * m4/memcoll.m4 (gl_MEMCOLL): Require AC_FUNC_MEMCMP.
74193
74194 2002-12-31  Paul Eggert  <eggert@twinsun.com>
74195
74196         * lib/memcoll.c (memcoll): Fall back on a simple algorithm using
74197         memcmp if strcoll doesn't work.
74198
74199 2002-12-31  Bruno Haible  <bruno@clisp.org>
74200
74201         * lib/utime.c (utime_null): No need to call ftruncate if the file was
74202         nonempty.
74203
74204 2002-12-31  Bruno Haible  <bruno@clisp.org>
74205
74206         * lib/memcoll.c (STRCOLL): New macro.
74207         (memcoll): Use it.
74208
74209 2002-12-31  Bruno Haible  <bruno@clisp.org>
74210
74211         * lib/localcharset.h: New file.
74212         * lib/localcharset.c: Include it.
74213         * lib/unicodeio.c: Likewise.
74214
74215 2002-12-31  Bruno Haible  <bruno@clisp.org>
74216
74217         * lib/getstr.h (getstr): Define, to avoid clash with libcurses.
74218         * lib/linebuffer.h (readline): Define, to avoid clash with libreadline.
74219
74220 2002-12-31  Bruno Haible  <bruno@clisp.org>
74221
74222         * lib/getline.h: Include <stddef.h>, for size_t.
74223
74224         * lib/unicodeio.h: Include <stddef.h>, for size_t.
74225         * lib/unicodeio.c: Don't include <stddef.h>.
74226
74227 2002-12-31  Bruno Haible  <bruno@clisp.org>
74228
74229         * lib/getdate.y (get_date): Test HAVE_STRUCT_TM_TM_ZONE, not
74230         HAVE_TM_ZONE.
74231
74232 2002-12-24  Karl Berry  <karl@gnu.org>
74233
74234         * config/config.guess: update from prep.
74235
74236 2002-12-24  Bruno Haible  <bruno@clisp.org>
74237
74238         General infrasructure.
74239         * m4/README: Rewritten.
74240         * m4/onceonly.m4: New file.
74241         * m4/onceonly_2_57.m4: New file.
74242
74243         Module atexit.
74244         * m4/atexit.m4: New file.
74245
74246         Module strtod.
74247         * m4/strtod.m4: New file.
74248
74249         Module strtol.
74250         * m4/strtol.m4: New file.
74251
74252         Module strtoul.
74253         * m4/strtoul.m4: New file.
74254
74255         Module memchr.
74256         * m4/memchr.m4: New file.
74257
74258         Module memcmp.
74259         * m4/memcmp.m4 (gl_PREREQ_MEMCMP): New macro.
74260         (jm_FUNC_MEMCMP): Invoke it.
74261
74262         Module memcpy.
74263         * m4/memcpy.m4: New file.
74264
74265         Module memmove.
74266         * m4/memmove.m4: New file.
74267
74268         Module memset.
74269         * m4/memset.m4: New file.
74270
74271         Module strcspn.
74272         * m4/strcspn.m4: New file.
74273
74274         Module strpbrk.
74275         * m4/strpbrk.m4: New file.
74276
74277         Module strstr.
74278         * m4/strstr.m4: New file.
74279
74280         Module strerror.
74281         * m4/strerror.m4: New file.
74282
74283         Module mktime.
74284         * m4/mktime.m4: Renamed from jm-mktime.m4.
74285         (gl_PREREQ_MKTIME): New macro.
74286         (gl_FUNC_MKTIME): Renamed from jm_FUNC_MKTIME. Invoke gl_PREREQ_MKTIME.
74287
74288         Module malloc.
74289         * m4/malloc.m4 (gl_PREREQ_MALLOC): New macro.
74290         (jm_FUNC_MALLOC): Use AC_FUNC_MALLOC. Invoke gl_PREREQ_MALLOC.
74291         Don't define HAVE_DONE_WORKING_MALLOC_CHECK, since nothing uses it.
74292
74293         Module realloc.
74294         * m4/realloc.m4 (gl_PREREQ_REALLOC): New macro.
74295         (jm_FUNC_REALLOC): Use AC_FUNC_REALLOC. Invoke gl_PREREQ_REALLOC.
74296         Don't define HAVE_DONE_WORKING_REALLOC_CHECK, since nothing uses it.
74297
74298         Module strftime.
74299         * m4/tm_gmtoff.m4: New file, extracted from strftime.m4.
74300         * m4/strftime.m4 (_jm_STRFTIME_PREREQS): Use AC_FUNC_STRFTIME.
74301         Don't test for bcopy (we are not emacs). Invoke AC_TYPE_MBSTATE_T and
74302         gl_TM_GMTOFF.
74303         (_jm_STRFTIME_PREREQS, jm_FUNC_GNU_STRFTIME): Use onceonly macros.
74304
74305         Module xalloc.
74306         * m4/xalloc.m4: New file.
74307
74308         Module alloca.
74309         * m4/alloca.m4: New file.
74310
74311         Module putenv.
74312         * m4/putenv.m4 (gl_PREREQ_PUTENV): New macro.
74313         (jm_FUNC_PUTENV): Invoke it.
74314
74315         Module setenv.
74316         * m4/setenv.m4 (gt_FUNC_SETENV): New macro.
74317         (gt_CHECK_VAR_DECL): Fix quoting error that led to infinite loop in m4
74318         when invoked twice.
74319         (gt_PREREQ_SETENV, gt_PREREQ_UNSETENV): New macros, replacing old
74320         gt_FUNC_SETENV.
74321
74322         Module memrchr.
74323         * m4/memrchr.m4: New file.
74324
74325         Module stpcpy.
74326         * m4/stpcpy.m4: New file.
74327
74328         Module strcase.
74329         * m4/strcase.m4: New file.
74330
74331         Module strdup.
74332         * m4/strdup.m4: New file.
74333
74334         Module strnlen.
74335         * m4/strnlen.m4: New file.
74336
74337         Module strndup.
74338         * m4/strndup.m4: New file.
74339
74340         Module xstrtod.
74341         * m4/xstrtod.m4: New file.
74342
74343         Module xstrtol.
74344         * m4/xstrtol.m4: New file.
74345
74346         Module getdate.
74347         * m4/getdate.m4: New file.
74348
74349         Module unlocked-io.
74350         * m4/unlocked-io.m4: Renamed from jm-glibc-io.m4.
74351         (jm_FUNC_GLIBC_UNLOCKED_IO): Invoke AC_GNU_SOURCE. Use onceonly macros.
74352         * m4/jm-glibc-io.m4n: Remove file.
74353
74354         Module long-options.
74355         * m4/long-options.m4: New file.
74356
74357         Module md5.
74358         * m4/md5.m4: New file.
74359
74360         Module sha.
74361         * m4/sha.m4: New file.
74362
74363         Module getstr.
74364         * m4/getstr.m4: New file.
74365
74366         Module getline.
74367         * m4/getline.m4 (gl_PREREQ_GETLINE): New macro.
74368         (AM_FUNC_GETLINE): Invoke AC_GNU_SOURCE. Use <stdlib.h>, not
74369         <sys/types.h>, for size_t. Use the function name gnu_getline, not
74370         simply getline. Infoke gl_PREREQ_GETLINE.
74371
74372         Module obstack.
74373         * m4/obstack.m4: New file.
74374
74375         Module hash.
74376         * m4/hash.m4: New file.
74377
74378         Module readtokens.
74379         * m4/readtokens.m4: New file.
74380
74381         Module strverscmp.
74382         * m4/strverscmp.m4: New file.
74383
74384         Module stdbool.
74385         * m4/stdbool.m4 (AC_HEADER_STDBOOL): Add test for _Bool. Needed for
74386         OSF/1.
74387
74388         Module strtoll.
74389         * m4/strtoll.m4: New file.
74390
74391         Module strtoull.
74392         * m4/strtoull.m4: New file.
74393
74394         Module strtoimax.
74395         * m4/strtoimax.m4: New file.
74396
74397         Module strtoumax.
74398         * m4/strtoumax.m4: New file.
74399
74400         Module xstrtoimax.
74401         * m4/xstrtoimax.m4 (jm_XSTRTOIMAX): Renamed from
74402         jm_AC_PREREQ_XSTRTOIMAX.
74403         Moved the strtol prerequisites to strtol.m4.
74404         Moved the strtoll prerequisites to strtoll.m4.
74405         Moved the strtoimax prerequisites to strtoimax.m4.
74406
74407         Module xstrtoumax.
74408         * m4/xstrtoumax.m4 (jm_XSTRTOUMAX): Renamed from
74409         jm_AC_PREREQ_XSTRTOUMAX.
74410         Moved the strtoul prerequisites to strtoul.m4.
74411         Moved the strtoull prerequisites to strtoull.m4.
74412         Moved the strtoumax prerequisites to strtoumax.m4.
74413
74414         Module chown.
74415         * m4/chown.m4 (gl_PREREQ_CHOWN): New macro.
74416         (jm_FUNC_CHOWN): Use AC_FUNC_CHOWN. Invoke gl_PREREQ_CHOWN.
74417
74418         Module dup2.
74419         * m4/dup2.m4: New file.
74420
74421         Module ftruncate.
74422         * m4/ftruncate.m4 (gl_PREREQ_FTRUNCATE): New macro.
74423         (jm_FUNC_FTRUNCATE): Use AC_REPLACE_FUNCS. Invoke gl_PREREQ_FTRUNCATE.
74424
74425         Module getgroups.
74426         * m4/getgroups.m4 (gl_PREREQ_GETGROUPS): New macro.
74427         (jm_FUNC_GETGROUPS): Use AC_FUNC_GETGROUPS. Invoke gl_PREREQ_GETGROUPS.
74428
74429         Module gettimeofday.
74430         * m4/gettimeofday.m4 (gl_PREREQ_GETTIMEOFDAY): New macro.
74431         (AC_FUNC_GETTIMEOFDAY_CLOBBER): Use onceonly macros. Invoke
74432         gl_PREREQ_GETTIMEOFDAY.
74433
74434         Module mkdir.
74435         * m4/mkdir-slash.m4 (gl_PREREQ_MKDIR): New macro.
74436         (UTILS_FUNC_MKDIR_TRAILING_SLASH): Invoke gl_PREREQ_MKDIR.
74437
74438         Module mkstemp.
74439         * m4/mkstemp.m4 (gl_PREREQ_MKSTEMP): New macro.
74440         (jm_PREREQ_TEMPNAME): New macro, from prereq.m4. Also invoke
74441         jm_AC_TYPE_UINTMAX_T.
74442         (UTILS_FUNC_MKSTEMP): Invoke gl_PREREQ_MKSTEMP and jm_PREREQ_TEMPNAME.
74443
74444         Module stat.
74445         * m4/stat.m4 (gl_PREREQ_STAT): New macro.
74446         (jm_FUNC_STAT): Use AC_FUNC_STAT. Invoke gl_PREREQ_STAT.
74447
74448         Module lstat.
74449         * m4/lstat.m4 (gl_PREREQ_LSTAT): New macro.
74450         (jm_FUNC_LSTAT): Use AC_FUNC_LSTAT. Invoke gl_PREREQ_LSTAT.
74451
74452         Module timespec.
74453         * m4/timespec.m4 (gl_TIMESPEC): New macro.
74454         (jm_CHECK_TYPE_STRUCT_TIMESPEC): Add check for <sys/time.h>.
74455         * m4/st_mtim.m4: Indentation.
74456
74457         Module nanosleep.
74458         * m4/nanosleep.m4 (gl_PREREQ_NANOSLEEP): New macro.
74459         (jm_FUNC_NANOSLEEP): Add check for <sys/time.h>. Invoke
74460         gl_PREREQ_NANOSLEEP.
74461
74462         Module regex.
74463         * m4/regex.m4 (jm_PREREQ_REGEX): New macro.
74464         (jm_INCLUDED_REGEX): Invoke jm_PREREQ_REGEX.
74465         (gl_REGEX): New macro.
74466
74467         Module rename.
74468         * m4/rename.m4 (gl_PREREQ_RENAME): New macro.
74469         (vb_FUNC_RENAME): Invoke gl_PREREQ_RENAME.
74470
74471         Module rmdir.
74472         * m4/rmdir.m4: New file.
74473
74474         Module utime.
74475         * m4/utimbuf.m4 (jm_CHECK_TYPE_STRUCT_UTIMBUF): Use onceonly macros.
74476         * m4/utime.m4 (gl_PREREQ_UTIME): New macro.
74477         (jm_FUNC_UTIME): Invoke gl_PREREQ_UTIME.
74478
74479         Module dirname.
74480         * m4/dirname.m4: New file.
74481
74482         Module getopt.
74483         * m4/getopt.m4: New file.
74484
74485         Module unistd-safer.
74486         * m4/unistd-safer.m4: New file.
74487
74488         Module fnmatch.
74489         * m4/fnmatch.m4 (_AC_FUNC_FNMATCH_IF): Include <stdlib.h>, for exit()
74490         declaration.
74491         (gl_PREREQ_FNMATCH_EXTRA): New macro.
74492         (gl_FUNC_FNMATCH_POSIX): New macro.
74493         (gl_FUNC_FNMATCH_GNU): Renamed from AC_FUNC_FNMATCH_GNU. Invoke
74494         gl_PREREQ_FNMATCH_EXTRA. Use the function name gnu_fnmatch, not
74495         simply fnmatch.
74496
74497         Module exclude.
74498         * m4/exclude.m4: New file.
74499
74500         Module human.
74501         * m4/human.m4: New file.
74502
74503         Module acl.
74504         * m4/acl.m4: Nop.
74505
74506         Module backupfile.
74507         * m4/backupfile.m4: New file.
74508         * m4/d-ino.m4: Indentation.
74509
74510         Module fsusage.
74511         * m4/fsusage.m4 (gl_FSUSAGE): New macro.
74512         (jm_STATFS_TRUNCATES): New macro, from coreutils-4.5.4/configure.ac.
74513         (gl_PREREQ_FSUSAGE_EXTRA): New macro.
74514
74515         Module dirfd.
74516         * m4/dirfd.m4 (UTILS_FUNC_DIRFD): Invoke some AC_EGREP_CPP
74517         requirements.
74518
74519         Module euidaccess.
74520         * m4/euidaccess.m4: New file.
74521
74522         Module file-type.
74523         * m4/file-type.m4: New file.
74524
74525         Module fileblocks.
74526         * m4/fileblocks.m4: New file.
74527
74528         Module filemode.
74529         * m4/filemode.m4: New file.
74530
74531         Module isdir.
74532         * m4/isdir.m4: New file.
74533
74534         Module lchown.
74535         * m4/lchown.m4 (gl_PREREQ_LCHOWN): New macro.
74536         (jm_FUNC_LCHOWN): Invoke gl_PREREQ_LCHOWN.
74537
74538         Module makepath.
74539         * m4/makepath.m4: New file.
74540
74541         Module modechange.
74542         * m4/modechange.m4: New file.
74543
74544         Module mountlist.
74545         * m4/mountlist.m4: New file.
74546         * m4/ls-mntd-fs.m4 (jm_LIST_MOUNTED_FILESYSTEMS): Use onceonly macros.
74547         Indentation.
74548
74549         Module path-concat.
74550         * m4/path-concat.m4: New file.
74551
74552         Module pathmax.
74553         * m4/pathmax.m4: New file.
74554
74555         Module same.
74556         * m4/same.m4: New file.
74557
74558         Module save-cwd.
74559         * m4/save-cwd.m4: New file.
74560
74561         Module savedir.
74562         * m4/savedir.m4: New file.
74563
74564         Module xgetcwd.
74565         * m4/xgetcwd.m4: New file.
74566         * m4/getcwd.m4 (AC_FUNC_GETCWD_NULL): Use onceonly macros.
74567
74568         Module xreadlink.
74569         * m4/xreadlink.m4: New file.
74570
74571         Module safe-read.
74572         * m4/safe-read.m4: New file.
74573
74574         Module safe-write.
74575         * m4/safe-write.m4: New file.
74576
74577         Module closeout.
74578         * m4/closeout.m4: New file.
74579
74580         Module stdio-safer.
74581         * m4/stdio-safer.m4: New file.
74582
74583         Module getpass.
74584         * m4/getpass.m4: New file.
74585
74586         Module getugroups.
74587         * m4/getugroups.m4: New file.
74588
74589         Module group-member.
74590         * m4/group-member.m4 (gl_PREREQ_GROUP_MEMBER): New macro.
74591         (jm_FUNC_GROUP_MEMBER): Invoke AC_GNU_SOURCE, gl_PREREQ_GROUP_MEMBER.
74592
74593         Module idcache.
74594         * m4/idcache.m4: New file.
74595
74596         Module userspec.
74597         * m4/userspec.m4: New file.
74598
74599         Module gettime.
74600         * m4/clock_time.m4: New file.
74601         * m4/gettime.m4: New file.
74602
74603         Module settime.
74604         * m4/settime.m4: New file.
74605
74606         Module posixtm.
74607         * m4/posixtm.m4: New file.
74608
74609         Module gethostname.
74610         * m4/gethostname.m4: New file.
74611
74612         Module canon-host.
74613         * m4/canon-host.m4: New file.
74614
74615         Module gettext.
74616         * m4/codeset.m4: New file, from gettext-0.11.5.
74617         * m4/gettext.m4: New file, from gettext-0.11.5.
74618         * m4/glibc21.m4: New file, from gettext-0.11.5.
74619         * m4/iconv.m4: New file, from gettext-0.11.5.
74620         * m4/intdiv0.m4: New file, from gettext-0.11.5.
74621         * m4/inttypes-pri.m4: New file, from gettext-0.11.5.
74622         * m4/inttypes.m4: New file, from gettext-0.11.5.
74623         * m4/inttypes_h.m4: New file, from gettext-0.11.5 with modifications.
74624         * m4/isc-posix.m4: New file, from gettext-0.11.5.
74625         * m4/lcmessage.m4: New file, from gettext-0.11.5.
74626         * m4/lib-ld.m4: New file, from gettext-0.11.5.
74627         * m4/lib-link.m4: New file, from gettext-0.11.5.
74628         * m4/lib-prefix.m4: New file, from gettext-0.11.5.
74629         * m4/progtest.m4: New file, from gettext-0.11.5.
74630         * m4/stdint_h.m4: New file, from gettext-0.11.5 with modifications.
74631         * m4/uintmax_t.m4: New file, from gettext-0.11.5 with modifications.
74632         * m4/ulonglong.m4: New file, from gettext-0.11.5 with modifications.
74633
74634         Module localcharset.
74635         * m4/localcharset.m4: New file.
74636
74637         Module hard-locale.
74638         * m4/hard-locale.m4: New file.
74639
74640         Module mbswidth.
74641         * m4/mbswidth.m4 (gl_MBSWIDTH): Renamed from jm_PREREQ_MBSWIDTH. Use
74642         onceonly macros.
74643         * m4/mbrtowc.m4: Add comment.
74644
74645         Module memcasecmp.
74646         * m4/memcasecmp.m4: New file.
74647
74648         Module memcoll.
74649         * m4/memcoll.m4: New file.
74650
74651         Module unicodeio.
74652         * m4/unicodeio.m4: New file.
74653
74654         Module rpmatch.
74655         * m4/rpmatch.m4: New file.
74656
74657         Module yesno.
74658         * m4/yesno.m4: New file.
74659
74660         Module exitfail.
74661         * m4/exitfail.m4: New file.
74662
74663         Module c-stack.
74664         * m4/c-stack.m4 (gl_C_STACK): New macro.
74665         (jm_PREREQ_C_STACK): Check for <sys/time.h>. Use onceonly macros.
74666
74667         Module error.
74668         * m4/error.m4 (gl_ERROR): New macro.
74669         (jm_PREREQ_ERROR): Use onceonly macros.
74670
74671         Module fatal.
74672         * m4/fatal.m4: New file.
74673
74674         Module getloadavg.
74675         * m4/getloadavg.m4 (AC_FUNC_GETLOADAVG): Use onceonly macros.
74676         (gl_FUNC_GETLOADAVG, gl_PREREQ_GETLOADAVG): New macros.
74677
74678         Module getpagesize.
74679         * m4/getpagesize.m4: New file.
74680
74681         Module getusershell.
74682         * m4/getusershell.m4: New file.
74683
74684         Module physmem.
74685         * m4/physmem.m4: New file.
74686
74687         Module posixver.
74688         * m4/posixver.m4: New file.
74689
74690         Module quotearg.
74691         * m4/quotearg.m4: New file.
74692
74693         Module quote.
74694         * m4/quote.m4: New file.
74695
74696         Module readutmp.
74697         * m4/readutmp.m4: New file, based on jm_PREREQ_READUTMP from prereq.m4.
74698
74699         Module sig2str.
74700         * m4/sig2str.m4: New file.
74701
74702         Other.
74703         * m4/longlong.m4 (jm_AC_TYPE_UNSIGNED_LONG_LONG): Remove, moved to
74704         ulonglong.m4.
74705         * m4/intmax_t.m4: New file.
74706         * m4/d-type.m4: Indentation.
74707         * m4/jm-macros.m4: Update.
74708         * m4/prereq.m4 (jm_PREREQ): Update.
74709         (jm_PREREQ_ADDEXT): Remove, obsoleted by backupfile.m4.
74710         (jm_PREREQ_CANON_HOST): Remove, obsoleted by canon-host.m4.
74711         (jm_PREREQ_DIRNAME): Remove, obsoleted by dirname.m4.
74712         (jm_PREREQ_EXCLUDE): Remove, obsoleted by exclude.m4.
74713         (jm_PREREQ_GETPAGESIZE): Remove, obsoleted by getpagesize.m4.
74714         (jm_PREREQ_HARD_LOCALE): Remove, obsoleted by hard-locale.m4.
74715         (jm_PREREQ_HASH): Remove, obsoleted by hash.m4.
74716         (jm_PREREQ_HUMAN): Remove, obsoleted by human.m4.
74717         (jm_PREREQ_MEMCHR): Remove, obsoleted by memchr.m4.
74718         (jm_PREREQ_PHYSMEM): Remove, obsoleted by physmem.m4.
74719         (jm_PREREQ_POSIXVER): Remove, obsoleted by posixver.m4.
74720         (jm_PREREQ_QUOTEARG): Remove, obsoleted by quotearg.m4.
74721         (jm_PREREQ_READUTMP): Remove, obsoleted by readutmp.m4.
74722         (jm_PREREQ_REGEX): Remove, obsoleted by regex.m4.
74723         (jm_PREREQ_STRNLEN): Remove, obsoleted by strnlen.m4.
74724         (jm_PREREQ_TEMPNAME): Remove, obsoleted by mkstemp.m4.
74725         (jm_PREREQ_XGETCWD): Remove, obsoleted by xgetcwd.m4.
74726         (jm_PREREQ_XREADLINK): Remove, obsoleted by xreadlink.m4.
74727         * m4/readdir.m4 (jm_FUNC_READDIR): Use onceonly macros.
74728
74729 2002-12-24  Bruno Haible  <bruno@clisp.org>
74730
74731         * MODULES.txt: Update according to m4/ changes.
74732
74733         Module gettext.
74734         * config.rpath: New file, from gettext-0.11.5.
74735
74736         * modules/*: New module descriptions.
74737         * gnulib-tool: New file.
74738         * MODULES.html.sh: New file.
74739
74740 2002-12-21  Karl Berry  <karl@gnu.org>
74741
74742         * doc/fdl.texi: update to version 1.2.
74743
74744 2002-12-19  Karl Berry  <karl@gnu.org>
74745
74746         * config/config.guess: update from prep.
74747
74748 2002-12-18  Bruno Haible  <bruno@clisp.org>
74749
74750         * m4/strftime.m4 (_jm_STRFTIME_PREREQS): Don't test for localtime_r.
74751         * m4/jm-mktime.m4 (jm_FUNC_MKTIME): Likewise.
74752
74753 2002-12-17  Bruno Haible  <bruno@clisp.org>
74754
74755         * m4/mbswidth.m4 (jm_PREREQ_MBSWIDTH): Remove checks for limits.h,
74756         stdlib.h, string.h.
74757
74758 2002-12-17  Bruno Haible  <bruno@clisp.org>
74759
74760         * lib/canon-host.c (strdup): Remove unused declaration.
74761
74762         * lib/fsusage.c: Include full_read.h.
74763         (get_fs_usage): Use full_read instead of safe_read.
74764
74765         * lib/utime.c (utime_null): Use SAFE_READ_ERROR.
74766
74767 2002-12-12  Karl Berry  <karl@gnu.org>
74768
74769         * config/config.guess: update from prep.
74770
74771 2002-12-11  Bruno Haible  <bruno@clisp.org>
74772
74773         * m4/setenv.m4: New file, from gettext-0.11.5.
74774
74775 2002-12-11  Bruno Haible  <bruno@clisp.org>
74776
74777         * lib/setenv.h: Rewritten to cope with systems that have setenv() but
74778         not unsetenv().
74779         * lib/setenv.c, unsetenv.c: Taken from glibc-2.2.4 with the following
74780         modifications:
74781
74782         2002-12-11  Bruno Haible  <bruno@clisp.org>
74783
74784                 * setenv.c (alloca): Fall back to malloc.
74785                 (freea): New macro.
74786                 (setenv): Use freea() to free memory allocated with alloca().
74787
74788         2002-11-13  Bruno Haible  <bruno@clisp.org>
74789
74790                 * setenv.c (compar_fn_t, __add_to_environ, setenv): Use ANSI C
74791                 function declarations.
74792                 * unsetenv.c (unsetenv): Likewise.
74793
74794         2002-03-04  Bruno Haible  <bruno@clisp.org>
74795
74796                 Portability to AIX 4.3.3.
74797                 * unsetenv.c: New file, extracted from setenv.c.
74798                 * setenv.c: Move the unsetenv() function to unsetenv.c.
74799
74800         2001-12-20  Bruno Haible  <bruno@clisp.org>
74801
74802                 * setenv.c (__add_to_environ): Don't call realloc(NULL,...),
74803                 use malloc instead. For SunOS 4.
74804
74805         2001-12-11  Bruno Haible  <bruno@clisp.org>
74806
74807                 * setenv.c: Declare alloca.
74808                 (compar_fn_t): New typedef.
74809                 (KNOWN_VALUE, STORE_VALUE): Use it.
74810
74811         * lib/Makefile.am (libfetish_a_SOURCES): Add setenv.c, unsetenv.c,
74812         setenv.h.
74813
74814 2002-12-10  Paul Eggert  <eggert@twinsun.com>
74815
74816         Port exclude.c and exclude.h to more non-GNU systems, e.g. Solaris 7.
74817         * lib/exclude.h (EXCLUDE_ANCHORED, EXCLUDE_INCLUDE, EXCLUDE_WILDCARDS):
74818         Choose values that are less likely to collide with system fnmatch
74819         options.
74820         * lib/exclude.c (FNM_CASEFOLD, FNM_LEADING_DIR): Define to 0 if not
74821         defined (e.g., a pure POSIX system).
74822         (EXCLUDE_macros_do_not_collide_with_FNM_macros): Use FNM_PATHNAME
74823         instead of FNM_FILE_NAME, for compatibility with pure POSIX sytems.
74824
74825 2002-12-06  Paul Eggert  <eggert@twinsun.com>
74826
74827         Undo the 2001-07-02 change for jm-glibc-io, as it was too much of
74828         a pain in practice to deal with generated m4 files.  This change
74829         goes together with the 2002-12-04 unlocked-io.h change in ../lib.
74830
74831         * m4/Makefile.am.in (Makefile.am): Don't mention jm-glibc-io.m4n
74832         and jm-glibc-io.m4, as they are no longer a special case.
74833         * m4/jm-glibc-io.m4: Rename from jm-glibc-io.m4n, and remove the
74834         kludge and the auto-generation stuff.  Check only whether the
74835         functions are declared, not whether they exist, since older hosts
74836         that don't declare the functions can't use the optimization anyway.
74837
74838 2002-12-06  Jim Meyering  <jim@meyering.net>
74839
74840         * lib/error.c: Be consistent: change `#ifndef _LIBC' to `#if !_LIBC'.
74841
74842         Merge in changes from libc's misc/error.c, in preparation
74843         for the merge of gnulib's changes back into libc.
74844
74845         * lib/error.c (_): Define only if not already defined.
74846         Move definition to follow all #include directives.
74847         Include unlocked-io.h only if !_LIBC.
74848         [_LIBC]: Include <libio/libioP.h>.
74849         [USE_IN_LIBIO]: Include <libio/iolibio.h>
74850         (fflush): Tweak definition to use INTUSE.
74851         (putc): Define.
74852
74853 2002-12-05  Paul Eggert  <eggert@twinsun.com>
74854
74855         * lib/alloca.c [defined emacs]: Include "lisp.h".
74856         (xalloc_die) [defined emacs]: New macro.
74857         (free) [defined emacs && defined EMACS_FREE]: Define to EMACS_FREE.
74858         [! defined emacs]: Include <xalloc.h>.
74859         (POINTER_TYPE) [!defined POINTER_TYPE]: New macro.
74860         (pointer): Typedef to POINTER_TYPE *.
74861         (malloc): Remove decl; we now always use xmalloc.
74862         (alloca): Use old-style definition, since Emacs needs this.
74863         Check for arithmetic overflow when computing combined size.
74864
74865 2002-12-04  Paul Eggert  <eggert@twinsun.com>
74866
74867         Do not generate unlocked-io.h automatically, since it's easier to
74868         maintain it by hand.
74869
74870         * lib/unlocked-io.h: New file, from GNU diffutils,
74871         but with proper copyright notice and attribution.
74872         * lib/gen-uio: Remove.
74873         * lib/Makefile.am: Add copyright notice.
74874         (libfetish_a_SOURCES): Add unlocked-io.h.
74875         (BUILT_SOURCES, all-local): Remove unlocked-io.h.
74876         (DISTCLEANFILES, io_functions): Remove macros.
74877         (EXTRA_DIST): Remove gen_uio.
74878         (unlocked-io.h): Remove rule.
74879
74880 2002-12-04  Jim Meyering  <jim@meyering.net>
74881
74882         Reflect the fact that stat.c and lstat.c are no longer generated.
74883         * lib/Makefile.am (BUILT_SOURCES): Remove stat.c and lstat.c.
74884         (DISTCLEANFILES): Likewise.
74885         (EXTRA_DIST): Likewise.
74886         (all_local): Don't depend on stat.c or lstat.c.
74887         (stat.c, lstat.c): Remove rules.
74888         (EXTRA_DIST): Remove xstat.in.
74889
74890         * lib/xstat.in: Remove file.  Contents moved into stat.c.
74891         * lib/stat.c: New file.  Contents mostly from xstat.in.
74892         * lib/stat.c: Rework so that it may serve to define rpl_lstat, too.
74893         * lib/lstat.c: New file. Simply #define LSTAT and include stat.c.
74894
74895         * lib/safe-read.c: Rework so that it may serve to define safe_write,
74896         too.
74897         * lib/safe-write.c: Simply #define SAFE_WRITE and include safe-read.c.
74898
74899 2002-12-03  Jim Meyering  <jim@meyering.net>
74900
74901         * lib/safe-read.c, safe-write.c: Change variable names and comments,
74902         but not semantics, to minimize the differences between these two files.
74903         (safe_read): Change comment to mention SAFE_READ_ERROR.
74904
74905         * lib/safe-read.c (IS_EINTR): Define.
74906         (safe_read): Use IS_EINTR in place of in-function cpp directives.
74907
74908 2002-12-02  Jim Meyering  <jim@meyering.net>
74909
74910         * lib/safe-read.c (EINTR): Define.
74911         (CHAR_BIT, TYPE_SIGNED, TYPE_MINIMUM, TYPE_MAXIMUM): Define.
74912         (INT_MAX): Provide fallback.
74913         (safe_read): Rewrite to iterate IFF the read fails with EINTR.
74914
74915         * lib/safe-read.h (SAFE_READ_ERROR): Define.
74916
74917 2002-12-02  Bruno Haible  <bruno@clisp.org>
74918
74919         * lib/safe-write.c (CHAR_BIT, TYPE_SIGNED, TYPE_MINIMUM, TYPE_MAXIMUM):
74920         Define, taken from safe-read.c.
74921         (INT_MAX): Provide fallback.
74922         (safe_write): Rewrite to iterate IFF the write fails with EINTR.
74923         * lib/safe-write.h (SAFE_WRITE_ERROR): Define.
74924
74925         * lib/safe-read.c (EINTR): Remove definition.
74926         (safe_read): Don't use EINTR if it is absent.
74927
74928 2002-12-01  Jim Meyering  <jim@meyering.net>
74929
74930         * lib/safe-read.c: (safe_read): Also exit the loop when read returns
74931         zero.
74932         (CHAR_BIT, TYPE_SIGNED, TYPE_MINIMUM, TYPE_MAXIMUM, INT_MAX): Define.
74933
74934 2002-11-27  Paul Eggert  <eggert@twinsun.com>
74935
74936         * lib/hash.c (hash_lookup, hash_get_first, hash_get_next,
74937         hash_find_entry, hash_rehash): Replace `if (limit <= value) abort ();'
74938         with `if (! (value < limit)) abort ();', for readability.
74939
74940 2002-11-26  Karl Berry  <karl@gnu.org>
74941
74942         * lib/strdup.c: copy from libc again, with jim's ok.
74943         * lib/.cppi-disable: re-add strdup.c
74944
74945 2002-11-25  Karl Berry  <karl@gnu.org>
74946
74947         * lib/strtoll.c: copy from libc, meaning we now #include <strtol.c>
74948         instead of "strtol.c".
74949
74950 2002-11-25  Karl Berry  <karl@gnu.org>
74951
74952         * config/install-sh: update from automake for variable quoting, $0 in
74953         error msgs, etc.
74954
74955         * config/srclist.txt ($LIBCSRC/time/mktime.c lib gpl): new entry.
74956         * config/srclist.txt ($LIBCSRC/sysdeps/generic/strtoll.c lib gpl): new
74957         entry.
74958
74959 2002-11-25  Jim Meyering  <jim@meyering.net>
74960
74961         * lib/mktime.c: Sync from libc, now that it has the latest fix.
74962
74963 2002-11-24  Karl Berry  <karl@gnu.org>
74964
74965         * lib/error.c, getopt.c, getopt.h, getopt1.c, obstack.c, regex.c,
74966         regex.h, strdup.c, strtoll.c, tempname.c: change license to gpl.
74967
74968 2002-11-24  Jim Meyering  <jim@meyering.net>
74969
74970         Update from coreutils:
74971
74972         * lib/mktime.c: Merge in changes from libc.
74973
74974         Avoid a link-time failure on some Linux systems.
74975         * lib/mktime.c (STATIC): Define to be empty (_LIBC) or `static'
74976         (otherwise).
74977         (__mon_yday): Declare with the STATIC attribute.
74978         (__mktime_internal): Likewise.
74979         Based on a report from Greg Schafer.
74980
74981 2002-11-23  Jim Meyering  <jim@meyering.net>
74982
74983         * lib/sig2str.c (str2signum, sig2str): Avoid a warning from gcc:
74984         Use `unsigned', not `int', as type of index.
74985
74986         * lib/xstat.in [@BEGIN_LSTAT_ONLY@]: Include <string.h>.
74987
74988         * lib/fsusage.c: Remove unneeded parentheses around operands of
74989         `defined'.
74990
74991 2002-11-22  Paul Eggert  <eggert@twinsun.com>
74992
74993         * lib/quotearg.h: Allow multiple inclusion by surrounding with
74994         "#ifndef QUOTEARG_H_".  Include <stddef.h>, for size_t,
74995         so that we can be included first.
74996         (PARAMS): Remove; we now assume C89 or later.  All uses removed.
74997         * lib/quotearg.c: Include quotearg.h immediately after config.h.
74998         No need to include stddef.h or sys/types.h any more.
74999         Surround local include files with "", not "<>".
75000         Assume HAVE_LIMITS_H unconditionally, as we assume C89.
75001         Similarly, assume HAVE_C_BACKSLASH_A, CHAR_BIT, UCHAR_MAX, UINT_MAX,
75002         HAVE_STDLIB_H, HAVE_STRING_H, STDC_HEADERS.
75003         (HAVE_MBSINIT): Undef if !HAVE_MBRTOWC.
75004         (mbsinit): Define to 1 if !defined mbsinit && !HAVE_MBSINIT.
75005         (ISPRINT): Remove; no longer needed now that we assume C89.
75006
75007         (clone_quoting_options, quotearg_buffer, quotearg_n_options):
75008         Preserve errno.
75009
75010         (quotearg_buffer_restyled, quotearg_n, quotearg_n_style,
75011         quotearg_char): Use SIZE_MAX rather than
75012         (size_t) -1 when we are talking about "infinity".
75013
75014         (quotearg_buffer_restyled): Fix bug when quoting trigraphs.
75015
75016 2002-11-22  Paul Eggert  <eggert@twinsun.com>
75017
75018         * lib/hash.c: Avoid use of <assert.h>, as the GNU Coding Standards
75019         hint that one should use `if (! x) abort ();' rather than `assert
75020         (x);', and anyway it's one less thing to worry about configuring.
75021         (hash_lookup, hash_get_first, hash_get_next, hash_find_entry,
75022         hash_rehash, hash_insert): Use abort rather than assert.
75023
75024 2002-11-22  Bruno Haible  <bruno@clisp.org>
75025
75026         * lib/safe-read.h: Assume C89. Add comments.
75027         (safe_read): Change return type to size_t.
75028         * lib/safe-read.c (safe_read): Change return type to size_t. Handle
75029         byte counts > SSIZE_MAX correctly.
75030         * lib/safe-write.h: New file.
75031         * lib/safe-write.c: New file.
75032         * lib/full-read.h: New file.
75033         * lib/full-read.c: New file.
75034         * lib/full-write.h: Assume C89. Add comments.
75035         * lib/full-write.c: Include safe-write.h.
75036         (full_write): Rewritten to use safe_write.
75037         Suggested by Jim Meyering and Paul Eggert.
75038
75039 2002-11-21  Jim Meyering  <jim@meyering.net>
75040
75041         * lib/strdup.c (strdup): Tweak comment and initial #if/#include.
75042
75043         Merge in changes from the coreutils.
75044
75045         2002-09-25  Paul Eggert  <eggert@twinsun.com>
75046         * lib/fsusage.c [! HAVE_INTTYPES_H && HAVE_STDINT_H] Include
75047         <stdint.h>.
75048         (UINTMAX_MAX) [!defined UINTMAX_MAX]: New macro.
75049         (PROPAGATE_ALL_ONES): Work even if X is unsigned and narrower than
75050         int.  Work more efficiently if X is the same width as uintmax_t.
75051         Do not compare X to -1, to avoid bogus compiler warning.
75052         (get_fs_usage): (uintmax_t) -1 -> UINTMAX_MAX to avoid a cast.
75053         Don't assume that f_frsize and f_bsize are the same type.
75054
75055         * lib/mountlist.c: #undef MNT_IGNORE before defining it, to avoid
75056         warning on FreeBSD.
75057
75058         * lib/makepath.c (make_path): Restore umask *before* creating the final
75059         component.
75060         (make_path): Minor reformatting.
75061
75062         * lib/xmalloc.c: Adjust to work with new autoconf macros,
75063         AC_FUNC_MALLOC and AC_FUNC_REALLOC: test #ifndef
75064         HAVE_MALLOC/HAVE_REALLOC.
75065
75066         * lib/mountlist.h (ME_DUMMY): Don't count entries of type `auto' as
75067         dummy ones.  At least on GNU/Linux systems, `auto' means something
75068         else.
75069         From Michael Stone.
75070
75071 2002-11-21  Bruno Haible  <bruno@clisp.org>
75072
75073         Remove case insensitive option matching.
75074         * lib/argmatch.h (argcasematch): Remove declaration.
75075         (ARGCASEMATCH): Remove macro.
75076         (__xargmatch_internal): Remove case_sensitive argument.
75077         (XARGMATCH): Update.
75078         (XARGCASEMATCH): Remove macro.
75079         * lib/argmatch.c (argmatch): Renamed from __argmatch_internal. Remove
75080         case_sensitive argument.
75081         (argcasematch): Remove function.
75082         (__xargmatch_internal): Remove case_sensitive argument.
75083         (main): Use XARGMATCH instead of XARGCASEMATCH.
75084
75085         * lib/xmalloc.c: Change compile-time error message. Add comment about
75086         required autoconf version.
75087
75088 2002-11-20  Paul Eggert  <eggert@twinsun.com>
75089
75090         Merge argmatch cleanups from Bison.  Assume C89.
75091
75092         * lib/argmatch.c: Include config.h here, not in argmatch.h.
75093         Include stdlib.h, for EXIT_FAILURE.
75094         Always include <string.h>, since we assume C89.
75095         (EXIT_FAILURE): Remove pre-C89 bug workaround.
75096         * lib/argmatch.h: Do not include <config.h> or <sys/types.h>.
75097         Include <stddef.h> instead, since it's all we need for size_t.
75098         (PARAMS): Remove.  All uses removed.
75099         (ARRAY_CARDINALITY): Do not bother to #undef.
75100         (ARRAY_CARDINALITY, ARGMATCH, ARGCASEMATCH, invalid_arg,
75101         ARGMATCH_VALID, XARGMATCH, XARGCASEMATCH):
75102         Remove unnecessary parentheses.
75103         (ARGMATCH_VALID, XARGMATCH, XARGCASEMATCH):
75104         Insert necessary parentheses.
75105         (ARGMATCH_CONSTRAINT, ARGMATCH_VERIFY): New macros.
75106         (ARGMATCH_ASSERT): Use ARGMATCH_CONSTRAINT.
75107
75108 2002-11-19  Bruno Haible  <bruno@clisp.org>
75109
75110         * lib/mbswidth.c: Include mbswidth.h right at the beginning.
75111         * lib/mbswidth.h: Include <stddef.h>, for size_t.
75112
75113         * lib/mbswidth.h (PARAMS): Remove macro.
75114         (mbswidth, mbsnwidth): Use ANSI C function declarations.
75115         * lib/mbswidth.c (mbswidth, mbsnwidth): Likewise.
75116
75117         * lib/gcd.h (PARAMS): Remove macro.
75118         (gcd): Use ANSI C function declarations.
75119         * lib/gcd.c (gcd): Likewise.
75120
75121 2002-11-15  Bruno Haible  <bruno@clisp.org>
75122
75123         * lib/strcspn.c: Include <stddef.h>.
75124         (strcspn): Use ANSI C function declaration. Change return type to
75125         size_t. Use NULL.
75126         * lib/strpbrk.c: Minimize diffs to glibc. Include <stddef.h>.
75127         (strpbrk): Use NULL.
75128         * lib/strpbrk.h (PARAMS): Remove macro.
75129         (strpbrk): Use ANSI C function declaration.
75130         * lib/strstr.c: Don't include <sys/types.h>.
75131         * lib/strstr.h (PARAMS): Remove macro.
75132         (strstr): Use ANSI C function declarations.
75133
75134 2002-11-14  Karl Berry  <karl@gnu.org>
75135
75136         * config/mkinstalldirs: `do' on separate line, instead of
75137         `for var; do'.
75138
75139 2002-11-06  Bruno Haible  <bruno@clisp.org>
75140
75141         * lib/gcd.h (gcd): Change argument type to 'unsigned long'.
75142         * lib/gcd.c (gcd): Likewise.
75143
75144 2002-11-05  Bruno Haible  <bruno@clisp.org>
75145
75146         * lib/gcd.h: New file, from gettext-0.11.5.
75147         * lib/gcd.c: New file, from gettext-0.11.5.
75148
75149 2002-11-05  Bruno Haible  <bruno@clisp.org>
75150
75151         * lib/error.c [!_LIBC]: Include gettext.h instead of <libintl.h>.
75152         * lib/getopt.c [!_LIBC]: Include gettext.h instead of <libintl.h>.
75153         * lib/obstack.c [!_LIBC]: Include gettext.h instead of <libintl.h>.
75154         * lib/regex.c [!_LIBC]: Include gettext.h instead of <libintl.h>.
75155
75156         * lib/argmatch.c: Include gettext.h instead of <locale.h> and
75157         <libintl.h>.
75158         * lib/makepath.c: Include gettext.h instead of <locale.h> and
75159         <libintl.h>.
75160
75161         * lib/closeout.c: Include gettext.h instead of <libintl.h>.
75162         * lib/human.c: Include gettext.h instead of <libintl.h>.
75163         * lib/quotearg.c: Include gettext.h instead of <libintl.h>.
75164         * lib/rpmatch.c: Include gettext.h instead of <libintl.h>.
75165         * lib/unicodeio.c: Include gettext.h instead of <libintl.h>.
75166         * lib/userspec.c: Include gettext.h instead of <libintl.h>.
75167         * lib/version-etc.c: Include gettext.h instead of <libintl.h>.
75168         * lib/xmalloc.c: Include gettext.h instead of <libintl.h>.
75169         (textdomain): Remove definition.
75170         * lib/xmemcoll.c: Include gettext.h instead of <libintl.h>.
75171
75172         * lib/long-options.c: Remove include of <libintl.h> and definition of
75173         _.
75174         * lib/same.c: Remove include of <libintl.h> and definition of _.
75175
75176 2002-11-04  Owen Taylor  <otaylor@redhat.com>
75177
75178         * lib/config.charset: A few additions for Solaris.
75179
75180 2002-11-04  Bruno Haible  <haible@clisp.cons.org>
75181
75182         Make it possible to build libcharset with CC=gcc CFLAGS="-x c++".
75183         * lib/localcharset.c (locale_charset): Declare as extern "C".
75184
75185 2002-11-04  Bruno Haible  <haible@clisp.cons.org>
75186
75187         * lib/config.charset: msdos in uk_UA uses CP1125.
75188
75189 2002-11-04  Bruno Haible  <bruno@clisp.org>
75190
75191         * lib/stpcpy.h: New file, from GNU gettext-0.11.5.
75192         * lib/strcase.h: New file, from GNU gettext-0.11.5.
75193         * lib/strpbrk.h: New file, from GNU gettext-0.11.5.
75194         * lib/strstr.h: New file, from GNU gettext-0.11.5.
75195         * lib/xgetcwd.h: New file, from GNU gettext-0.11.5.
75196
75197 2002-11-04  Bruno Haible  <bruno@clisp.org>
75198
75199         * lib/localcharset.c (locale_charset): Don't return an empty string.
75200
75201 2002-11-04  Bruno Haible  <bruno@clisp.org>
75202
75203         * lib/localcharset.c (get_charset_aliases): Add more Windows specific
75204         aliases.
75205
75206 2002-11-04  Bruno Haible  <bruno@clisp.org>
75207
75208         * lib/config.charset: Update for newest glibc. Add canonical names
75209         ISO-8859-14, KOI8-T, TCVN5712-1, GEORGIAN-PS.
75210
75211 2002-11-04  Bruno Haible  <bruno@clisp.org>
75212
75213         * lib/config.charset: Add support for NetBSD.
75214
75215 2002-11-04  Bruno Haible  <bruno@clisp.org>
75216
75217         * lib/config.charset [msdosdjgpp]: For Russian, use CP866.
75218
75219 2002-11-01  Bruno Haible  <bruno@clisp.org>
75220
75221         * configure.in: Add AC_CONFIG_AUX_DIR call.
75222         (AC_OUTPUT): Add m4/Makefile, lib/Makefile. Remove doc/Makefile,
75223         test/Makefile.
75224         * Makefile.in (subdirs): Add m4, lib. Remove doc, test.
75225
75226 2002-09-28  Karl Berry  <karl@gnu.org>
75227
75228         * config/srclist.txt: can't copy install-sh/mkinstalldirs from
75229         installed automake until the next release, since changes have been
75230         made.
75231
75232 2002-09-25  Karl Berry  <karl@gnu.org>
75233
75234         * lib/strdup.c: copy from libc/string (via ../config/srclist*).
75235         * lib/getopt*: copy from libc/posix.
75236         * lib/gettext.h: copy from gettext.
75237         * lib/.cppi-disable: add strdup.c, gettext.h.
75238
75239 2002-09-25  Karl Berry  <karl@gnu.org>
75240
75241         * config/srclist.txt: enable gettext.h check.
75242         * config/config.{guess,sub}: update from prep.
75243         * config/depcomp, install-sh, mdate-sh, missing, mkinstalldirs: update
75244                 from automake 1.6.3.
75245         See srclist*.
75246
75247 2002-08-23  Stefan Monnier  <monnier@cs.yale.edu>
75248
75249         * regex.c (PATFETCH): Remove the translating fetch.
75250         (PATFETCH_RAW): Rename to PATFETCH.
75251         (set_image_of_range): New fun.
75252         (SET_RANGE_TABLE_WORK_AREA): Use it.
75253         (regex_compile): Don't translate the pattern chars so eagerly.
75254         Only do it when inserting an `exactn' bytecode or when handling
75255         a char-range.
75256         (mutually_exclusive_p): Avoid empty statement.
75257
75258 2002-07-06  Jim Meyering  <meyering@lucent.com>
75259
75260         * m4/README: Don't mention Makefile.am.in.
75261         Outline how I've tested changes to .m4 files.  Yep, it's a pain.
75262
75263 2002-07-01  Jim Meyering  <meyering@lucent.com>
75264
75265         * lib/c-stack.c: Include sys/time.h.
75266         From Volker Borchert.
75267
75268 2002-06-26  Paul Eggert  <eggert@twinsun.com>
75269
75270         * m4/fnmatch.m4 (_AC_LIBOBJ_FNMATCH): Check for btowc.
75271
75272 2002-06-26  Paul Eggert  <eggert@twinsun.com>
75273
75274         * lib/fnmatch.c, fnmatch_loop.c (WIDE_CHAR_SUPPORT):
75275         New macro.  Use it uniformly instead of
75276         (defined HAVE_WCTYPE_H && defined HAVE_WCHAR_H).
75277         It also uses HAVE_BTOWC, to fix a porting bug on Solaris 2.5.1
75278         reported by Vin Shelton.
75279
75280 2002-06-22  Paul Eggert  <eggert@twinsun.com>
75281
75282         * lib/c-stack.h (segv_handler, c_stack_action) [! defined SA_SIGINFO]:
75283         Do not assume SA_SIGINFO behavior.
75284         Bug reported by Jim Meyering on NetBSD 1.5.2.
75285
75286 2002-06-22  Jim Meyering  <meyering@lucent.com>
75287
75288         * m4/c-stack.m4: New file, from diffutils-2.8.2.
75289         * m4/prereq.m4 (jm_PREREQ): Add jm_PREREQ_C_STACK.
75290
75291         * m4/jm-macros.m4 (jm_CHECK_ALL_TYPES): Don't require AC__GNU_SOURCE,
75292         now that configure.ac uses AC_GNU_SOURCE.
75293         (jm_MACROS): Rename: jm_FUNC_FNMATCH to AC_FUNC_FNMATCH_GNU.
75294         * m4/prereq.m4 (jm_PREREQ_EXCLUDE): Likewise, wrt jm_FUNC_FNMATCH.
75295
75296         Update to latest tools.  Suggestions from Paul Eggert.
75297         * m4/stdbool.m4: New file, from diffutils-2.8.2.
75298         * m4/gnu-source.m4: Update from diffutils-2.8.2.
75299         * m4/fnmatch.m4: Likewise.
75300         * m4/prereq.m4: Change each use of AC_CHECK_HEADERS(stdbool.h)
75301         to AC_HEADER_STDBOOL
75302
75303 2002-06-22  Jim Meyering  <meyering@lucent.com>
75304
75305         * lib/fnmatch.c (ISASCII, ISPRINT): Undefine, to avoid warning about
75306         redefinition due to Solaris 2.6's definition in /usr/include/sys/euc.h.
75307
75308 2002-06-22  Jim Meyering  <meyering@lucent.com>
75309
75310         * lib/c-stack.c, lib/c-stack.h: New files, from diffutils-2.8.2.
75311
75312         * lib/exitfail.c, exitfail.h: Likewise.
75313         * lib/Makefile.am (libfetish_a_SOURCES): Add exitfail.c and exitfail.h.
75314
75315         * lib/Makefile.am (libfetish_a_SOURCES): Add fnmatch_.h in place
75316         of fnmatch.h.
75317         (EXTRA_DIST): Add fnmatch_loop.c.
75318         (libfetish_a_SOURCES): Add c-stack.c and c-stack.h.
75319
75320         * lib/fnmatch_loop.c: New file, from diffutils-2.8.2.
75321         * lib/fnmatch.c: Update from diffutils-2.8.2.
75322         * lib/fnmatch_.h: New file.  From diffutils-2.8.2.
75323         * lib/fnmatch.h: Remove file.
75324
75325 2002-06-21  Jim Meyering  <meyering@lucent.com>
75326
75327         * m4/c-bs-a.m4: Add comment, from diffutils-2.8.2.
75328         * m4/mbrtowc.m4: Likewise.
75329
75330         * m4/mbstate_t.m4: Update from diffutils-2.8.2.
75331         * m4/mbswidth.m4: Reflect name change:
75332         s/AC_MBSTATE_T/AC_TYPE_MBSTATE_T.
75333         * m4/prereq.m4 (jm_PREREQ_QUOTEARG): Likewise.
75334
75335         * m4/lib-link.m4: Update from gettext-0.11.2.
75336         * m4/gettext.m4: Likewise.
75337
75338         * m4/jm-macros.m4 (jm_CHECK_ALL_HEADERS): Check for hurd.h.
75339         From Alfred M. Szmidt.
75340
75341 2002-06-18  Paul Eggert  <eggert@twinsun.com>
75342
75343         * lib/file-type.h: Report an error if neither S_ISREG nor
75344         S_IFREG is defined, instead of using a test specific to glibc
75345         2.2.  This should be safe, since POSIX requires S_ISREG and
75346         Unix Version 7 had S_IFREG.  We don't need to check for
75347         <sys/types.h> since we don't use any symbols that it defines.
75348
75349 2002-06-15  Richard Dawe  <richdawe@bigfoot.com>
75350
75351         * lib/Makefile.am (lstat.c, stat.c, .sin.sed): Use t-$@, rather than
75352         $@-t, so that each temporary file name is unique and valid in the first
75353         8 characters, for operation under DOS.
75354
75355 2002-06-15  Paul Eggert  <eggert@twinsun.com>
75356
75357         * m4/jm-macros.m4 (jm_CHECK_ALL_TYPES): Check for st_author.
75358
75359 2002-06-15  Jim Meyering  <meyering@lucent.com>
75360
75361         Work even with DJGPP 2.03, which lacks support for symlinks.
75362         From Richard Dawe.
75363         * lib/xstat.in (S_ISLNK): Define to 0 if neither S_ISLNK nor S_IFLNK
75364         is defined.
75365         * lib/lchown.c (S_ISLNK): Likewise.
75366
75367 2002-06-15  Jim Meyering  <meyering@lucent.com>
75368
75369         * lib/file-type.h (FILE_TYPE_H): Guard entire contents with #ifndef.
75370         For GNU libc 2.2 and newer, ensure that <sys/types.h> and <sys/stat.h>
75371         have been included before this file.
75372
75373 2002-06-14  Jim Meyering  <meyering@lucent.com>
75374
75375         * lib/file-type.h: Use the version from diffutils-2.8.2.
75376         * lib/file-type.c: Likewise.
75377
75378 2002-06-07  Jim Meyering  <meyering@lucent.com>
75379
75380         * m4/prereq.m4 (jm_PREREQ_STAT): Check for sys/param.h and sys/mount.h.
75381         They're needed at least for NetBSD 1.5.2.
75382         ($statxfs_includes): Include those same headers.
75383         ($statxfs_includes): Include sys/vfs.h if available.
75384         ($statxfs_includes): Likewise for sys/statvfs.h.
75385         Check for the following members in both structs statfs and statvfs:
75386         f_basetype, f_type, f_fsid.__val, f_namemax, f_namelen.
75387
75388 2002-06-01  Jim Meyering  <meyering@lucent.com>
75389
75390         * m4/d-type.m4 (jm_CHECK_TYPE_STRUCT_DIRENT_D_TYPE): Rename macro:
75391         s/D_TYPE_IN_DIRENT/HAVE_STRUCT_DIRENT_D_TYPE/.
75392
75393 2002-05-28  Jim Meyering  <meyering@lucent.com>
75394
75395         * m4/readdir.m4 (jm_FUNC_READDIR): Undefine `mkdir', not `rmdir'.
75396         Reported by Volker Borchert.
75397
75398 2002-05-27  Jim Meyering  <meyering@lucent.com>
75399
75400         Fix a problem seen only on nonconforming systems whereby ls.c's
75401         use of localtime, and then of gettimeofday would cause trouble:
75402         the localtime call used to initialize rpl_gettimeofday's save
75403         mechanism would clobber ls's current local time information so
75404         that in any long listing the first file would always be listed
75405         with date 1970-01-01.  Analysis by Volker Borchert.
75406
75407         * lib/gettimeofday.c (localtime): Undefine.
75408         (rpl_localtime): New function.
75409
75410 2002-05-27  Jim Meyering  <meyering@lucent.com>
75411
75412         * m4/gettimeofday.m4 (AC_FUNC_GETTIMEOFDAY_CLOBBER): Also replace
75413         localtime.
75414
75415         * m4/readdir.m4 (jm_FUNC_READDIR): Undefine `rmdir' so we don't try to
75416         use the replacement function; it wouldn't resolve at link time.
75417         Reported by Volker Borchert.
75418
75419 2002-05-22  Jim Meyering  <meyering@lucent.com>
75420
75421         * lib/Makefile.am (libfetish_a_SOURCES): Add file-type.c and
75422         file-type.h.
75423         * lib/file-type.h: New file.
75424         * lib/file-type.c (file_type): New file/function.  Extracted from
75425         diffutils.
75426
75427 2002-04-30  Jim Meyering  <meyering@lucent.com>
75428
75429         * m4/prereq.m4 (jm_PREREQ): Add jm_PREREQ_STAT.
75430
75431 2002-04-29  Paul Eggert  <eggert@twinsun.com>
75432
75433         * m4/prereq.m4 (jm_PREREQ_SIG2STR): Remove; all callers changed.
75434
75435 2002-04-29  Paul Eggert  <eggert@twinsun.com>
75436
75437         * m4/prereq.m4 (jm_PREREQ_HARD_LOCALE): Check for stdlib.h.
75438         Do not check for alloca.h (no longer used) or stdbool.h (was never
75439         used?).  Add AM_C_PROTOTYPES since hard-locale.h uses it.
75440
75441 2002-04-29  Paul Eggert  <eggert@twinsun.com>
75442
75443         * lib/hard-locale.c: Upgrade to version used in GNU Diffutils 2.8.1.
75444
75445 2002-04-29  Jim Meyering  <meyering@lucent.com>
75446
75447         * m4/jm-macros.m4 (jm_MACROS): Remove use of AC_FUNC_STRNLEN.
75448         * m4/prereq.m4: Add jm_PREREQ_STRNLEN.
75449         Use AC_FUNC_STRNLEN here instead.
75450
75451         * m4/jm-macros.m4: Don't AC_REQUIRE([AC_PROG_CC_STDC]).
75452         With autoconf-2.53a, it's part of AC_PROG_CC.
75453
75454 2002-04-28  Paul Eggert  <eggert@twinsun.com>
75455
75456         * m4/jm-macros.m4 (jm_MACROS): Add AC_REPLACE_FUNCS(sig2str).
75457         * m4/prereq.m4 (jm_PREREQ): Add jm_PREREQ_SIG2STR.
75458
75459 2002-04-28  Paul Eggert  <eggert@twinsun.com>
75460
75461         * lib/sig2str.h, lib/sig2str.c: New files.
75462         * lib/Makefile.am (libfetish_a_SOURCES): Add sig2str.h.
75463
75464 2002-04-28  Paul Eggert  <eggert@twinsun.com>
75465
75466         * lib/sig2str.h (SIGNUM_BOUND): Do not use WTERMSIG, to avoid
75467         depending on <sys/wait.h> and WTERMSIG.  Default to 64 instead
75468         of 127, since 64 is the largest conceivable number for ancient
75469         nonstandard hosts.
75470         * lib/sig2str.c: Do not include <sys/wait.h>; no longer needed.
75471
75472 2002-04-28  Jim Meyering  <meyering@lucent.com>
75473
75474         * lib/sig2str.c (WTERMSIG): Remove definition (unused).
75475
75476 2002-04-24  Jim Meyering  <meyering@lucent.com>
75477
75478         * m4/prereq.m4 (jm_PREREQ_HARD_LOCALE): New macro.
75479         (jm_PREREQ): Use it.
75480
75481         * m4/getloadavg.m4: Check for these headers: locale.h unistd.h
75482         mach/mach.h fcntl.h.
75483         Check for this function: setlocale.
75484
75485 2002-04-24  Jim Meyering  <meyering@lucent.com>
75486
75487         * lib/gettext.h: New file, from Gettext.
75488         * lib/Makefile.am (INCLUDES): Remove -I../intl.
75489         (libfetish_a_SOURCES): Add gettext.h.
75490
75491 2002-04-16  Jim Meyering  <meyering@lucent.com>
75492
75493         * m4/prereq.m4 (jm_PREREQ_READUTMP): Also check for these members:
75494         ut_pid, ut_id, ut_exit.
75495
75496 2002-04-16  Jim Meyering  <meyering@lucent.com>
75497
75498         * lib/readutmp.h (UT_TYPE): Remove definition (now in who.c).
75499         (HAVE_STRUCT_XTMP_UT_EXIT, HAVE_STRUCT_XTMP_UT_ID): Define.
75500         (HAVE_STRUCT_XTMP_UT_PID, HAVE_STRUCT_XTMP_UT_TYPE): Define.
75501
75502 2002-04-12  Jim Meyering  <meyering@lucent.com>
75503
75504         * m4/ls-mntd-fs.m4 (checking for getmntinfo function...): Remove
75505         now-bogus check for f_type in sys/mount.h.  Instead, just test for the
75506         existence of the getmntinfo function.  Needed for Darwin 5.3.
75507
75508         * m4/dirfd.m4 (UTILS_FUNC_DIRFD): Also detect when dirfd is a macro.
75509         This is necessary at least on Darwin 5.3.
75510
75511         * m4/jm-macros.m4: Don't AC_REPLACE(strnlen), now that we use
75512         AC_FUNC_STRNLEN.  Otherwise, we'd end up putting two copies of
75513         strnlen.o in the library, and that makes some versions of ranlib
75514         object.
75515
75516 2002-04-12  Jim Meyering  <meyering@lucent.com>
75517
75518         * lib/dirfd.h (dirfd): Elide prototype if dirfd is a macro.
75519
75520 2002-04-09  Jim Meyering  <meyering@lucent.com>
75521
75522         * m4/malloc.m4: (jm_FUNC_MALLOC): Change the `checking ...' message
75523         to be more precise.  Rather than saying we're checking whether the
75524         function `works', say what we're testing.
75525         * m4/realloc.m4 (jm_FUNC_REALLOC): Likewise.
75526         Reported by Bruno Haible.
75527
75528 2002-03-10  Jim Meyering  <meyering@lucent.com>
75529
75530         * lib/makepath.c (make_path): Remove a comma from a diagnostic.
75531         Suggestion from Santiago Vila.
75532
75533 2002-03-08  Jim Meyering  <meyering@lucent.com>
75534
75535         * lib/rename.c: Mention that this wrapper is needed also on
75536         mips-dec-ultrix4.4 systems.
75537
75538 2002-03-02  Jim Meyering  <meyering@lucent.com>
75539
75540         * lib/gettime.c (gettime): Test HAVE_CLOCK_GETTIME,
75541         not HAVE_CLOCK_SETTIME.
75542
75543 2002-02-27  Paul Eggert  <eggert@twinsun.com>
75544
75545         * m4/jm-macros.m4 (jm_MACROS): Do not replace stime; no longer used.
75546         Check for clock_settime.
75547
75548 2002-02-27  Paul Eggert  <eggert@twinsun.com>
75549
75550         * lib/nanosleep.h: Rename to....
75551         * lib/timespec.h: New name for nanosleep.h.  All uses changed.
75552
75553         * lib/gettime.c: New file.
75554         * lib/settime.c: New file.
75555         * lib/stime.c: Remove.
75556
75557         * lib/Makefile.am (libfetish_a_SOURCES): Add gettime.c, settime.c,
75558         timespec.h.  Remove nanosleep.h.
75559
75560 2002-02-25  Paul Eggert  <eggert@twinsun.com>
75561
75562         * m4/acl.m4: New file.
75563         * m4/jm-macros.m4 (jm_MACROS): Require AC_FUNC_ACL.
75564         Do not check for acl or sys/acl.h, as AC_FUNC_ACL does that now.
75565
75566 2002-02-25  Paul Eggert  <eggert@twinsun.com>
75567
75568         * lib/acl.c, lib/acl.h: New files.
75569         * lib/Makefile.am (libfetish_a_SOURCES): Add acl.h, acl.c.
75570
75571 2002-02-24  Jim Meyering  <meyering@lucent.com>
75572
75573         * lib/strnlen.c (strnlen): Define-away/undef so that an inconsistent
75574         prototype in string.h (on at least AIX4.3.2.0 w/gcc-2.95.3) doesn't
75575         cause trouble.  Reported by Nelson Beebe.
75576
75577 2002-02-23  Paul Eggert  <eggert@twinsun.com>
75578
75579         * lib/path-concat.c (xpath_concat): Reorder code to pacify
75580         compilers that don't know that xalloc_die never returns.
75581
75582 2002-02-20  Jim Meyering  <meyering@lucent.com>
75583
75584         * lib/getdate.c: Regenerate using bison-1.33.
75585
75586 2002-02-17  Jim Meyering  <meyering@lucent.com>
75587
75588         * config/config.guess (main): Don't use `head -1'; it's no longer
75589         portable. Use `sed 1q' instead.
75590
75591 2002-02-16  gettextize  <bug-gnu-gettext@gnu.org>
75592
75593         * m4/codeset.m4: Upgrade to gettext-0.11.
75594         * m4/gettext.m4: Upgrade to gettext-0.11.
75595         * m4/glibc21.m4: Upgrade to gettext-0.11.
75596         * m4/iconv.m4: Upgrade to gettext-0.11.
75597         * m4/isc-posix.m4: Upgrade to gettext-0.11.
75598         * m4/lcmessage.m4: Upgrade to gettext-0.11.
75599         * m4/lib-ld.m4: New file, from gettext-0.11.
75600         * m4/lib-link.m4: New file, from gettext-0.11.
75601         * m4/lib-prefix.m4: New file, from gettext-0.11.
75602         * m4/progtest.m4: Upgrade to gettext-0.11.
75603
75604 2002-02-15  Paul Eggert  <eggert@twinsun.com>
75605
75606         * m4/prereq.m4 (jm_PREREQ_POSIXVER): New macro.
75607         (jm_PREREQ): Use it.
75608
75609 2002-02-15  Paul Eggert  <eggert@twinsun.com>
75610
75611         * lib/posixver.c, lib/posixver.h: New files.
75612         * lib/Makefile.am (libfetish_a_SOURCES): Add them.
75613
75614 2002-02-02  Paul Eggert  <eggert@twinsun.com>
75615             Bruno Haible  <bruno@clisp.org>
75616
75617         * lib/unicodeio.h (print_unicode_char): Add exit_on_error argument.
75618         (fwrite_success_callback): New declaration.
75619         * lib/unicodeio.c (unicode_to_mb): New function, extracted from
75620         print_unicode_char. Call failure callback instead of error.
75621         (fwrite_success_callback): New function.
75622         (exit_failure_callback): New function.
75623         (fallback_failure_callback): New function.
75624         (print_unicode_char): Call unicode_to_mb.
75625
75626 2002-01-26  Jim Meyering  <meyering@lucent.com>
75627
75628         * m4/jm-macros.m4 (jm_MACROS): Require autoconf-2.52g.
75629         * m4/strnlen.m4: Remove file, now that it's part of autoconf.
75630
75631 2002-01-26  Jim Meyering  <meyering@lucent.com>
75632
75633         * lib/Makefile.am (getdate$U.o): Depend on unlocked-io.h.
75634
75635 2002-01-22  Paul Eggert  <eggert@twinsun.com>
75636
75637         * m4/jm-macros.m4 (jm_MACROS): Require AC_FUNC_FSEEKO.
75638
75639 2002-01-22  Jim Meyering  <meyering@lucent.com>
75640
75641         * lib/Makefile.am (Makefile): Don't depend on $(BUILT_SOURCES).
75642         Otherwise, some versions of automake would omit the rule that makes
75643         Makefile from Makefile.in.
75644
75645 2002-01-21  Paul Eggert  <eggert@twinsun.com>
75646
75647         * lib/xmemcoll.h, lib/xmemcoll.c: New files.
75648         * lib/Makefile.am (libfetish_a_SOURCES): Add them.
75649         * lib/memcoll.c: Include errno.h, and declare errno if not defined.
75650         (memcoll): Set errno to zero if there is no error.
75651
75652         * lib/quotearg.c (quotearg_buffer_restyled):
75653         Fix bug with quoting buffers containing NUL when backslashing escapes.
75654         This bug was exposed by the other changes in this patch.
75655         (quotearg_n_options): New arg ARGSIZE.
75656         All callers changed.
75657         (quoting_options_from_style): New function.
75658         (quotearg_n_style): Use it.
75659         (quotearg_n_style_mem): New function.
75660
75661         * lib/quotearg.h (quotearg_n_style_mem): New function.
75662
75663 2002-01-19  Jim Meyering  <meyering@lucent.com>
75664
75665         * m4/jm-macros.m4 (jm_MACROS): Use AC_FUNC_STRNLEN.
75666         Remove useless quotes: DF_PROG="df".
75667         * m4/strnlen.m4: New file.
75668
75669 2002-01-16  Paul Eggert  <eggert@twinsun.com>
75670
75671         * lib/backupfile.c (ISDIGIT): Comment fix.
75672         * lib/getdate.y (ISDIGIT): Likewise.
75673         * lib/posixtm.c (ISDIGIT, year): Likewise.
75674         * lib/strverscmp.c (ISDIGIT): Likewise.
75675         * lib/userspec.c (ISDIGIT): Likewise.
75676
75677 2002-01-16  Jim Meyering  <meyering@lucent.com>
75678
75679         * lib/getdate.y: Add three semicolons, each just before a closing
75680         brace. Bison (as of version 1.31) no longer papers over that mistake.
75681
75682 2002-01-05  Jim Meyering  <meyering@lucent.com>
75683
75684         * lib/version-etc.c (version_etc_copyright): Update copyright year.
75685
75686 2001-12-19  Paul Eggert  <eggert@twinsun.com>
75687
75688         * lib/closeout.c (close_stdout_status): If ferror (stdout), do
75689         not silently exit merely because the output buffer happens to
75690         have nothing pending.
75691
75692 2001-12-18  Paul Eggert  <eggert@twinsun.com>
75693
75694         See the big note in ../ChangeLog.
75695         * lib/human.c (suffixes): Prefer K to k for 1024.
75696         (generate_suffix_backwards): New function.
75697         (human_readable_inexact): Use it.
75698         * lib/xstrtol.c (__xstrtol): If there is no number but there
75699         is a valid suffix, assume 1.  "MB" now means decimal, "MiB" binary.
75700         Accept 'K' as well as 'k'.
75701
75702 2001-12-15  Jim Meyering  <meyering@lucent.com>
75703
75704         * lib/regex.h (__restrict_arr): Update from libc.
75705
75706         * lib/mountlist.h (ME_REMOTE): Recognize file systems of type smbfs
75707         as `remote' if the name starts with `//'.  Suggested by Michael Stone.
75708         (STREQ): Define.
75709
75710 2001-12-14  Jim Meyering  <meyering@lucent.com>
75711
75712         * m4/jm-macros.m4 (jm_MACROS): Check for iswspace.
75713         Suggestion from Bruno Haible.
75714
75715 2001-12-10  Jim Meyering  <meyering@lucent.com>
75716
75717         * lib/linebuffer.c: Remove explicit declarations of xmalloc and
75718         xrealloc, Instead, include "xalloc.h".
75719         (initbuffer): Don't cast xmalloc return value to char*.
75720         (readline): Reword comment.
75721         Don't cast xrealloc return value to char*
75722         Return NULL, not 0.
75723
75724 2001-12-09  Jim Meyering  <meyering@lucent.com>
75725
75726         * lib/modechange.c (mode_compile): Add cast to avoid pedantic warning
75727         about `signed and unsigned type in conditional expression'.
75728         * lib/posixtm.c (posix_time_parse): Likewise.
75729
75730         * lib/xreadlink.c (xreadlink): Add cast to avoid a pedantic warning.
75731
75732         * lib/readtokens.c (readtoken): Declare an index to be of type unsigned
75733         to avoid a pedantic warning.
75734
75735         * lib/getstr.c: Don't include assert.h.
75736         (getstr): Remove warning-evoking assertions.
75737         Return -1 if offset parameter is out of bounds.
75738         Change the type of a local from int to size_t.
75739
75740         * lib/strftime.c (my_strftime_localtime_r): Include this function
75741         definition in the `#if ! HAVE_TM_GMTOFF' block.
75742
75743         * lib/xgethostname.c: Remove declarations of xmalloc and xrealloc.
75744         Include xalloc.h instead.
75745
75746 2001-12-02  Jim Meyering  <meyering@lucent.com>
75747
75748         * lib/tempname.c: Don't declare getenv, thus reverting the change of
75749         2001-11-18.  It's no longer necessary, now that stdlib.h is always
75750         included.
75751
75752         * lib/regex.c [!__BOUNDED_POINTERS__]: Define away __bounded,
75753         __unbounded, and __ptrvalue.  Reported by Uwe H. Steinfeld.
75754
75755 2001-11-30  Akim Demaille  <akim@epita.fr>
75756
75757         * lib/xstrdup.c: Include xalloc.h, so that xstrdup is declared
75758         before being defined.
75759
75760 2001-11-27  Paul Eggert  <eggert@twinsun.com>
75761
75762         * lib/quotearg.h (quotearg_n, quotearg_n_style):
75763         First arg is int, not unsigned.
75764         * lib/quotearg.c (quotearg_n, quotearg_n_style): Likewise.
75765         (SIZE_MAX, UINT_MAX): New macros.
75766         (quotearg_n_options): Abort if N is negative.
75767         Avoid overflow check on hosts where size_t is 64 bits and int
75768         is 32 bits, as overflow is impossible there.
75769         Fix off-by-one typo that caused unnecessary reallocation.
75770
75771 2001-11-27  Jim Meyering  <meyering@lucent.com>
75772
75773         * lib/tempname.c: Merge with version from libc.
75774         * lib/regex.c: Likewise.
75775
75776         * lib/tempname.c: Include stdlib.h unconditionally.  On some old
75777         systems for which STDC_HEADERS is 0, it was not included, resulting in
75778         a warning about an integer-to-pointer conversion problem with getenv.
75779         Reported by Volker Borchert.
75780
75781 2001-11-26  Jim Meyering  <meyering@lucent.com>
75782
75783         * lib/gtod.h: Remove file.
75784         * lib/Makefile.am (libfetish_a_SOURCES): Remove gtod.h.
75785         * lib/gettimeofday.c: Don't include gtod.h.
75786         (GTOD_init): Remove function.
75787         (rpl_gettimeofday): Do its job here instead, rather than aborting.
75788         Suggestion from Volker Borchert.
75789
75790 2001-11-23  Jim Meyering  <meyering@lucent.com>
75791
75792         * lib/hash.h (struct hash_table): Don't define here.  Merely declare
75793         it.
75794         * lib/hash.c (struct hash_table): Define it here instead.
75795
75796 2001-11-22  Jim Meyering  <meyering@lucent.com>
75797
75798         * lib/hash.h: Bracket contents of file with #ifndef HASH_H_ ... #endif.
75799
75800 2001-11-20  Jim Meyering  <meyering@lucent.com>
75801
75802         * m4/mkstemp.m4 (UTILS_FUNC_MKSTEMP): Update comment to reflect that
75803         SunOS 4.1.4 and Solaris 2.5.1 lose, too.
75804
75805 2001-11-19  Jim Meyering  <meyering@lucent.com>
75806
75807         * m4/mkstemp.m4 (UTILS_FUNC_MKSTEMP): Don't bother with a temporary
75808         directory.  Use "conftestXXXXXX" as the template.
75809         Suggestion from Paul Eggert.
75810
75811         * m4/mkstemp.m4 (UTILS_FUNC_MKSTEMP): Close each descriptor
75812         immediately, so the test doesn't mistakenly hit the max-open-files
75813         limit.
75814
75815 2001-11-18  Paul Eggert  <eggert@twinsun.com>
75816
75817         * lib/tempname.c (TMP_MAX): Remove; no longer needed.
75818         (TEMPORARIES): New macro.
75819         (__gen_tempname): Use TEMPORARIES rather than TMP_MAX.  This
75820         removes an artificial limitation (e.g. HP-UX 10.20, where
75821         TMP_MAX is 17576).
75822
75823 2001-11-18  Jim Meyering  <meyering@lucent.com>
75824
75825         * m4/prereq.m4 (jm_PREREQ_TEMPNAME): Check for declaration of getenv.
75826
75827 2001-11-18  Jim Meyering  <meyering@lucent.com>
75828
75829         * lib/tempname.c [!HAVE_DECL_GETENV]: Declare getenv to avoid warning
75830         on SunOS 4.
75831
75832         * lib/Makefile.am (Makefile): Depend on $(BUILT_SOURCES), so those
75833         files will be created before anything else.
75834
75835 2001-11-17  Paul Eggert  <eggert@twinsun.com>
75836
75837         * m4/jm-winsz1.m4 (jm_WINSIZE_IN_PTEM): Do not define
75838         WINSIZE_IN_PTEM if <termios.h> defines struct winsize.
75839
75840 2001-11-17  Jim Meyering  <meyering@lucent.com>
75841
75842         * m4/mkstemp.m4 (UTILS_FUNC_MKSTEMP): New file and macro.
75843         Prompted by a report from Bob Proulx.
75844
75845         * m4/jm-macros.m4 (jm_MACROS): Don't test for mkstemp here.
75846         Instead, require UTILS_FUNC_MKSTEMP.
75847
75848 2001-11-17  Jim Meyering  <meyering@lucent.com>
75849
75850         * m4/jm-macros.m4 (jm_MACROS): Remove code to set POW_LIBM.
75851         Now, that's done as part of AC_FUNC_STRTOD.
75852
75853 2001-11-17  Jim Meyering  <meyering@lucent.com>
75854
75855         * lib/modechange.c (mode_adjust): Fix error introduced on 1999-04-26
75856         that made e.g., `chmod a=,o=w,g=o F' cause F to be group readable
75857         rather than group writable.  Patch by Juan F. Codagnone.
75858
75859         * lib/readtokens.c: Remove explicit declarations of xmalloc and
75860         xrealloc, Instead, include "xalloc.h".
75861
75862         * lib/mountlist.c: Include unlocked-io.h after all system headers.
75863         Remove explicit declarations of xmalloc, xrealloc,
75864         and xstrdup.  Instead, include "xalloc.h".
75865
75866         * lib/argmatch.c, closeout.c, error.c, exclude.c: Include
75867         unlocked-io.h.
75868         * lib/fatal.c, getdate.y, getpass.c, getstr.c, getusershell.c:
75869         Likewise.
75870         * lib/mountlist.c, posixtm.c, readtokens.c, readutmp.c: Likewise.
75871
75872         * lib/regex.c, sha.c, version-etc.c, yesno.c: Likewise.
75873         Reported by Padraig Brady.
75874
75875         * lib/mkstemp.c: #undef mkstemp.
75876         Include config.h.
75877         (rpl_mkstemp): Rename from mkstemp.
75878         Protoize.
75879
75880 2001-11-16  Jim Meyering  <meyering@lucent.com>
75881
75882         * lib/physmem.c [HAVE_SYS_PSTAT_H]: Include <sys/pstat.h>.
75883         (physmem_total) [HAVE_PSTAT_GETSTATIC]: If sysconf couldn't be used to
75884         determine the amount of total physical memory, use pstat_getstatic.
75885         HPUX-11 doesn't define _SC_PHYS_PAGES.
75886         (physmem_available) [HAVE_PSTAT_GETSTATIC && HAVE_PSTAT_GETDYNAMIC]:
75887         If sysconf couldn't be used to determine the amount of available
75888         physical memory, use both pstat_getstatic and pstat_getdynamic.
75889         Based on a patch from Bob Proulx.
75890
75891 2001-11-10  Jim Meyering  <meyering@lucent.com>
75892
75893         * m4/prereq.m4 (jm_PREREQ_PHYSMEM): New function.
75894         (jm_PREREQ): Use it.
75895
75896 2001-11-09  Jim Meyering  <meyering@lucent.com>
75897
75898         * m4/jm-macros.m4: Require autoconf-2.52f.
75899         (AC_FUNC_ERROR_AT_LINE, AC_FUNC_OBSTACK, AC_FUNC_STRTOD):
75900         Use these AC_-prefixed names, not the AM_-prefixed ones.
75901
75902         * m4/afs.m4 (jm_AFS): Quote the body.  Patch by Akim Demaille.
75903
75904 2001-11-05  Jim Meyering  <meyering@lucent.com>
75905
75906         * lib/xstat.in (slash_aware_lstat): Correct a misleading comment.
75907
75908 2001-11-04  Jim Meyering  <meyering@lucent.com>
75909
75910         * m4/fpending.m4: Remove unused cruft that saved, set, and restored
75911         $DEFS.
75912
75913 2001-11-03  Jim Meyering  <meyering@lucent.com>
75914
75915         * m4/jm-glibc-io.m4n (jm_FUNC_GLIBC_UNLOCKED_IO): Quote first arg
75916         of AC_DEFUN.
75917
75918         * m4/dirfd.m4 (UTILS_FUNC_DIRFD): Rework so dirfd.c doesn't have to
75919         know the name of the variable in the macro definition.
75920
75921 2001-11-03  Jim Meyering  <meyering@lucent.com>
75922
75923         * lib/argmatch.h (ARGMATCH_TO_ARGUMENT): Remove casts of first two args
75924         in argmatch_to_argument call.
75925
75926         * lib/dirfd.c (dirfd): Reflect the fact that DIR_TO_FD now takes an
75927         argument.
75928
75929         * lib/hash.c (hash_clear): Fix a bug that could lead to an infloop or
75930         e.g., a fault due to an attempt to free a NULL pointer.
75931
75932 2001-11-01  Jim Meyering  <meyering@lucent.com>
75933
75934         * m4/dirfd.m4 (UTILS_FUNC_DIRFD): New macro.
75935         * m4/jm-macros.m4 (jm_MACROS): Require UTILS_FUNC_DIRFD.
75936
75937 2001-11-01  Jim Meyering  <meyering@lucent.com>
75938
75939         * lib/dirfd.c, lib/dirfd.h: New files.
75940         * lib/Makefile.am (libfetish_a_SOURCES): Add dirfd.h.
75941
75942         * lib/hash.c (hash_print) [TESTING]: Clean up.
75943
75944 2001-10-22  Paul Eggert  <eggert@twinsun.com>
75945
75946         * lib/hard-locale.c (alloca): Define to __builtin_alloca if __GNUC__,
75947         to avoid a warning if -Wall.
75948
75949 2001-10-22  Jeff Bailey  <jbailey@outpost.dnsalias.org>
75950
75951         * README: New file
75952         * doc/*: Add COPYING, COPYING.LIB, COPYING.DOC, fdl.texi
75953         (per RMS's instructions, this is now the canonical source)
75954         * lgpl/, gpl/: New directories.
75955
75956 2001-10-21  Paul Eggert  <eggert@twinsun.com>
75957
75958         * lib/regex.c (uintptr_t): Remove macro and decl; it's config.h's job.
75959
75960 2001-10-21  Jim Meyering  <meyering@lucent.com>
75961
75962         * lib/obstack.c (_): Honor the setting of ENABLE_NLS.  Otherwise,
75963         this code would end up calling gettext even in packages built
75964         with --disable-nls.
75965         * lib/getopt.c (_): Likewise.
75966         * lib/regex.c (_): Likewise.
75967
75968 2001-10-20  Paul Eggert  <eggert@twinsun.com>
75969
75970         * m4/error.m4 (jm_PREREQ_ERROR):
75971         Do not invoke AC_CHECK_FUNCS with strerror_r, as
75972         AC_FUNC_STRERROR_R does that.
75973         Check for strerror declaration.
75974
75975         * m4/strerror_r.m4: Add copyright notice, as nontrivial m4 files
75976         are supposed to have them these days.
75977         (AC_FUNC_STRERROR_R): Always do char* test, so that it gets cached.
75978         Merge changes from latest Autoconf CVS.
75979         Rename ac_cv_func_strerror_r_works to ac_cv_func_strerror_r_char_p,
75980         and rename HAVE_WORKING_STRERROR_R to STRERROR_R_CHAR_P, since
75981         POSIX decided to standardize on the int flavor of strerror_r.
75982
75983 2001-10-20  Paul Eggert  <eggert@twinsun.com>
75984
75985         * lib/error.c (strerror_r): Do not declare unless !_LIBC.
75986         Do not check for HAVE_DECL_STRERROR_R missing unless STRERROR_R_CHAR_P.
75987         Use strerror_r that is only a macro, even if it is not a function.
75988         (strerror): Check for HAVE_DECL_STRERROR before declaring.
75989         (private_strerror): Use prototypes, not old-style function definition.
75990         (print_errno_message): New function.
75991         Support the POSIX 'int'-flavored strerror_r, as well as the traditional
75992         char*-flavored one.
75993         (error_tail, error, error_at_line): Use it.
75994
75995 2001-10-11  Jim Meyering  <meyering@lucent.com>
75996
75997         * lib/argmatch.c (argmatch_invalid): Use quotearg_n_style (0, ...
75998         and quote_n (1, ... to avoid clobbering a buffer.
75999
76000 2001-10-05  Jim Meyering  <meyering@lucent.com>
76001
76002         * lib/Makefile.am: (libfetish_a_SOURCES): Add hash-pjw.c and
76003         hash-pjw.h.
76004         * lib/hash-pjw.c: New file (factored out of fileutils' remove.c).
76005         * lib/hash-pjw.h: New file.
76006
76007 2001-09-30  Jim Meyering  <meyering@lucent.com>
76008
76009         * m4/ls-mntd-fs.m4 (jm_LIST_MOUNTED_FILESYSTEMS): See if
76010         `struct fsstat' has the `f_fstypename' member.
76011         Use that to define FS_TYPE, which is now used to make
76012         the getfsstat link test tighter.
76013
76014 2001-09-30  Jim Meyering  <meyering@lucent.com>
76015
76016         * lib/mountlist.c [MOUNTED_GETFSSTAT]:
76017         Include <sys/ucred.h>, for Apple Darwin.
76018         Include sys/mount.h and sys/fs_types.h only if available.
76019         (FS_TYPE): Define.
76020         (read_filesystem_list): Use FS_TYPE.
76021
76022 2001-09-29  Paul Eggert  <eggert@twinsun.com>
76023
76024         * lib/exclude.c (excluded_filename): 0 -> false, since it's
76025         a boolean context.
76026
76027 2001-09-29  Jim Meyering  <meyering@lucent.com>
76028
76029         * m4/ls-mntd-fs.m4 (jm_LIST_MOUNTED_FILESYSTEMS)
76030         [one-argument getmntent function]): Include stdio.h before mntent.h.
76031         SunOS 4.1.x needs it for the declaration of `FILE'.
76032         Patch by Volker Borchert.
76033
76034         * m4/ls-mntd-fs.m4 (jm_LIST_MOUNTED_FILESYSTEMS)
76035         Check for these headers: sys/param.h sys/ucred.h sys/mount.h
76036         sys/fs_types.h, and make the link-test for getfsstat guard #include
76037         directives with appropriate #if HAVE_*_H tests so that we can
76038         detect getfsstat on Apple Darwin1.3.7 systems.
76039         Reported by Nelson Beebe.
76040         Fix harmless typo in cache variable name: s/getsstat/getfsstat/.
76041
76042 2001-09-28  Paul Eggert  <eggert@twinsun.com>
76043
76044         Fix bug reported by Petter Reinholdtsen for HP-UX 10.20, which
76045         #defines strtoimax.  Also treat the other strto* functions
76046         like strtoimax.
76047
76048         * m4/xstrtoimax.m4 (jm_AC_PREREQ_XSTRTOIMAX):
76049         Check for strtoul and strtoumax,
76050         as those declarations are made even in the signed case.
76051         * m4/xstrtoumax.m4 (jm_AC_PREREQ_XSTRTOUMAX):
76052         Likewise, for strtol and strtoimax.
76053
76054 2001-09-28  Paul Eggert  <eggert@twinsun.com>
76055
76056         Fix bug reported by Petter Reinholdtsen for HP-UX 10.20, which
76057         #defines strtoimax.  Also treat the other strto* functions
76058         like strtoimax.
76059
76060         * lib/xstrtol.c (strtol): Do not declare if HAVE_DECL_STRTOL.
76061         (strtoul): Do not declare if HAVE_DECL_STRTOUL.
76062         (strtoimax, strtoumax): Do not declare if already defined as a macro.
76063
76064 2001-09-26  Jim Meyering  <meyering@lucent.com>
76065
76066         Most macros in unlocked-io.h had the wrong number of arguments.
76067         * lib/gen-uio: New script.
76068         (USE_UNLOCKED_IO): Define to 1 if not already defined.
76069         * lib/unlocked-io.hin: Remove file.
76070         * lib/Makefile.am (unlocked-io.h): Rewrite to use a separate script,
76071         rather than trying to embed it here.
76072         (EXTRA_DIST): Add gen-uio.  Remove unlocked-io.hin
76073         Reported by Padraig Brady.
76074
76075 2001-09-25  Volker Borchert  <bt@teknon.de>
76076
76077         * lib/gettimeofday.c (rpl_gettimeofday): Declare local variable
76078         `result'.
76079
76080 2001-09-24  Jim Meyering  <meyering@lucent.com>
76081
76082         * m4/gettext.m4: Use the version from gettext-0.10.40, not CVS.
76083
76084 2001-09-23  Jim Meyering  <meyering@lucent.com>
76085
76086         * m4/ls-mntd-fs.m4 (jm_LIST_MOUNTED_FILESYSTEMS): Add a compile-test
76087         instead of the mere test for existence of mntent.h.  The latter
76088         would get a false-positive on AIX 3.4 systems.
76089         In the outer getmntent if-block, don't die if neither of the getmntent
76090         tests succeeds.  Instead, just fall through and continue with the
76091         remaining tests.
76092
76093 2001-09-23  Jim Meyering  <meyering@lucent.com>
76094
76095         * lib/mountlist.c: Remove useless parentheses in #if directives.
76096         (MOUNTED) [!defined MOUNTED]: Define to _PATH_MOUNTED, for when
76097         the deprecated MOUNTED symbol is no longer defined in mntent.h.
76098
76099 2001-09-22  Jim Meyering  <meyering@lucent.com>
76100
76101         * m4/gettext.m4: New file.  From gettext.
76102         * m4/lcmessage.m4: Sync with gettext -- this changes only comments.
76103         * m4/progtest.m4: Likewise
76104         * m4/isc-posix.m4: Decrement serial number to sync with gettext.
76105         * m4/glibc21.m4: Likewise.
76106
76107         * m4/libintl.m4: Remove.  No longer used.
76108
76109 2001-09-22  Jim Meyering  <meyering@lucent.com>
76110
76111         * lib/localcharset.c: Update from latest gettext.
76112         * lib/config.charset: Likewise.
76113
76114 2001-09-20  Jim Meyering  <meyering@lucent.com>
76115
76116         * m4/xstrtoimax.m4 (jm_AC_PREREQ_XSTRTOIMAX): Check for declaration of
76117         strtoimax.
76118         * m4/xstrtoumax.m4 (jm_AC_PREREQ_XSTRTOUMAX): Check for declaration of
76119         strtoumax.
76120
76121 2001-09-20  Jim Meyering  <meyering@lucent.com>
76122
76123         * lib/xstrtol.c (strtoimax): Guard declaration with
76124         `#if !HAVE_DECL_STRTOIMAX', rather than just `#ifndef strtoimax'.
76125         The latter fails because some systems (at least rs6000-ibm-aix4.3.3.0)
76126         have their own, conflicting declaration of strtoimax in sys/inttypes.h.
76127         (strtoumax): Likewise, for completeness (it wasn't necessary).
76128
76129 2001-09-17  Paul Eggert  <eggert@twinsun.com>
76130
76131         * lib/strtoimax.c (HAVE_LONG_LONG):
76132         Redefine to HAVE_UNSIGNED_LONG_LONG if unsigned.
76133         (strtoimax): Use sizeof (long), not sizeof strtol (ptr, endptr, base),
76134         to work around bug in IBM C compiler.
76135
76136 2001-09-17  Jim Meyering  <meyering@lucent.com>
76137
76138         * m4/chown.m4, fstypename.m4, getgroups.m4, gettimeofday.m4,
76139         * m4/jm-mktime.m4, lstat.m4, malloc.m4, memcmp.m4, mkdir-slash.m4,
76140         * m4/nanosleep.m4, putenv.m4, readdir.m4, realloc.m4, rename.m4,
76141         * m4/st_dm_mode.m4, stat.m4, strerror_r.m4, timespec.m4, utimbuf.m4,
76142         * m4/utimes.m4: Use AC_DEFINE rather than AC_DEFINE_UNQUOTED,
76143         whenever the right hand side need not be expanded by the shell.
76144
76145 2001-09-16  Paul Eggert  <eggert@twinsun.com>
76146
76147         * m4/fnmatch.m4 (jm_FUNC_FNMATCH): Remove test for GNU C
76148         library.  It's not correct, as some older glibcs are buggy.
76149         fnmatch wasn't fixed until glibc 2.2.
76150
76151         Use AC_DEFINE, not AC_DEFINE_UNQUOTED, as there's no
76152         special shell magic here.
76153
76154 2001-09-16  Jim Meyering  <meyering@lucent.com>
76155
76156         * m4/mkdir-slash.m4 (UTILS_FUNC_MKDIR_TRAILING_SLASH): New file/macro.
76157         * m4/jm-macros.m4: Require it.
76158
76159 2001-09-16  Jim Meyering  <meyering@lucent.com>
76160
76161         * lib/mkdir.c: New file.
76162
76163 2001-09-15  Jim Meyering  <meyering@lucent.com>
76164
76165         * m4/jm-macros.m4: Check for help2man.
76166
76167 2001-09-11  Jim Meyering  <meyering@lucent.com>
76168
76169         * m4/host-os.m4 (UTILS_HOST_OS): New file/macro.
76170         The body, by Paul Eggert, was moved here from configure.in.
76171         * m4/jm-macros.m4: Require UTILS_HOST_OS.
76172
76173 2001-09-04  Paul Eggert  <eggert@twinsun.com>
76174
76175         * m4/prereq.m4 (jm_PREREQ_XREADLINK): New macro.
76176         (jm_PREREQ): Use it.
76177
76178 2001-09-04  Paul Eggert  <eggert@twinsun.com>
76179
76180         * lib/xreadlink.c (xreadlink): Omit size_t* arg.  All uses changed.
76181         Use ssize_t, not int, to store result of readlink.
76182         Check for ssize_t overflow as well as size_t overflow,
76183         as POSIX says the result of readlink is implementation-defined
76184         when ssize_t overflows.
76185         Remove unnecessary cast to char*.
76186         Use free+malloc instead of realloc, as the storage doesn't need
76187         to be preserved and it's clearer and can be more efficient that way.
76188         (SIZE_MAX, SSIZE_MAX): New macros, if <limits.h> doesn't declare.
76189         * lib/xreadlink.h (xreadlink): Update prototype.
76190
76191 2001-09-04  Paul Eggert  <eggert@twinsun.com>
76192
76193         * lib/xgetcwd.c: Revert some of the previous change; intead,
76194         fix the HAVE_GETCWD_NULL code to behave more like the
76195         !HAVE_GETCWD_NULL code used to.
76196
76197         Include "xalloc.h".
76198         (xgetcwd): Do not return NULL when memory is exhausted; instead,
76199         invoke xalloc_die.
76200
76201 2001-09-03  Paul Eggert  <eggert@twinsun.com>
76202
76203         * m4/prereq.m4 (jm_PREREQ_XGETCWD): Check for limits.h and
76204         sys/param.h, as pathmax.h includes them.
76205
76206 2001-09-03  Paul Eggert  <eggert@twinsun.com>
76207
76208         * m4/prereq.m4 (jm_PREREQ): Add jm_PREREQ_XGETCWD.
76209         (jm_PREREQ_XGETCWD): New macro.
76210
76211         * m4/getcwd.m4: New file.
76212
76213 2001-09-03  Paul Eggert  <eggert@twinsun.com>
76214
76215         * lib/xgetcwd.c: Fix the !HAVE_GETCWD_NULL code to behave more
76216         like the HAVE_GETCWD_NULL code.
76217         Include pathmax.h if not HAVE_GETCWD.
76218         Do not include xalloc.h.
76219         (INITIAL_BUFFER_SIZE): New symbol.
76220         Do not use xmalloc / xrealloc, since the caller is responsible for
76221         handling errors.  Preserve errno around `free' during failure.
76222         Do not overrun buffer when using getwd.
76223
76224 2001-09-03  Paul Eggert  <eggert@twinsun.com>
76225
76226         * lib/xgetcwd.c (xgetcwd): Use HAVE_GETCWD_NULL, not (defined
76227         __GLIBC__ && __GLIBC__ >= 2), to decide whether to use
76228         getcwd (NULL, 0).
76229
76230 2001-09-03  Paul Eggert  <eggert@twinsun.com>
76231
76232         * lib/exclude.c (fnmatch_no_wildcards): Fix confusion between
76233         usage of FNM_CASEFOLD and FNM_LEADING_DIR.  The bug was
76234         spotted by Jim Meyering.
76235
76236 2001-09-03  Jim Meyering  <meyering@lucent.com>
76237
76238         * lib/xreadlink.c (xreadlink): Preserve errno around `free' during
76239         failure.
76240
76241 2001-09-02  Jim Meyering  <meyering@lucent.com>
76242
76243         * lib/error.c: Update from GNU libc.
76244
76245 2001-09-01  Jim Meyering  <meyering@lucent.com>
76246
76247         * m4/jm-macros.m4 (jm_MACROS): Check for canonicalize_file_name.
76248         Used by df.
76249
76250 2001-09-01  Jim Meyering  <meyering@lucent.com>
76251
76252         * lib/xreadlink.c: New file.
76253         * lib/xreadlink.h: New file.
76254         * lib/Makefile.am (libfetish_a_SOURCES): Add xreadlink.c and
76255         xreadlink.h.
76256
76257         * lib/regex.c (uintptr_t) [!_LIBC]: Define to private_uintptr_t, so it
76258         doesn't conflict with sparc Solaris 7's definition in
76259         /usr/include/sys/int_types.h.
76260
76261         * lib/exclude.c: Use `""', not `<>' to #include non-system header
76262         files.
76263         (fnmatch_no_wildcards): Rewrite not to use function names, strcasecmp
76264         and strncasecmp as r-values.  Unixware didn't have declarations.
76265
76266 2001-08-31  Paul Eggert  <eggert@twinsun.com>
76267
76268         * lib/xstrtol.h: Add copyright notice.
76269         (_DECLARE_XSTRTOL): Improve quality of diagnostic for
76270         LONGINT_INVALID_SUFFIX_CHAR.
76271
76272 2001-08-31  Paul Eggert  <eggert@twinsun.com>
76273
76274         * lib/xstrtol.c (strtoimax): New decl.
76275
76276 2001-08-31  Paul Eggert  <eggert@twinsun.com>
76277
76278         * lib/xgetcwd.c: Don't include pathmax.h.
76279         Include stdlib.h and unistd.h if available.
76280         Include xalloc.h.
76281         (xmalloc, xstrdup, free): Remove decls.
76282         (xgetcwd): Don't assume sizes fit in unsigned.
76283         Check for overflow when computing sizes.
76284         Simplify reallocation code.
76285
76286 2001-08-31  Paul Eggert  <eggert@twinsun.com>
76287
76288         * lib/savedir.c (savedir): Remove size parameter, as POSIX says that
76289         a directory's st_size can have an arbitrary value, so the old
76290         usage could waste an arbitrary amount of memory.  All uses
76291         changed.
76292         * lib/savedir.h: Update prototype.
76293
76294 2001-08-31  Paul Eggert  <eggert@twinsun.com>
76295
76296         * lib/Makefile.am (libfetish_a_SOURCES): Remove strtoxmax.c.
76297
76298         * lib/strtoimax.c: Renamed from strtoxmax.c, removing the
76299         old strtoimax.c.
76300
76301         Also, make the following further changes to make this file's
76302         configuration more similar to that of strtol.c:
76303         (UNSIGNED): Renamed from STRTOUXMAX_UNSIGNED.  All uses changed.
76304         (strtoumax, uintmax_t, strtoull, strtol): Remove.
76305         (intmax_t, strtoimax, strtol, strtoll): New macros, if UNSIGNED.
76306         (strtoimax): Renamed from strtoumax.  All uses of unsigned values
76307         changed to signed values.
76308
76309         And make the following changes as well:
76310         Fix copyright notice, as 1999 was missing.
76311         (verify): New macro.
76312         (strtoimax): Check sizes at compile-time, not run-time.
76313         Prefer strtol to strtoll if both work.
76314         (main): Remove; it was not that useful and was a pain to maintain.
76315
76316         * lib/strtoumax.c: Include strtoimax.c, not strtouxmax.c.
76317
76318 2001-08-31  Jim Meyering  <meyering@lucent.com>
76319
76320         * lib/xgetcwd.c (xgetcwd): Reorganize to avoid some duplication.
76321         Use an initial, malloc'd, buffer of length 128 rather than
76322         a statically allocated one of length 1024.
76323
76324 2001-08-30  Paul Eggert  <eggert@twinsun.com>
76325
76326         Simplify code, partly by assuming autoconf 2.52 semantics.
76327
76328         * m4/Makefile.am (EXTRA_DIST): Remove uintmax_t.m4.
76329
76330         * m4/inttypes.m4 (AC_PREREQ): Bump to 2.52.
76331         (jm_AC_HEADER_INTTYPES_H): Remove; now done by autoconf in 2.52.
76332         All uses removed.
76333         (jm_AC_TYPE_INTMAX_T, jm_AC_TYPE_UINTMAX_T):
76334         Move AC_REQUIRE to next-to-top level, to avoid confusion.
76335         Use 2.52's AC_CHECK_TYPE instead of merely looking for the header.
76336         * m4/prereq.m4 (jm_PREREQ_HUMAN): Don't require
76337         jm_AC_HEADER_INTTYPES_H.
76338         * m4/jm-macros.m4 (jm_MACROS): Likewise.
76339
76340         * m4/uintmax_t.m4: Remove, as it duplicates inttypes.m4.
76341
76342         * m4/xstrtoimax.m4 (jm_AC_PREREQ_XSTRTOIMAX):
76343         Quote first arg of AC_DEFUN.
76344         Require jm_AC_TYPE_UINTMAX_T and jm_AC_TYPE_UNSIGNED_LONG_LONG
76345         since they are needed to parse the include file even if we need
76346         only xstrtoimax.  Simplify logic behind the args to AC_REPLACE.
76347         * m4/xstrtoumax.m4 (jm_AC_PREREQ_XSTRTOUMAX): Likewise,
76348         but with opposite signedness.
76349
76350 2001-08-30  Paul Eggert  <eggert@twinsun.com>
76351
76352         Merge 'exclude' changes from tar 1.13.22.
76353         This fixes one or two unlikely storage allocation overflow bugs,
76354         but doesn't change user-visible behavior otherwise.
76355
76356 2001-08-30  Paul Eggert  <eggert@twinsun.com>
76357
76358         * m4/prereq.m4 (jm_PREREQ): Add jm_PREREQ_EXCLUDE.
76359         (jm_PREREQ_EXCLUDE): New macro.
76360
76361 2001-08-30  Paul Eggert  <eggert@twinsun.com>
76362
76363         * lib/quotearg.c: BSD/OS 4.1 wchar.h requires FILE and struct
76364         tm to be declared.
76365
76366 2001-08-30  Paul Eggert  <eggert@twinsun.com>
76367
76368         * lib/hash.c: Remove '2001' from copyright notice.
76369
76370 2001-08-30  Paul Eggert  <eggert@twinsun.com>
76371
76372         * lib/full-write.h: New file.
76373         * lib/Makefile.am (libfetish_a_SOURCES): Add full-write.h.
76374         * lib/full-write.c: Correct credits, as cccp.c no longer
76375         exists and anyway it was so heavily changed from the old cccp
76376         code as to be unrecognizable.  Include full-write.h.
76377         (full_write) Return size_t, with short writes meaning failure.
76378         All callers changed.  This fixes a bug with large buffers
76379         on 64-bit hosts.
76380         * lib/utime.c: Include full-write.h.
76381
76382 2001-08-30  Paul Eggert  <eggert@twinsun.com>
76383
76384         * lib/exclude.c (bool): Declare, perhaps by including stdbool.h.
76385         (<sys/types.h>): Include only if HAVE_SYS_TYPES_H.
76386         (<stdlib.h>, <string.h>, <strings.h>, <inttypes.h>, <stdint.h>):
76387         Include if available.
76388         (<xalloc.h>): Include
76389         (SIZE_MAX): Define if <stdint.h> or <inttypes.h> doesn't.
76390         (verify): New macro.  Use it to verify that EXCLUDE macros do not
76391         collide with FNM macros.
76392         (struct patopts): New struct.
76393         (struct exclude): Use it, as exclude patterns now come with options.
76394         (new_exclude): Support above changes.
76395         (new_exclude, add_exclude_file):
76396         Initial size must now be a power of two to simplify overflow checking.
76397         (free_exclude, fnmatch_no_wildcards): New function.
76398         (excluded_filename): No longer requires options arg, as the options
76399         are determined by add_exclude.  Now returns bool, not int.
76400         (excluded_filename, add_exclude):
76401         Add support for the fancy new exclusion options.
76402         (add_exclude, add_exclude_file): Now takes int options arg.
76403         Check for arithmetic overflow when computing sizes.
76404         (add_exclude_file): xrealloc might modify errno, so don't
76405         realloc until after errno might be used.
76406
76407         * lib/exclude.h (EXCLUDE_ANCHORED, EXCLUDE_INCLUDE,EXCLUDE_WILDCARDS):
76408         New macros.
76409         (free_exclude): New decl.
76410         (add_exclude, add_exclude_file): Now takes int options arg.
76411         (excluded_filename): No longer requires options arg, as the options
76412         are determined by add_exclude.  Now returns bool, not int.
76413
76414 2001-08-30  Paul Eggert  <eggert@twinsun.com>
76415
76416         * lib/alloca.c (alloca): Arg is of type size_t, not unsigned.
76417
76418 2001-08-27  Jim Meyering  <meyering@lucent.com>
76419
76420         * lib/Makefile.am (libfetish_a_SOURCES): Add strtoxmax.c
76421
76422         * lib/version-etc.c (N_): Remove definition.
76423         Revert most of last change.
76424         Instead, simply don't mark the `Copyright...' string for translation.
76425         Based on advice from Paul Eggert.
76426
76427         * lib/strtoxmax.c: Tweak comment.
76428
76429 2001-08-26  Jim Meyering  <meyering@lucent.com>
76430
76431         * m4/jm-macros.m4: Require jm_AC_PREREQ_XSTRTOIMAX.
76432
76433         * m4/xstrtoimax.m4: New file.
76434         * m4/xstrtoumax.m4: Add comments explaining why we
76435         AC_REPLACE_FUNCS(strtol).
76436
76437 2001-08-26  Jim Meyering  <meyering@lucent.com>
76438
76439         * lib/version-etc.c (version_etc_copyright_fmt): Replace literal year
76440         of copyright with `%s' so translators don't get an untranslated
76441         message in 2002.
76442         (COPYRIGHT_YEAR): Define.
76443         (version_etc): Use fprintf rather than fputs.
76444         Suggestion from Ulrich Drepper.
76445
76446         * lib/Makefile.am (libfetish_a_SOURCES): Add xstrtoimax.c.
76447
76448         * lib/strtoll.c: New file, from GNU libc.
76449         * lib/xstrtoimax.c: New file.
76450
76451         * lib/xstrtol.h: Add xstrtoimax.
76452         * lib/strtoumax.c: New file.  Simply include "strtoumax.c".
76453         * lib/strtoimax.c: New file.  Likewise, but first define
76454         STRTOUXMAX_SIGNED.
76455
76456         * lib/strtoumax.c: Factor to work both for unsigned and signed types,
76457         ...
76458         * lib/strtoxmax.c: ... then renamed to this.
76459
76460 2001-08-18  Paul Eggert  <eggert@twinsun.com>
76461
76462         * m4/inttypes.m4: Add AC_PREREQ(2.13).
76463         (jm_AC_HEADER_INTTYPES_H): Test for intmax_t, too.
76464         (jm_AC_TYPE_INTMAX_T): New macro.
76465         (jm_AC_TYPE_UINTMAX_T): Moved here from uintmax_t.m4.
76466
76467         * m4/longlong.m4 (jm_AC_TYPE_LONG_LONG): New macro.
76468
76469         * m4/longlong.m4: Renamed from ulonglong.m4.
76470         * m4/inttypes.m4: Renamed from inttypes_h.m4.
76471         * m4/uintmax_t.m4: Removed.
76472
76473 2001-08-13  Paul Eggert  <eggert@twinsun.com>
76474
76475         * lib/Makefile.am (unlocked-io.h): Do not append "_unlocked" twice.
76476         Port to Solaris 8, where 'sed' requires a space after the 'r'
76477         command, and where sh dislikes "$/".  Clean up the spacing a bit.
76478         Redirect output to $tmp just once.
76479
76480 2001-08-12  Paul Eggert  <eggert@sic.twinsun.com>
76481
76482         * lib/addext.c (<errno.h>): Include.
76483         (errno): Declare if not defined.
76484         (addext): Work correctly when pathconf returns -1 and leaves
76485         errno alone because there is no limit.  Also, work even if
76486         pathconf returns a value greater than SIZE_MAX.
76487
76488 2001-08-12  Jim Meyering  <meyering@lucent.com>
76489
76490         * m4/afs.m4, assert.m4, bison.m4, check-decl.m4, chown.m4, d-ino.m4,
76491         d-type.m4, dos.m4, error.m4, fnmatch.m4, fpending.m4, fstypename.m4,
76492         fsusage.m4, ftruncate.m4, getgroups.m4, glibc.m4, gnu-source.m4,
76493         group-member.m4, jm-glibc-io.m4, jm-macros.m4, jm-mktime.m4,
76494         jm-winsz1.m4, jm-winsz2.m4, lchown.m4, lib-check.m4, libintl.m4,
76495         link-follow.m4, ls-mntd-fs.m4, lstat.m4, malloc.m4, mbrtowc.m4,
76496         mbstate_t.m4, mbswidth.m4, memcmp.m4, nanosleep.m4, perl.m4,
76497         prereq.m4, putenv.m4, readdir.m4, realloc.m4, regex.m4, rename.m4,
76498         rmdir-errno.m4, search-libs.m4, st_dm_mode.m4, st_mtim.m4, stat.m4,
76499         strftime.m4, timespec.m4, unlink-busy.m4, uptime.m4, utimbuf.m4,
76500         utime.m4, utimes.m4, xstrtoumax.m4:
76501         Quote the first argument in each use of AC_DEFUN.
76502
76503 2001-08-12  Jim Meyering  <meyering@lucent.com>
76504
76505         * lib/xgetcwd.c (xgetcwd) [defined __GLIBC__ && __GLIBC__ >= 2]:
76506         Simply `return getcwd (NULL, 0);'.
76507         [! (defined __GLIBC__ && __GLIBC__ >= 2)]:
76508         Use 1300 as initial value for length, not PATH_MAX.
76509
76510         * lib/pathmax.h: Clean up cpp syntax.
76511
76512 2001-08-12  Jim Meyering  <meyering@lucent.com>
76513
76514         * lib/gettimeofday.c: New file.
76515         * lib/gtod.h: New file.
76516         * lib/Makefile.am (libfetish_a_SOURCES): Add gtod.h.
76517
76518 2001-08-05  Jim Meyering  <meyering@lucent.com>
76519
76520         * m4/jm-macros.m4: Require autoconf-2.52.
76521
76522 2001-08-04  Jim Meyering  <meyering@lucent.com>
76523
76524         * lib/error.h (__attribute__): Remove `|| __STRICT_ANSI__' from #if
76525         stmt, to get in sync with glibc.
76526
76527 2001-08-03  Paul Eggert  <eggert@twinsun.com>
76528
76529         The following changes are from gettext 0.10.39 as maintained by
76530         Bruno Haible.
76531
76532         * lib/mbswidth.h (MBSW_REJECT_UNPRINTABLE, MBSW_REJECT_INVALID):
76533         Renamed from MBSW_ACCEPT_UNPRINTABLE and MBSW_ACCEPT_INVALID
76534         with inverted sense.  All uses changed.
76535
76536         * lib/mbswidth.c: Don't include <limits.h>.
76537         Include <stdlib.h> and <string.h> unconditionally.
76538         (iswcntrl, mbsinit, ISCNTRL): New macros.
76539         (mbsnwidth): Use K&R style function declarations.
76540         Don't bother checking for MB_LEN_MAX == 1, since the compiler
76541         can optimize it when MB_CUR_MAX == 1.
76542         The width of control characters is zero, not 1.
76543
76544 2001-08-03  Paul Eggert  <eggert@twinsun.com>
76545
76546         The following changes are from gettext 0.10.39 as maintained by
76547         Bruno Haible, except that getline.m4 continues to use AC_LIBOBJ.
76548
76549         * m4/codeset.m4: Upgrade to serial AM1.
76550         (AM_LANGINFO_CODESET): Renamed from jm_LANGINFO_CODESET;
76551         all uses changed.  Quote first arg of AC_DEFUN.
76552         (am_cv_langinfo_codeset): Renamed from jm_cv_langinfo_codeset.
76553
76554         * m4/iconv.m4: Upgrade to serial AM2.
76555         (AM_ICONV): Renamed from jm_ICONV; all uses changed.
76556         Add --with-libconv-prefix.
76557         Quote first arg of AC_DEFUN.  Add description for ICONV_CONST.
76558         (am_cv_func_iconv): Renamed from jm_cv_func_iconv.
76559         (am_cv_lib_iconv): Renamed from jm_cv_lib_iconv.
76560         (am_cv_proto_iconv): Renamed from jm_cv_proto_iconv.
76561         * m4/jm-macros.m4 (jm_MACROS): Reflect s/jm_/AM_/ renamings.
76562
76563         * m4/c-bs-a.m4 (AC_C_BACKSLASH_A): Quote first arg of AC_DEFUN.
76564         * m4/getline.m4 (AM_FUNC_GETLINE): Likewise.
76565         * m4/glibc21.m4 (jm_GLIBC21): Likewise.
76566         * m4/inttypes_h.m4 (jm_AC_HEADER_INTTYPES_H): Likewise.
76567         * m4/isc-posix.m4 (AC_ISC_POSIX): Likewise.
76568         * m4/lcmessage.m4 (AM_LC_MESSAGES): Likewise.
76569         * m4/progtest.m4 (AM_PATH_PROG_WITH_TEST): Likewise.
76570         * m4/uintmax_t.m4 (jm_AC_TYPE_UINTMAX_T): Likewise.
76571         * m4/ulonglong.m4 (jm_AC_TYPE_UNSIGNED_LONG_LONG): Likewise.
76572
76573         * m4/getline.m4 (AM_FUNC_GETLINE): Don't bother checking for
76574         string.h any more.
76575
76576         * m4/progtest.m4 (AM_PATH_PROG_WITH_TEST): If not found, print "no",
76577         not the default value.
76578
76579         2001-06-25  Bruno Haible  <haible@clisp.cons.org>
76580         * m4/mbswidth.m4 (jm_PREREQ_MBSWIDTH): Don't require AM_C_PROTOTYPES.
76581         Also check for mbsinit.  Needed for SCO 3.2v5.0.2.
76582         Also include <string.h>; this is where AIX 3.2.5 declares wcwidth.
76583         Also check for iswcntrl, used for wcwidth fallback.
76584         Use AC_TRY_COMPILE to emulate AC_CHECK_DECLS, for portability
76585         to Autoconf 2.13.
76586
76587 2001-08-03  Jim Meyering  <meyering@lucent.com>
76588
76589         * m4/mbrtowc.m4 (jm_FUNC_MBRTOWC): Use `#include', not `@%:@include',
76590         as it was in the original.  Reported by Paul Eggert.
76591
76592 2001-07-16  Jim Meyering  <meyering@lucent.com>
76593
76594         * m4/gettimeofday.m4: New file.
76595         Prompted by a report from Bernhard Baehr.
76596
76597 2001-07-15  Jim Meyering  <meyering@lucent.com>
76598
76599         * m4/Makefile.am.in (Makefile.am): Remove most of the unlocked-io.h
76600         stuff. Now it's in ../Makefile.cfg.
76601
76602 2001-07-15  Jim Meyering  <meyering@lucent.com>
76603
76604         * lib/Makefile.am (EXTRA_DIST): Add unlocked-io.hin.
76605         (BUILT_SOURCES): Add unlocked-io.h.
76606         (io_functions): Define.
76607         (unlocked-io.h): New rule.
76608         (DISTCLEANFILES): Add unlocked-io.h.
76609         (all-local): Depend on unlocked-io.h, to ensure it is created.
76610
76611         * lib/unlocked-io.hin: New file
76612
76613         * lib/regex.c: Update from glibc.
76614
76615 2001-07-05  Jim Meyering  <meyering@lucent.com>
76616
76617         * lib/Makefile.am (noinst_HEADERS): Remove definition, per new automake
76618         recommendation.
76619         (libfetish_a_SOURCES): Put all .h files here instead.
76620         Remove a thus-exposed (better checks in automake) duplicate and
76621         two unnecessary .h files.
76622
76623 2001-07-04  Jim Meyering  <meyering@lucent.com>
76624
76625         * m4/Makefile.am.in (glibc-io.struct): New target.  Rework the code
76626         that generates jm-glibc-io.m4 so that it doesn't trigger any make
76627         distcheck failure.
76628
76629 2001-07-02  Jim Meyering  <meyering@lucent.com>
76630
76631         The following changes were prompted by suggestions from Bruno Haible.
76632
76633         * m4/jm-glibc-io.m4n: New file, the template from which jm-glibc-io.m4
76634         is now generated.
76635         * m4/Makefile.am.in (Makefile.am): Include jm-glibc-io.m4n in emitted
76636         definition of EXTRA_DIST.
76637         (Makefile.am): Emit the dependency, `all-local: jm-glibc-io.m4' to
76638         ensure that the generated file is created/updated whenever the list
76639         of $(unlocked_functions) is changed.
76640         (jm-glibc-io.m4): New rule.
76641         (unlocked-io.h): New rule -- currently unused.
76642
76643 2001-06-24  Jim Meyering  <meyering@lucent.com>
76644
76645         * m4/regex.m4 (jm_INCLUDED_REGEX): Use a quadrigraph to represent an
76646         unmatched right bracket, rather than kludging it with an extra,
76647         falsely-matching quote in a comment.  Patch by Akim Demaille.
76648
76649 2001-06-11  Jim Meyering  <meyering@lucent.com>
76650
76651         * lib/regex.c: Update from GNU libc.
76652
76653 2001-05-27  Jim Meyering  <meyering@lucent.com>
76654
76655         * m4/prereq.m4 (jm_PREREQ_READUTMP): Check for ut_type in struct utmpx.
76656         Check for ut_type in struct utmp.
76657
76658 2001-05-27  Jim Meyering  <meyering@lucent.com>
76659
76660         * lib/readutmp.h (UT_TYPE): Define.
76661
76662 2001-05-24  Jim Meyering  <meyering@lucent.com>
76663
76664         * lib/argmatch.c: Include "quote.h".
76665         (argmatch_invalid): Remove explicit `' quotes.  Instead, use the
76666         quote function.  Reported by Göran Uddeborg.
76667
76668 2001-05-22  Jim Meyering  <meyering@lucent.com>
76669
76670         * m4/strftime.m4 (_jm_STRFTIME_PREREQS): Don't use AC_LIBOBJ(strftime),
76671         now that we use the package-supplied version unconditionally.
76672         (jm_FUNC_STRFTIME): Don't replace strftime, for the same reason.
76673
76674 2001-05-21  Jim Meyering  <meyering@lucent.com>
76675
76676         * m4/regex.m4: Change a couple backticks to single quotes to avoid
76677         shell syntax errors.
76678
76679 2001-05-21  Alexandre Duret-Lutz  <duret_g@epita.fr>
76680
76681         * m4/dos.m4 (jm_AC_DOS): Check for _WIN32, __WIN32__, and __MSDOS__.
76682
76683 2001-05-20  Paul Eggert  <eggert@twinsun.com>
76684
76685         * m4/strftime.m4 (jm_FUNC_GNU_STRFTIME):
76686         Don't bother to check library strftime, since
76687         we'll be using our own my_strftime function anyway.
76688         Define my_strftime instead of strftime.
76689
76690 2001-05-20  Alexandre Duret-Lutz  <duret_g@epita.fr>
76691
76692         * lib/dirname.c (dir_name): Compute append_dot using path, not newpath
76693         which is not yet declared.
76694
76695 2001-05-15  Jim Meyering  <meyering@lucent.com>
76696
76697         * m4/regex.m4: Use proper quoting so brackets appear in the test
76698         program.
76699         Reported by, and with help from, Bruno Haible.
76700
76701 2001-05-13  Jim Meyering  <meyering@lucent.com>
76702
76703         * m4/jm-macros.m4 (major_t, minor_t): Define to unsigned int if
76704         undefined.
76705
76706 2001-05-11  Paul Eggert  <eggert@twinsun.com>
76707
76708         dirname code cleanup.  base_name now behaves more compatibly
76709         with POSIX basename when given file names that have trailing
76710         slashes, and similarly for dir_name.  Add new primitives
76711         base_len and dir_len.  Put the directory-name-related decls
76712         into dirname.h.
76713
76714         * lib/addext.c (ISSLASH, base_name): Remove; now in dirname.h.
76715         * lib/backupfile.c (base_name): Likewise.
76716         * lib/basename.c (FILESYSTEM_PREFIX_LEN, PARAMS, ISSLASH): Likewise.
76717         * lib/dirname.c (FILESYSTEM_PREFIX_LEN, ISSLASH): Likewise.
76718         * lib/makepath.c (strip_trailing_slashes): Likewise.
76719         * lib/path-concat.c (DIRECTORY_SEPARATOR, FILESYSTEM_PREFIX_LEN,
76720         ISSLASH): Likewise.
76721         * lib/rename.c (strip_trailing_slashes): Likewise.
76722         * lib/same.c (base_name): Likewise.
76723         * lib/stripslash.c (ISSLASH): Likewise.
76724
76725         * lib/addext.c: Include <dirname.h> after size_t is defined.
76726         * lib/backupfile.c: Likewise.
76727
76728         * lib/addext.c (addext): Use base_len to trim redundant
76729         trailing slashes instead of doing it ourselves.
76730         But do not trim the last slash if it is not redundant.
76731
76732         * lib/backupfile.c (find_backup_file_name,
76733         max_backup_version): Use base_len instead of rolling it ourselves.
76734         Handle the case of "" and (on DOS) "C:" correctly.
76735
76736         * lib/basename.c: Do not include <stdio.h>, <assert.h>; no longer
76737         needed. Include <string.h>, <dirname.h>.
76738         (base_name): Allow file names ending in slashes, other than names
76739         that are all slashes.  In this case, return the basename followed
76740         by the slashes.  This is more general, and can be used in places
76741         where the original base_name purposely had an assertion failure.
76742         (base_len): New function.
76743
76744         * lib/dirname.c: Include <string.h> instead of <stdlib.h>.
76745         Do not include <assert.h>; no longer needed.
76746         Include xalloc.h.
76747         (memrchr): Remove decl.
76748         (dir_name_r): Remove.
76749         (dir_len): Renamed from dirlen.  All callers changed.
76750         Rewrite in terms of base_name, for simplicity and consistency.
76751         (dir_name): Never return NULL.  All callers changed.
76752         Do not include <stdlib.h> in test program; no longer needed.
76753         return 0; is fine for test program.
76754
76755         * lib/dirname.h (DIRECTORY_SEPARATOR, ISSLASH, FILESYSTEM_PREFIX_LEN):
76756         New macros.
76757         (base_name, base_len, dir_len, strip_trailing_slashes): New decls.
76758
76759         * lib/path-concat.c (path_concat): Use base_len to compute
76760         base length, not strlen; this means we cannot rely on memcpy
76761         to null-terminate.
76762
76763         * lib/same.c (STREQ): Remove.
76764         (same_name): Handle the case where the basename ends in trailing '/'.
76765
76766         * lib/stripslash.c (strip_trailing_slashes): Return nonzero if
76767         a slash was stripped.  Do not strip the last slash after a
76768         file system prefix.
76769
76770 2001-05-11  Paul Eggert  <eggert@twinsun.com>
76771
76772         * lib/Makefile.am (libfetish_a_SOURCES):
76773         Add strftime.c, since we now compile it on all hosts.
76774
76775         * lib/strftime.c (my_strftime):
76776         Define to nstrftime if emacs, but only if my_strftime is not defined.
76777         (extra_args, extra_args_spec, extra_args_spec_iso): Rename from
76778         ut_argument, ut_argument_spec, ut_argument_spec_iso, respectively.
76779         Add one more extra argument: a nanoseconds value.
76780         All uses changed.
76781         (ns): New macro.
76782         (my_strftime function): Add %N format.
76783         (emacs_strftimeu): Renamed from emacs_strftime,
76784         with extra ut argument.
76785
76786 2001-05-09  Paul Eggert  <eggert@twinsun.com>
76787
76788         * m4/jm-macros.m4 (jm_MACROS): Do not check for fseeko; no longer used.
76789
76790 2001-04-21  Jim Meyering  <meyering@lucent.com>
76791
76792         * m4/rmdir-errno.m4: Write to a new file, so that a restrictive umask
76793         doesn't interfere.
76794
76795 2001-04-21  Alexandre Duret-Lutz  <duret_g@epita.fr>
76796
76797         * m4/ftruncate.m4: Check for chsize.
76798         Link with ftruncate.o unconditionally if ftruncate is missing.
76799         This was required when cross-compiling to i586-mingw32msvc.
76800
76801 2001-04-08  Jim Meyering  <meyering@lucent.com>
76802
76803         * lib/getdate.y (get_date): Set tm_isdst to -1 to ensure that it is
76804         recomputed; that's necessary when the offset spans a DST transition.
76805         Patch by David J. MacKenzie.  Reported by Hon-Yin Kok.
76806
76807 2001-04-02  Jim Meyering  <meyering@lucent.com>
76808
76809         * lib/regex.h, regex.c: Update from GNU libc.
76810
76811 2001-03-24  Jim Meyering  <meyering@lucent.com>
76812
76813         * m4/jm-macros.m4: Require autoconf-2.49d.
76814
76815 2001-03-20  Bruno Haible  <haible@clisp.cons.org>
76816
76817         * m4/iconv.m4 (jm_ICONV): Recommend GNU libiconv.
76818
76819 2001-03-19  Paul Eggert  <eggert@twinsun.com>
76820
76821         * lib/version-etc.c (version_etc_copyright): Update to 2001.
76822
76823 2001-03-17  Jim Meyering  <meyering@lucent.com>
76824
76825         * m4/memcmp.m4 (jm_AC_FUNC_MEMCMP): Remove my copy of AC_FUNC_MEMCMP,
76826         now that the version in autoconf is equivalent.
76827         (jm_FUNC_MEMCMP): Adjust to use AC_FUNC_MEMCMP.
76828
76829         * m4/error.m4 (jm_PREREQ_ERROR): Invoke AC_FUNC_STRERROR_R.
76830         Suggestion from Akim Demaille.
76831
76832         * m4/prereq.m4 (jm_PREREQ): Add jm_PREREQ_TEMPNAME.
76833         (jm_PREREQ_TEMPNAME): New function.
76834
76835 2001-03-16  Paul Eggert  <eggert@twinsun.com>
76836
76837         * lib/tempname.c (uint64_t): Define to uintmax_t if
76838         not defined, and if UINT64_MAX is not defined.
76839         Required at least for Vax Ultrix4.3, which doesn't define uint64_t.
76840         Reported by John David Anglin.
76841
76842 2001-03-15  Bruno Haible  <haible@clisp.cons.org>
76843
76844         * lib/localcharset.c (locale_charset): Allow wildcard syntax. Also
76845         resolve alias if codeset is empty.
76846         * lib/config.charset (BeOS): Use wildcard syntax.
76847
76848 2001-03-13  Jim Meyering  <meyering@lucent.com>
76849
76850         * lib/path-concat.c (path_concat)
76851         [FILESYSTEM_ACCEPTS_DRIVE_LETTER_PREFIX]: Don't insert a backslash when
76852         concatenating e.g., `C:' and `foo'.
76853         From Bruno Haible.
76854
76855 2001-03-06  Bruno Haible  <haible@clisp.cons.org>
76856
76857         * lib/localcharset.c (locale_charset): Don't use
76858         setlocale(LC_CTYPE,NULL). Don't return NULL.
76859         * lib/unicodeio.c (print_unicode_char): Simplify accordingly.
76860
76861 2001-03-06  Bruno Haible  <haible@clisp.cons.org>
76862
76863         * lib/config.charset: Update for FreeBSD 4.2 and OSF/1 5.1. Add
76864         support for DOS/DJGPP.
76865
76866 2001-03-01  Paul Eggert  <eggert@twinsun.com>
76867
76868         * m4/jm-macros.m4 (jm_MACROS): Use mkstemp replacement if the system
76869         lacks mkstemp.  Compile our own tempname.c if we compile our own
76870         mkstemp.c, as mkstemp relies on tempname.
76871
76872 2001-03-01  Jim Meyering  <meyering@lucent.com>
76873
76874         * m4/dos.m4 (jm_AC_DOS): Remove extra backslashes, now that
76875         AH_VERBATIM really does output its argument verbatim.
76876
76877 2001-02-28  Paul Eggert  <eggert@twinsun.com>
76878
76879         * lib/Makefile.am (libfetish_a_SOURCES):
76880         Add dup-safer.c, fopen-safer.c.
76881         (noinst_HEADERS): Add stdio-safer.h, unistd-safer.h.
76882
76883         * lib/dup-safer.c, lib/fopen-safer.c, lib/stdio-safer.h:
76884         * lib/unistd-safer.h: New files.
76885
76886 2001-02-25  Paul Eggert  <eggert@twinsun.com>
76887
76888         The mkstemp replacement is taken from glibc 2.2.2, with some
76889         portability fixes for use outside glibc, as follows:
76890
76891         * lib/tempname.c (struct_stat64): New macro.
76892         (direxists, __gen_tempname): Use it.
76893         This avoids a portability problem with Solaris 8.
76894
76895         * lib/tempname.c (<config.h>): Include if HAVE_CONFIG_H.
76896         (<stddef.h>, <stdint.h>, <string.h>):
76897         Include only if STDC_HEADERS || _LIBC.
76898         (<fcntl.h>): Include only if HAVE_FCNTL_H || _LIBC.
76899         (<unistd.h>): Include only if HAVE_UNISTD_H || _LIBC.
76900         (<sys/time.h>): Include only if HAVE_SYS_TIME_H || _LIBC.
76901         (__set_errno): Define this macro if <errno.h> doesn't.
76902         (P_tmpdir, TMP_MAX, __GT_FILE, __GT_BIGFILE, __GT_DIR, __GT_NOCREATE):
76903         Define these macros if <stdio.h> doesn't.
76904         (S_ISDIR, S_IRUSR, S_IWUSR, S_IXUSR):
76905         Define these macros if <sys/stat.h>
76906         doesn't.  Ignore <sys/stat.h> S_ISDIR if STAT_MACROS_BROKEN.
76907         (stat64, __getpid, __gettimeofday, __mkdir, __open, __open64, lxstat64,
76908         __xstat64): Define if not _LIBC.
76909         (__secure_getenv): Define if ! (HAVE___SECURE_GETENV || _LIBC).
76910         (__gen_tempname): Invoke gettimeofday only if
76911         HAVE_GETTIMEOFDAY || _LIBC;
76912         otherwise, fall back on plain "time".
76913         Use macros like S_IRUSR | S_IWUSR rather than octal values like 0600.
76914
76915         * lib/mkstemp.c (__GT_FILE): Define to zero if not defined.
76916
76917         * lib/mkstemp.c, lib/tempname.c: New files, taken from glibc 2.2.2.
76918
76919 2001-02-18  Paul Eggert  <eggert@twinsun.com>
76920
76921         * m4/jm-macros.m4 (jm_CHECK_ALL_HEADERS): Check for sys/resource.h.
76922
76923 2001-02-17  Paul Eggert  <eggert@twinsun.com>
76924
76925         * m4/mbrtowc.m4: New file, defining jm_FUNC_MBRTOWC.
76926         * m4/mbswidth.m4 (jm_PREREQ_MBSWIDTH):
76927         Use jm_FUNC_MBRTOWC, not AC_CHECK_FUNCS(mbrtowc).
76928         * m4/prereq.m4 (jm_PREREQ_QUOTEARG): Likewise.
76929
76930 2001-02-17  Paul Eggert  <eggert@twinsun.com>
76931
76932         * lib/mbswidth.c, quotearg.c (mbrtowc, mbsinit):
76933         Remove workaround macros for hosts that have mbrtowc but not
76934         mbstate_t, as we now insist on proper declarations for both
76935         before using mbrtowc.
76936
76937 2001-02-17  Jim Meyering  <meyering@lucent.com>
76938
76939         * m4/ls-mntd-fs.m4 (jm_LIST_MOUNTED_FILESYSTEMS): Don't check for
76940         getmntent via AC_CHECK_FUNCS, since that would get a `no' and disrupt
76941         further attempts by AC_FUNC_GETMNTENT to check with e.g., -lgen on
76942         UnixWare 7.1.1.
76943
76944         * m4/mbrtowc.m4 (jm_FUNC_MBRTOWC): Adapt to use AC_CACHE_CHECK etc.,
76945         rather than AC_CACHE_VAL.
76946
76947 2001-02-17  Jim Meyering  <meyering@lucent.com>
76948
76949         * lib/strtoul.c: Sync from GNU libc.  Use double quotes, not <...>
76950         around included file name.
76951
76952         * lib/strnlen.c (__strnlen): Merge in a change from GNU libc.
76953
76954         * lib/strftime.c: Update from GNU libc (the only changes were to
76955         comments).
76956
76957 2001-02-17  Jim Meyering  <meyering@lucent.com>
76958
76959         * lib/regex.c: Update from libc.
76960
76961 2001-02-17  Bruno Haible  <haible@clisp.cons.org>
76962
76963         * lib/mbswidth.h (mbswidth): Also define as macro, to avoid prototype
76964         clash.
76965
76966 2001-02-16  Paul Eggert  <eggert@twinsun.com>
76967
76968         * lib/alloca.c (malloc): Undef before defining, since stdlib.h
76969         may have defined it.  Needed for Encore Umax-3.0.9.16b systems.
76970         Reported by Mark Hounschell via Paul Eggert.
76971
76972 2001-02-07  Jim Meyering  <meyering@lucent.com>
76973
76974         * m4/regex.m4 (jm_INCLUDED_REGEX): Add a test for the latest bug.
76975
76976 2001-02-05  Jim Meyering  <meyering@lucent.com>
76977
76978         * m4/jm-macros.m4: Require autoconf-2.14d (not yet released), because
76979         it includes the patch required for `large file' support with at least
76980         HP-UX's 10.20 /bin/cc.
76981
76982 2001-02-03  Jim Meyering  <meyering@lucent.com>
76983
76984         * m4/ls-mntd-fs.m4 (jm_LIST_MOUNTED_FILESYSTEMS): Restore prior use of
76985         AS_IF, now that it works once again (mysteriously).
76986         * m4/fsusage.m4 (jm_FILE_SYSTEM_USAGE): Likewise.
76987
76988 2001-01-30  Jim Meyering  <meyering@lucent.com>
76989
76990         Don't use filenames that are 8.3-equivalent to "conftest" on DOS.
76991         * m4/chown.m4: Rename conftestchown to conftest.chown.
76992         * m4/rename.m4: s/conftestdir/conftest.d1/ and
76993         s/conftestdir2/conftest.d2/.
76994         * m4/utimes.m4: s/conftestdata/conftest.data/
76995         Inspired by Pavel Roskin's change in autoconf.
76996
76997 2001-01-30  Bruno Haible  <haible@clisp.cons.org>
76998
76999         * lib/config.charset: Update for FreeBSD 4.2.
77000
77001 2001-01-27  Jim Meyering  <meyering@lucent.com>
77002
77003         * m4/ls-mntd-fs.m4 (jm_LIST_MOUNTED_FILESYSTEMS): Open-code what was
77004         a use of AS_IF.
77005         * m4/fsusage.m4 (jm_FILE_SYSTEM_USAGE): Likewise.
77006
77007 2001-01-26  Jim Meyering  <meyering@lucent.com>
77008
77009         * m4/prereq.m4 (jm_PREREQ_QUOTEARG): Check for stddef.h, now that
77010         quotearg.c includes it.
77011
77012 2001-01-26  Jim Meyering  <meyering@lucent.com>
77013
77014         * lib/quotearg.c: Include stddef.h.
77015         * lib/quote.c: Include stddef.h.
77016         Reported by Axel Kittenberger.
77017
77018         * lib/xmalloc.c [HAVE_DONE_WORKING_MALLOC_CHECK]: Enclose error-evoking
77019         line in double quotes so that it evokes a better diagnostic.
77020         [HAVE_DONE_WORKING_REALLOC_CHECK]: Likewise.
77021         Reported by Axel Kittenberger.
77022
77023 2001-01-24  Stefan Monnier  <monnier@cs.yale.edu>
77024
77025         * regex.c (mutually_exclusive_p): Don't blindly handle `charset_not'
77026         as if it was a `charset'.
77027
77028 2001-01-21  Bruno Haible  <haible@clisp.cons.org>
77029
77030         * m4/iconv.m4 (jm_ICONV): Also check whether the iconv declaration
77031         has const.
77032
77033 2001-01-21  Bruno Haible  <haible@clisp.cons.org>
77034
77035         * lib/unicodeio.c (print_unicode_char): Cast the second iconv() arg,
77036         to avoid a warning.  Add back 'const' to inptr.
77037
77038 2001-01-20  Jim Meyering  <meyering@lucent.com>
77039
77040         Be sure that headers are checked before used in code compiled
77041         for the type checks.
77042         * m4/jm-macros.m4 (jm_MACROS): Remove all header checks.
77043         In place of that, invoke jm_CHECK_ALL_TYPES.
77044         (jm_CHECK_ALL_HEADERS): New functions with the above checks.
77045         (jm_CHECK_ALL_TYPES): Require jm_CHECK_ALL_HEADERS.
77046         Alan Iwi reported a build failure on an f300-fujitsu-uxpv4.1_ES;
77047         The check for ssize_t was mistakenly run before the test for unistd.h.
77048
77049         The configure-time check for stdbool.h was missing.
77050         * m4/prereq.m4 (jm_PREREQ): Add jm_PREREQ_HASH.
77051         (jm_PREREQ_HASH): New function.
77052
77053 2001-01-17  Jim Meyering  <meyering@lucent.com>
77054
77055         * m4/fsusage.m4 (jm_FILE_SYSTEM_USAGE): Use AS_IF, not AS_IFELSE,
77056         for autoconf-2.49c.
77057         * m4/ls-mntd-fs.m4 (jm_LIST_MOUNTED_FILESYSTEMS): Likewise.
77058
77059 2001-01-16  Jim Meyering  <meyering@lucent.com>
77060
77061         * lib/basename.c: Include <stdio.h>, needed by assert on SunOS 4.
77062         From Bruno Haible.
77063
77064 2001-01-14  Jim Meyering  <meyering@lucent.com>
77065
77066         * m4/rename.m4: Use temporary directories named conftestdir{,2}, not
77067         foo and bar.  Create conftestdir/ in the script, not in the C code.
77068         Remove directories in the script, not in the C code.
77069         Remove conftestdir{,2} before trying to create the directory.
77070         Make the entire configure script fail if the mkdir fails.
77071
77072 2001-01-14  Jim Meyering  <meyering@lucent.com>
77073
77074         * lib/rename.c: New file.  From Volker Borchert.
77075         Include stdlib.h, string.h or strings.h, and xalloc.h.
77076         Use strip_trailing_slashes rather than open-coding it.
77077
77078 2001-01-03  Paul Eggert  <eggert@twinsun.com>
77079
77080         * lib/strftime.c: Sync with glibc time/strftime.c 1.81.
77081
77082 2001-01-03  Jim Meyering  <meyering@lucent.com>
77083
77084         * lib/unicodeio.c (print_unicode_char): Remove `const' from declaration
77085         of local `inptr' to avoid warning with some system declarations of
77086         iconv.
77087
77088 2001-01-02  Volker Borchert  <bt@teknon.de>
77089
77090         * m4/rename.m4: New file.
77091         * m4/jm-macros.m4 (jm_MACROS): Require vb_FUNC_RENAME.
77092
77093 2001-01-01  Jim Meyering  <meyering@lucent.com>
77094
77095         * m4/prereq.m4 (jm_PREREQ_READUTMP): Include utmp.h (if available),
77096         even on systems with utmpx.h.  It's necessary for the declaration of
77097         utmp's ut_user member.  Reported by Andreas Jaeger.
77098
77099         * m4/check-decl.m4 (jm_CHECK_DECLS): Include grp.h and pwd.h if
77100         available. They are required for the declarations of getgrgid and
77101         getpwuid resp.
77102         (_jm_DECL_HEADERS): Check for grp.h and pwd.h.
77103         Reported by Andreas Jaeger.
77104
77105 2001-01-01  Alexandre Duret-Lutz  <duret_g@epita.fr>
77106
77107         * m4/libintl.m4 (AM_GNU_GETTEXT): Define MKINSTALLDIRS by
77108         expanding the value of $ac_aux_dir, as in AM_MISSING_HAS_RUN,
77109         so `make install' also works in VPATH builds.
77110
77111 2000-12-31  Alexandre Duret-Lutz  <duret_g@epita.fr>
77112
77113         * m4/libintl.m4 (AM_WITH_NLS): When using AC_CONFIG_AUX_DIR,
77114         prepend $(top_srcdir) to the value of MKINSTALLDIRS so that it
77115         can be used in subdirectories.
77116
77117 2000-12-29  Paul Eggert  <eggert@twinsun.com>
77118
77119         * lib/modechange.c: Do not assume that mode_t uses the
77120         traditional octal encoding.  E.g. "chmod 1 FOO" should set
77121         the other-execute bit of FOO even if S_IXOTH != 1.
77122
77123         (SUID, SGID, SVTX, RUSR, WUSR, XUSR, RGRP, WGRP, XGRP, ROTH,
77124         WOTH, XOTH, ALLM): New macros.
77125         (S_ISUID, S_ISGID, S_ISVTX, S_IRUSR, S_IWUSR, S_IXUSR,
77126          S_IRGRP, S_IWGRP, S_IXGRP, S_IROTH, S_IWOTH, S_IXOTH):
77127         Use them.
77128         (S_ISGID): Fix typo; it was defaulting to the same value as S_ISUID.
77129         (S_IRWXU, S_IRWXG, S_IRWXO): Specify defaults in terms of the above.
77130         (mode_compile):
77131         No need to use uintmax_t; unsigned long is long enough.
77132         Don't bother to get suffix since we don't use it.
77133
77134 2000-12-26  Jim Meyering  <meyering@lucent.com>
77135
77136         * m4/dos.m4 (jm_AC_DOS): Rewrite (though it's still a stub) to work
77137         better with autoheader.
77138
77139 2000-12-24  Jim Meyering  <meyering@lucent.com>
77140
77141         * lib/hash.c (is_prime): Return explicit boolean values.
77142         (hash_get_first): Return NULL to appease Irix5.6's 89.
77143         Reported by Nelson Beebe.
77144
77145 2000-12-19  Bruno Haible  <haible@clisp.cons.org>
77146
77147         * lib/localcharset.c (locale_charset): Add support for Win32.
77148
77149 2000-12-18  Paul Eggert  <eggert@twinsun.com>
77150
77151         * lib/physmem.h, lib/physmem.c: New files.
77152
77153         * lib/Makefile.am (libfetish_a_SOURCES): Add physmem.c.
77154         (noinst_HEADERS): Add physmem.h.
77155
77156         * lib/xstrtol.c (__xstrtol): Add undocumented suffixes 'g' and
77157         't' for compatibility with Solaris 8 sort.
77158
77159 2000-12-18  Bruno Haible  <haible@clisp.cons.org>
77160
77161         * lib/config.charset: Add support for BeOS.
77162
77163 2000-12-17  Jim Meyering  <meyering@lucent.com>
77164
77165         * m4/dos.m4 (jm_AC_DOS): New file and macro.
77166         * m4/jm-macros.m4 (jm_MACROS): Require jm_AC_DOS.
77167
77168 2000-12-16  Jim Meyering  <meyering@lucent.com>
77169
77170         This bug had a serious impact on chown: `chown N:M FILE' (for integer
77171         N and M) would have treated it like `chown N:N FILE'.
77172
77173         * lib/userspec.c (parse_user_spec): Fix typo: s/u/g/.
77174
77175 2000-12-16  Jim Meyering  <meyering@lucent.com>
77176
77177         * lib/getusershell.c [!SHELLS_FILE && __DJGPP__]: Define
77178         SHELLS_FILE to a file name that's useful on djgpp systems.
77179         Include stdlib.h.
77180         (ADDITIONAL_DEFAULT_SHELLS): Define.
77181         (default_shells): Prepend ADDITIONAL_DEFAULT_SHELLS.
77182         Based mostly on a patch from Prashant TR.
77183
77184 2000-12-16  Bruno Haible  <haible@clisp.cons.org>
77185
77186         * lib/config.charset: Add ISO-8859-3, BIG5HKSCS, GB18030, JOHAB,
77187         VISCII, CP874, CP949, CP950, CP1250, CP1253, CP1254, CP1255, CP1256,
77188         CP1257 to the list of canonical encodings. Rename EUC-CN to GB2312.
77189
77190 2000-12-08  Andreas Schwab  <schwab@suse.de>
77191
77192         * lib/mbswidth.c (mbsnwidth): Don't loop endlessly when called with an
77193         invalid mulitbyte sequence and with the MBSW_ACCEPT_INVALID flag set.
77194
77195 2000-12-07  Jim Meyering  <meyering@lucent.com>
77196
77197         * lib/stripslash.c (ISSLASH): Define.
77198         (strip_trailing_slashes): Use ISSLASH rather than comparing against
77199         `/'.
77200         From Prashant TR.
77201
77202         * lib/dirname.c (FILESYSTEM_PREFIX_LEN): Define.
77203         (dir_name_r): Declare this function as static.
77204         [BACKSLASH_IS_PATH_SEPARATOR]: Fix a bug that'd
77205         manifest itself on a name containing a mix of slashes and
77206         backslashes.
77207         Make this function work with names starting with a DOS-style
77208         drive letter and colon prefix.
77209         (dir_name): Append `.' if necessary.
77210         Based mostly on patches from Prashant TR and Eli Zaretskii.
77211
77212         * lib/dirname.h (dir_name_r): Remove prototype.
77213
77214 2000-12-06  Paul Eggert  <eggert@twinsun.com>
77215
77216         * m4/off_t-format.m4: Remove this file.
77217         * m4/jm-macros.m4 (jm_MACROS): Remove jm_SYS_OFF_T_PRINTF_FORMAT.
77218
77219 2000-12-06  Jim Meyering  <meyering@lucent.com>
77220
77221         * m4/xstrtoumax.m4 (jm_AC_PREREQ_XSTRTOUMAX): If we need the
77222         replacement strtoull, we may well need the replacement strtoul, too.
77223         Check for declarations of strtoul and strtoull.
77224         Check for strtol.  Mainly as a cue to cause automake to include
77225         strtol.c -- that file is included by each of strtoul.c and strtoull.c.
77226         Check for limits.h -- strtol.c needs it.
77227
77228 2000-12-05  Jim Meyering  <meyering@lucent.com>
77229
77230         * lib/dirname.c (dir_name_r): Add `const' in a few local declarations.
77231
77232 2000-12-04  Jim Meyering  <meyering@lucent.com>
77233
77234         * lib/path-concat.c: [!HAVE_DECL_MALLOC]: Declare malloc.
77235         Also include memory.h, stdlib.h, unistd.h if appropriate.
77236         Reported by Andreas Jaeger (conflicting declaration of malloc).
77237
77238 2000-12-02  Jim Meyering  <meyering@lucent.com>
77239
77240         * m4/off_t-format.m4 (OFF_T_PRINTF_FORMAT_STRING): New file/macro.
77241         * m4/jm-macros.m4 (jm_MACROS): require it.
77242
77243 2000-12-02  Jim Meyering  <meyering@lucent.com>
77244
77245         * lib/closeout.h: Make idempotent, to avoid some obscure warnings.
77246
77247 2000-12-01  Paul Eggert  <eggert@twinsun.com>
77248
77249         * lib/memrchr.c: Include <config.h> before any system include file.
77250
77251 2000-11-30  Jim Meyering  <meyering@lucent.com>
77252
77253         * m4/jm-macros.m4 (jm_MACROS): Check for stdint.h.
77254
77255 2000-11-30  Jim Meyering  <meyering@lucent.com>
77256
77257         * m4/getloadavg.m4: s/ifval/m4_ifval/ to accommodate new autoconf.
77258
77259 2000-11-29  Paul Eggert  <eggert@twinsun.com>
77260
77261         * lib/dirname.c (dir_name_r): Fix typo: int -> size_t.
77262
77263 2000-11-26  Jim Meyering  <meyering@lucent.com>
77264
77265         * lib/memcoll.c: Include sys/types.h.  From Werner Almesberger.
77266
77267 2000-11-22  Paul Eggert  <eggert@twinsun.com>
77268
77269         * lib/strftime.c (my_strftime): Do not invoke mbrlen with a
77270         size of (size_t) -1; it's not portable.
77271
77272 2000-11-17  Jim Meyering  <meyering@lucent.com>
77273
77274         * lib/strstr.c: Update from GNU libc.
77275
77276 2000-11-17  Akim Demaille  <akim@epita.fr>
77277
77278         * lib/obstack.h: Formatting changes.
77279         (obstack_grow, obstack_grow0): Don't cast WHERE at all: that would
77280         prevent type checking.
77281         (obstack_ptr_grow, obstack_ptr_grow_fast): When assigning, don't
77282         cast the value to (void *): assigning a `foo *' to a `void *'
77283         variable is valid.
77284         (obstack_int_grow, obstack_int_grow_fast): Don't cast AINT to int.
77285
77286 2000-11-16  Jim Meyering  <meyering@lucent.com>
77287
77288         * lib/strverscmp.c: Incorporate weak-alias-related changes from glibc.
77289
77290 2000-11-11  Jim Meyering  <meyering@lucent.com>
77291
77292         * lib/error.c: Add a couple #includes, merging from GNU libc version.
77293
77294 2000-11-10  Jim Meyering  <meyering@lucent.com>
77295
77296         * lib/obstack.h: Update from GNU libc.
77297         * lib/obstack.c: Likewise.
77298
77299 2000-11-08  Bruno Haible  <haible@clisp.cons.org>
77300
77301         * m4/jm-macros.m4 (jm_MACROS): Add test for wcrtomb.
77302
77303 2000-11-06  Paul Eggert  <eggert@twinsun.com>
77304
77305         * lib/getusershell.c (setusershell): Use rewind rather than
77306         fseek/fseeko, to avoid configuration hassles with fseeko.
77307         Don't bother opening SHELLS_FILE if shellstream is NULL;
77308         it's not necessary.
77309
77310 2000-11-05  Jim Meyering  <meyering@lucent.com>
77311
77312         * lib/makepath.h (make_dir): Declare.
77313         * lib/makepath.c (make_dir): Remove `static' attribute.
77314         Tweak a comment.
77315
77316 2000-11-04  Jim Meyering  <meyering@lucent.com>
77317
77318         * m4/regex.m4: Use the `m4_' prefix on `syscmd' and `m4_sysval'.
77319
77320 2000-11-04  Alexandre Duret-Lutz  <duret_g@epita.fr>
77321
77322         * lib/hash.c (hash_get_next): Fix a thinko:  when ENTRY is the
77323         last one in a bucket, advance to the next bucket.
77324
77325 2000-11-02  Vesselin Atanasov  <vesselin@bgnet.bg>
77326
77327         * lib/fnmatch.c: Do not comment out all the code if we are using
77328         the GNU C library, because in some cases we are replacing buggy
77329         code in the GNU C library itself.
77330
77331 2000-10-30  Stefan Monnier  <monnier@cs.yale.edu>
77332
77333         * regex.c (re_iswctype, re_wctype_to_bit): Fix braino.
77334         (regex_compile): Catch bogus \(\1\).
77335
77336 2000-10-30  Paul Eggert  <eggert@twinsun.com>
77337
77338         * lib/fnmatch.c (FOLD): Do not assume that characters are unsigned.
77339         (fnmatch): Fix some FNM_FILE_NAME and FNM_LEADING_DIR bugs,
77340         e.g. fnmatch("d*/*1", "d/s/1", FNM_FILE_NAME) incorrectly yielded zero.
77341
77342 2000-10-30  Paul Eggert  <eggert@twinsun.com>
77343
77344         * lib/error.h, getline.h, modechange.h:
77345         Remove "2000" from Copyright line, as the file hasn't been
77346         changed this year other than in the copyright notice.
77347
77348         * lib/xalloc.h: Add "2000" to Copyright line, as this file
77349         was changed this year.
77350
77351 2000-10-29  Jim Meyering  <meyering@lucent.com>
77352
77353         * m4/fsusage.m4: s/AC_SHELL_IFELSE/AS_IFELSE/ to match autoconf
77354         renaming.
77355         * m4/ls-mntd-fs.m4: Likewise
77356
77357 2000-10-29  Jim Meyering  <meyering@lucent.com>
77358
77359         * lib/xstat.in: Fix grammar in comment.
77360
77361 2000-10-29  Greg Louis  <glouis@dynamicro.on.ca>
77362
77363         * lib/regex.h (__restrict_arr): Move definition out of #ifndef block.
77364         Required because egcs-2.91.66 (aka 1.1.2) defines __restrict, but
77365         doesn't define __restrict_arr.
77366
77367 2000-10-28  Jim Meyering  <meyering@lucent.com>
77368
77369         * m4/prereq.m4 (jm_PREREQ): Add jm_PREREQ_MEMCHR.
77370         (jm_PREREQ_MEMCHR): New function.
77371
77372 2000-10-28  Jim Meyering  <meyering@lucent.com>
77373
77374         * lib/memchr.c: Update from libc.
77375         Adjust for portability:
77376         [HAVE_STDLIB_H]: Include stdlib.h.
77377         [HAVE_BP_SYM_H || _LIBC]: Guard inclusion of bp-sym.h.
77378         Undef __memchr, too.
77379         [!weak_alias]: Define __memchr to memchr.
77380
77381         * lib/regex.c: Update from libc.
77382         * lib/regex.h: Likewise.
77383         * lib/getopt1.c: Likewise.
77384         * lib/memcmp.c: Likewise.
77385
77386         * lib/getusershell.c (setusershell) [HAVE_FSEEKO]: Use fseeko.
77387         Avoid using fseek, when possible -- it's broken by design.
77388         Patch by Ulrich Drepper.
77389
77390 2000-10-27  Stefan Monnier  <monnier@cs.yale.edu>
77391
77392         * regex.c (POP_FAILURE_REG_OR_COUNT, re_match_2_internal)
77393         (re_match_2_internal, re_match_2_internal, re_match_2_internal):
77394         Giving in to popular pressure to shut up the compiler with casts.
77395
77396 2000-10-26  Jim Meyering  <meyering@lucent.com>
77397
77398         * lib/strftime.c: Update from libc.
77399
77400 2000-10-25  Stefan Monnier  <monnier@cs.yale.edu>
77401
77402         * regex.c: More `unsigned char' -> `re_char' changes.
77403         Also change several `int' into `re_wchar_t'.
77404         (PATTERN_STACK_EMPTY, PUSH_PATTERN_OP, POP_PATTERN_OP): Remove.
77405         (PUSH_FAILURE_POINTER): Don't cast any more.
77406         (POP_FAILURE_REG_OR_COUNT): Remove the cast that strips `const'.
77407         We want GCC to complain, since this piece of code makes
77408         re_match non-reentrant, which *should* be fixed.
77409         (GET_BUFFER_SPACE): Use size_t rather than unsigned long.
77410         (EXTEND_BUFFER): Use RETALLOC.
77411         (SET_LIST_BIT): Don't cast.
77412         (re_wchar_t): New type.
77413         (re_iswctype, re_wctype_to_bit): Make it crystal clear to GCC
77414         that those two functions will always properly return.
77415         (IMMEDIATE_QUIT_CHECK): Cast to void.
77416         (analyse_first): Use recursion rather than an explicit stack.
77417         (re_compile_fastmap): Can't fail anymore.
77418         (re_search_2): Don't check re_compile_fastmap for failure.
77419         (PUSH_NUMBER): Renamed from PUSH_FAILURE_COUNT.
77420         Now also sets the new value (passed in a new argument).
77421         (re_match_2_internal): Use it.
77422         Also, use a new var `reg' of type size_t when looping through regs
77423         rather than reuse the inappropriate `mcnt'.
77424
77425 2000-10-25  Jim Meyering  <meyering@lucent.com>
77426
77427         * lib/obstack.c: Update from libc.
77428
77429 2000-10-24  Kenichi Handa  <handa@etl.go.jp>
77430
77431         * regex.c (regex_compile): Change the way of handling a range from
77432         a char less than 256 to a char not less than 256.
77433
77434 2000-10-24  Andrew Innes  <andrewi@gnu.org>
77435
77436         * regex.c (IMMEDIATE_QUIT_CHECK): New macro, which does QUIT on
77437         NT-Emacs only.
77438         (re_match_2_internal): Use IMMEDIATE_QUIT_CHECK instead of QUIT,
77439         so that re_search functions only quit when callers expect them to.
77440
77441 2000-10-23  Jim Meyering  <meyering@lucent.com>
77442
77443         * lib/hard-locale.c (hard_locale): Revert last change -- it was simply
77444         wrong.  That set_locale call must not have any side effects.
77445         From Paul Eggert.
77446
77447 2000-10-22  Jim Meyering  <meyering@lucent.com>
77448
77449         * lib/md5.c (md5_process_block) [OP]: Use `rol', not CYCLIC.
77450         [CYCLIC]: Remove now-unused definition.
77451
77452         * lib/save-cwd.c (O_DIRECTORY): Define, if needed.
77453         (save_cwd) [HAVE_FCHDIR]: Use O_DIRECTORY when opening ".".
77454         Suggestion from Ulrich Drepper.
77455
77456 2000-10-21  Jim Meyering  <meyering@lucent.com>
77457
77458         * m4/check-decl.m4 (jm_CHECK_DECLS): Also check for memrchr.
77459         * m4/prereq.m4 (jm_PREREQ_DIRNAME): New macro.
77460         * m4/jm-macros.m4 (AC_REPLACE_FUNCS): Add memrchr.
77461
77462 2000-10-21  Jim Meyering  <meyering@lucent.com>
77463
77464         * lib/dirname.c (memrchr): Declare if necessary.
77465         (dir_name): Remove the restriction that there be no
77466         trailing slashes.  Now, this code skips past them, effectively
77467         ignoring them.
77468         [TEST_DIRNAME] (main): New unit tests.
77469
77470         * lib/memrchr.c: New file from GNU libc.
77471         Undef __memrchr, too.
77472         [!weak_alias]: Define __memrchr to memrchr.
77473         Guard weak_alias use with `#ifdef weak_alias'.
77474
77475 2000-10-21  Jim Meyering  <meyering@lucent.com>
77476
77477         * lib/dirname.c (dir_name_r): New function, factored out of dir_name.
77478         (dir_name): Use dir_name_r.
77479         * lib/dirname.h (dir_name_r): Declare it.
77480
77481 2000-10-17  Jim Meyering  <meyering@lucent.com>
77482
77483         * lib/quote.h (PARAMS): Define and use.
77484         Reported by Akim Demaille.
77485
77486         * lib/getopt.c: Update from libc.
77487
77488 2000-10-16  Jim Meyering  <meyering@lucent.com>
77489
77490         * lib/hard-locale.c (hard_locale): Use "", not 0 as 2nd arg to
77491         setlocale.
77492         From Jan Fedak.
77493
77494 2000-10-15  Stefan Monnier  <monnier@cs.yale.edu>
77495
77496         * regex.c (WIDE_CHAR_SUPPORT): Define if _LIBC as well.
77497
77498 2000-09-25  Jim Meyering  <meyering@lucent.com>
77499
77500         * lib/md5.h (rol): Define (from GnuPG).
77501
77502         * lib/sha.c: Give credit (GnuPG) where due.
77503         (M): Use rol rather than open-coding it.
77504         Add a FIXME comment.
77505
77506 2000-09-21  Jim Meyering  <meyering@lucent.com>
77507
77508         * lib/userspec.c (parse_user_spec): Remove debugging printf I'd added.
77509         Reported by Michael Stone.
77510
77511 2000-09-20  Jim Meyering  <meyering@lucent.com>
77512
77513         * lib/Makefile.am (libfetish_a_SOURCES): Add sha.c.
77514         (noinst_HEADERS): Add sha.h.
77515         Based on code from Scott G. Miller and from GnuPG.
77516
77517 2000-09-18  Jim Meyering  <meyering@lucent.com>
77518
77519         * m4/getloadavg.m4 (AC_FUNC_GETLOADAVG): Restore the initial value of
77520         LIBS. Otherwise, everyone ends up linking with -lelf for some
77521         configurations.
77522         Reported by Mike Stone.
77523
77524 2000-09-15  Jim Meyering  <meyering@lucent.com>
77525
77526         * lib/regex.c: Update from libc.
77527
77528 2000-09-10  Jim Meyering  <meyering@lucent.com>
77529
77530         * lib/getopt.c (_getopt_internal): Update from glibc.
77531
77532 2000-09-09  Jim Meyering  <meyering@lucent.com>
77533
77534         * lib/quotearg.c: Rename ISASCII to IN_CTYPE_DOMAIN, so people don't
77535         think it should be used as a general replacement for isascii.
77536         * lib/fnmatch.c: Likewise.
77537         * lib/mbswidth.c: Likewise
77538         * lib/regex.c: Likewise.
77539
77540         Don't use atoi.
77541         * lib/userspec.c: Include sys/param.h and limits.h.
77542         Include xstrtol.h.
77543         (CHAR_BIT, TYPE_SIGNED, TYPE_MINIMUM, TYPE_MAXIMUM): Define.
77544         (UID_T_MAX, GID_T_MAX, MAXUID, MAXGID): Define.
77545         (parse_user_spec): Use xstrtoul, not atoi when converting numeric
77546         UID, GID.  Check range.
77547
77548 2000-09-06  Jim Meyering  <meyering@lucent.com>
77549
77550         * lib/getopt.c (_getopt_internal): Update from glibc.
77551
77552 2000-08-30  Jim Meyering  <meyering@lucent.com>
77553
77554         * lib/strftime.c: Merge in changes from GNU libc.
77555
77556 2000-08-26  Jim Meyering  <meyering@lucent.com>
77557
77558         * m4/jm-macros.m4: Use jm_FUNC_FPENDING.
77559         * m4/fpending.m4: New file.
77560
77561 2000-08-26  Jim Meyering  <meyering@lucent.com>
77562
77563         * lib/closeout.c: Include "__fpending.h".
77564         (close_stdout_status): Return right away if there's nothing to flush.
77565
77566         * lib/Makefile.am (noinst_HEADERS): Add __fpending.h.
77567         * lib/__fpending.c: New file.
77568         * lib/__fpending.h: New file.
77569
77570 2000-08-20  Jim Meyering  <meyering@lucent.com>
77571
77572         * m4/check-decl.m4: Include utmp.h `#if HAVE_UTMP_H', rather than
77573         `#if !HAVE_UTMPX_H'.  The latter would lose on systems with neither
77574         utmp.h nor utmpx.h.  Reported by Eli Zaretskii.
77575
77576 2000-08-11  J. David Anglin  <dave@hiauly1.hia.nrc.ca>
77577
77578         Improve fileutils installation on systems where running
77579         programs (like install) can't be unlinked.
77580         * m4/unlink-busy.m4 (jm_FUNC_UNLINK_BUSY_TEXT): New file/macro.
77581         * m4/jm-macros.m4: Use jm_FUNC_UNLINK_BUSY_TEXT.
77582
77583 2000-08-07  Paul Eggert  <eggert@twinsun.com>
77584
77585         Standardize on "memory exhausted" instead of "Memory exhausted"
77586         or "virtual memory exhausted".
77587         * lib/obstack.c (print_and_abort): Use "memory exhausted", not
77588         "virtual memory exhausted".
77589         * lib/same.c (same_name): Invoke xalloc_die instead of printing
77590         our own message.
77591         * lib/userspec.c (parse_user_spec): Likewise.
77592         * lib/bumpalloc.h: comment fix
77593         * lib/same.c, userspec.c: Include xalloc.h.
77594
77595         * lib/xalloc.h (xalloc_msg_memory_exhausted): Now char const[],
77596         not char *const and pointing to a constant array.
77597         * lib/xmalloc.c (xalloc_msg_memory_exhausted): Likewise.
77598         (xrealloc): Comment fix.
77599
77600         * lib/userspec.c (parse_user_spec):
77601         Don't translate a message until just before returning,
77602         to avoid unnecessary translation.
77603
77604 2000-08-07  Jim Meyering  <meyering@lucent.com>
77605
77606         * lib/addext.c, argmatch.c, argmatch.h, backupfile.h, bumpalloc.h,
77607         chown.c, diacrit.h, dirname.h, dup2.c, exclude.h, fileblocks.c,
77608         fnmatch.c, fnmatch.h, fsusage.c, fsusage.h, getdate.h,
77609         getgroups.c, gethostname.c, getopt.h, group-member.c,
77610         hard-locale.c, hash.h, isdir.c, lchown.c, linebuffer.c,
77611         linebuffer.h, long-options.h, malloc.c, md5.c, md5.h, memchr.c,
77612         memcmp.c, memcoll.c, memset.c, mktime.c, modechange.h, obstack.h,
77613         pathmax.h, realloc.c, rmdir.c, safe-read.c, save-cwd.c, stime.c,
77614         stpcpy.c, strcasecmp.c, strcspn.c, strdup.c, stripslash.c,
77615         strstr.c, strtod.c, strtol.c, strtoul.c, strtoull.c, strtoumax.c,
77616         utime.c, version-etc.h, xalloc.h, xstrdup.c, xstrtoumax.c,
77617         yesno.c: Back out Copyright date changes for each file with no change
77618         this year.  This eases coordination with other programs using the same
77619         source code modules.  From Paul Eggert.
77620
77621 2000-08-06  Paul Eggert  <eggert@twinsun.com>
77622
77623         * m4/mbstate_t.m4 (AC_MBSTATE_T): Define mbstate_t to be int,
77624         not char, for compatibility with glibc 2.1.3 strftime.c.
77625
77626 2000-08-03  Greg McGary  <greg@mcgary.org>
77627
77628         * lib/regex.c (SET_HIGH_BOUND, MOVE_BUFFER_POINTER,
77629         ELSE_EXTEND_BUFFER_HIGH_BOUND): New macros.
77630         (EXTEND_BUFFER): Use them.
77631
77632 2000-08-01  Jim Meyering  <meyering@lucent.com>
77633
77634         * lib/dirname.c (ISSLASH): Define.
77635         (BACKSLASH_IS_PATH_SEPARATOR): Define.
77636         (dir_name) [BACKSLASH_IS_PATH_SEPARATOR]: Handle the case in which
77637         both `\' and `/' may be use as path separators.
77638         Based on a patch from Prashant TR.
77639
77640 2000-07-31  Paul Eggert  <eggert@twinsun.com>
77641
77642         * lib/quotearg.c (quotearg_n_options): Don't make the initial
77643         slot vector a constant, since it might get modified.
77644
77645 2000-07-31  Jim Meyering  <meyering@lucent.com>
77646
77647         * lib/xmalloc.c: Use `virtual memory exhausted', not
77648         `Memory exhausted'.
77649         * lib/obstack.c (print_and_abort): Likewise.
77650
77651 2000-07-30  Paul Eggert  <eggert@twinsun.com>
77652
77653         * lib/quotearg.c (quotearg_n_options): Preallocate a slot 0
77654         buffer, so that the caller can always quote one small
77655         component of a "memory exhausted" message in slot 0.
77656         From a suggestion by Jim Meyering.
77657
77658 2000-07-30  Jim Meyering  <meyering@lucent.com>
77659
77660         * lib/makepath.c (make_path): Quote the other instance, too.
77661
77662         * lib/quotearg.c (N_STATIC_SLOTVECS): Define.
77663         (STATIC_BUF_SIZE): Define.
77664         (quotearg_n_options): Use only statically allocated storage when
77665         N < N_STATIC_SLOTVECS and the length of the quoted result is smaller
77666         than STATIC_BUF_SIZE.
77667
77668 2000-07-29  Jim Meyering  <meyering@lucent.com>
77669
77670         * lib/diacrit.c (diacrit_diac): Use __MSDOS__ in favor of MSDOS.
77671         * lib/dirname.c (dir_name): Likewise.
77672
77673         * lib/basename.c (base_name): Use ISSLASH rather than comparing against
77674         `/'.
77675
77676         * lib/dirname.c (dir_name) [MSDOS]: Declare `lim' to be const.
77677         (dir_name): Assert that there are no trailing slashes.
77678
77679 2000-07-29  Bruno Haible  <haible@clisp.cons.org>
77680
77681         * lib/mbswidth.h (mbswidth): Add a flags argument.
77682         (mbswidth): New declaration.
77683         (MBSW_ACCEPT_INVALID, MBSW_ACCEPT_UNPRINTABLE): New macros.
77684         * lib/mbswidth.c (mbswidth): Add a flags argument.
77685         (mbsnwidth): New function.
77686
77687 2000-07-24  Jim Meyering  <meyering@lucent.com>
77688
77689         * lib/mbswidth.c: Remove useless #else.  From Bruno Haible.
77690
77691 2000-07-23  Paul Eggert  <eggert@twinsun.com>
77692
77693         * m4/mbswidth.m4 (jm_PREREQ_MBSWIDTH): Check for wcwidth declaration.
77694
77695 2000-07-23  Paul Eggert  <eggert@twinsun.com>
77696
77697         * lib/quotearg.c: Streamline by invoking multibyte code only if needed.
77698         <wchar.h>: Include only if HAVE_MBRTOWC && 1 < MB_LEN_MAX.
77699         (MB_CUR_MAX): Redefine to 1 if ! (HAVE_MBRTOWC && 1 < MB_LEN_MAX).
77700         (quotearg_buffer_restyled): If a unibyte locale, don't bother to
77701         invoke multibyte primitives.
77702
77703 2000-07-23  Paul Eggert  <eggert@twinsun.com>
77704
77705         * lib/quotearg.c:
77706         Include <wchar.h> even if ! (HAVE_MBRTOWC && 1 < MB_LEN_MAX),
77707         so that mbstate_t is always defined.
77708
77709         Do not inspect MB_LEN_MAX, since it's incorrectly defined to
77710         be 1 in at least one GCC installation, and this configuration
77711         error is likely to be common.  Ignoring MB_LEN_MAX hurts
77712         performance on hosts that have mbrtowc but have only unibyte
77713         locales, but I assume these hosts are rare.
77714
77715 2000-07-23  Paul Eggert  <eggert@twinsun.com>
77716
77717         * lib/mbswidth.c (_XOPEN_SOURCE):
77718         Don't define; this causes problems on Solaris 7.
77719         (wcwidth) [!HAVE_DECL_WCWIDTH]: Declare.
77720
77721 2000-07-23  Jim Meyering  <meyering@lucent.com>
77722
77723         * m4/check-decl.m4 (jm_CHECK_DECLS): Check for declarations of these,
77724         too: getgrgid, getpwuid, getuid.
77725
77726 2000-07-23  Jim Meyering  <meyering@lucent.com>
77727
77728         * lib/basename.c (base_name): Add an assertion.
77729
77730 2000-07-23  Bruno Haible  <haible@clisp.cons.org>
77731
77732         * lib/quotearg.c: When the system forces us to redefine mbstate_t,
77733         shadow its mbsinit function.
77734
77735 2000-07-17  Bruno Haible  <haible@clisp.cons.org>
77736
77737         * lib/mbswidth.h: New file.
77738         * lib/mbswidth.c: New file.
77739         * lib/Makefile.am (libfetish_a_SOURCES): Add mbswidth.c.
77740         (noinst_HEADERS): Add mbswidth.h.
77741
77742 2000-07-17  Bruno Haible  <haible@clisp.cons.org>
77743
77744         * lib/config.charset: Add support for FreeBSD. Improve support for
77745         HP-UX and IRIX 6.
77746
77747 2000-07-16  Bruno Haible  <haible@clisp.cons.org>
77748
77749         * m4/mbswidth.m4: New file.
77750         * m4/prereq.m4 (jm_PREREQ): Call jm_PREREQ_MBSWIDTH.
77751
77752 2000-07-15  Jim Meyering  <meyering@lucent.com>
77753
77754         * lib/makepath.c: Include quote.h.
77755         (make_path): Convert "`%s'" in format strings to "%s", and wrap each
77756         corresponding argument in a `quote (...)' call.
77757         Give better diagnostics.
77758
77759         * lib/Makefile.am (libfetish_a_SOURCES): Add quote.c.
77760         (noinst_HEADERS): Add quote.h.
77761
77762         * lib/quote.c (quote, quote_n): New file.  Two functions taken verbatim
77763         from tar's src/misc.c.
77764         * lib/quote.h: New file.  Prototypes for same.
77765
77766 2000-07-14  Paul Eggert  <eggert@twinsun.com>
77767
77768         From a suggestion by Bruno Haible.
77769         * lib/quotearg.c (mbrtowc): Do not use HAVE_WCHAR_H in the definition.
77770         Use defined mbstate_t, not HAVE_MBSTATE_T_OBJECT,
77771         to decide whether to define the BeOS workaround macro;
77772         this adjusts to the change to AC_MBSTATE_T.
77773
77774 2000-07-14  Jim Meyering  <meyering@lucent.com>
77775
77776         * m4/xstrtoumax.m4 (jm_AC_PREREQ_XSTRTOUMAX): Require
77777         jm_AC_TYPE_UINTMAX_T.
77778
77779 2000-07-13  Paul Eggert  <eggert@twinsun.com>
77780
77781         * lib/quotearg.h (enum quoting style): New enum clocale_quoting_style.
77782
77783         * lib/quotearg.c (quoting_style_args, quoting_style_vals,
77784         quotearg_buffer_restyled): Add support for
77785         clocale_quoting_style.  Undo previous change to
77786         locale_quoting_style behavior, and undo the "{LEFT QUOTATION MARK}"
77787         and "{RIGHT QUOTATION MARK}" msgids.
77788
77789 2000-07-10  Paul Eggert  <eggert@twinsun.com>
77790
77791         From a suggestion by Bruno Haible.
77792         * m4/mbstate_t.m4 (AC_MBSTATE_T):
77793         Renamed from AC_MBSTATE_T_OBJECT.  All uses changed.
77794         Change from a two-part test, which defines both HAVE_MBSTATE_T_OBJECT
77795         and mbstate_t, to a single-part test that simply defines mbstate_t.
77796         * m4/prereq.m4 (jm_PREREQ_QUOTEARG):
77797         s/AC_MBSTATE_T_OBJECT/AC_MBSTATE_T/.
77798
77799 2000-07-10  Jim Meyering  <meyering@lucent.com>
77800
77801         * m4/strerror_r.m4: Mirror the correction made in autoconf.
77802
77803         * m4/gnu-source.m4: Output to confdefs.h directly.
77804         Suggestion from Akim Demaille.
77805
77806 2000-07-09  Paul Eggert  <eggert@twinsun.com>
77807
77808         The old behavior of quoting `like this' doesn't look good with
77809         newer, ISO-style fonts.  See:
77810         http://www.cl.cam.ac.uk/~mgk25/ucs/quotes.html
77811
77812         Instead, quote "like this" by default.  Let the translator
77813         tailor the locale-specific quoting behavior by providing
77814         translations for {LEFT QUOTATION MARK} and {RIGHT QUOTATION MARK}.
77815
77816         * lib/quotearg.c (N_): New macro.
77817         (gettext_default): New function.
77818         (quotearg_buffer_restyled): Use
77819         gettext_default ("{LEFT QUOTATION MARK}", "\"") for left quote, and
77820         gettext_default ("{RIGHT QUOTATION MARK}", "\"") for right quote.
77821
77822 2000-07-09  Jim Meyering  <meyering@lucent.com>
77823
77824         * m4/jm-macros.m4 (jm_MACROS): Add a test to see if -lm is required
77825         to link seq.  If so, set SEQ_LIBM to -lm.  From Bruno Haible.
77826
77827         * m4/gnu-source.m4 (AC__GNU_SOURCE): New file/macro.
77828         * m4/jm-macros.m4 (jm_CHECK_ALL_TYPES): Require it.
77829
77830 2000-07-09  Jim Meyering  <meyering@lucent.com>
77831
77832         * lib/Most files: Update copyright dates to include 2000.
77833
77834 2000-07-08  Jim Meyering  <meyering@lucent.com>
77835
77836         * lib/xgethostname.c (ENAMETOOLONG): Define to an unlikely value
77837         if not defined.
77838         (xgethostname): Remove now-unnecessary #ifdef.
77839         Move declaration of `err' into loop where it's used.
77840
77841 2000-07-05  Paul Eggert  <eggert@twinsun.com>
77842         and Bruno Haible  <haible@clisp.cons.org>
77843
77844         * m4/mbstate_t.m4 (AC_MBSTATE_T_OBJECT): Test for mbstate_t
77845         only if the test for an object-type mbstate_t fails.  This
77846         prevents us from mistakenly reporting that mbstate_t is a
77847         system object type after we "#define mbstate_t int" to work
77848         around its lack.
77849
77850 2000-07-05  Paul Eggert  <eggert@twinsun.com>
77851         and Bruno Haible  <haible@clisp.cons.org>
77852
77853         * lib/quotearg.c (mbrtowc): Declare returned type, since BeOS doesn't.
77854
77855 2000-07-05  Bruno Haible  <haible@clisp.cons.org>
77856
77857         * m4/strerror_r.m4 (AC_FUNC_STRERROR_R): Pass a reasonably large buffer
77858         to strerror_r.
77859         Include <ctype.h> for use of isalpha.
77860
77861 2000-07-05  Bruno Haible  <haible@clisp.cons.org>
77862
77863         * lib/xgethostname.c (xgethostname): Protect against the SunOS 5.5 bug
77864         by allocating a larger buffer. Test the gethostname return value for
77865         being >= 0, not == 0, for BeOS.  Don't exhaust memory if gethostname
77866         returns an error and ENAMETOOLONG isn't defined.
77867
77868 2000-07-05  Bruno Haible  <haible@clisp.cons.org>
77869
77870         * lib/quotearg.c (struct quoting_options): Simplify quote_these_too
77871         dimension.
77872
77873 2000-07-04  Jim Meyering  <meyering@lucent.com>
77874
77875         * m4/fsusage.m4 (jm_FILE_SYSTEM_USAGE): Use plain old `echo' instead
77876         of the deprecated AC_CHECKING.
77877
77878 2000-07-04  Jim Meyering  <meyering@lucent.com>
77879
77880         * lib/strndup.c: [!HAVE_DECL_STRNLEN]: Declare strnlen.
77881         Reported by Bruno Haible.
77882
77883 2000-07-04  Jim Meyering  <meyering@lucent.com>
77884
77885         * lib/quotearg.c: Make inclusion of <wchar.h> independent of whether
77886         HAVE_MBRTOWC is set.  Required at least for irix-5.6, which
77887         lacks mbrtowc.
77888
77889 2000-07-03  Paul Eggert  <eggert@twinsun.com>
77890
77891         * m4/mbstate_t.m4 (AC_MBSTATE_T_OBJECT): Port to autoconf 2.13.
77892         Add AC_CHECK_HEADERS(stdlib.h), since we use HAVE_STDLIB_H.
77893
77894 2000-07-03  Paul Eggert  <eggert@twinsun.com>
77895         and Bruno Haible  <haible@clisp.cons.org>
77896
77897         * lib/quotearg.c (mbrtowc):
77898         Assign to *pwc, and return 1 only if result is nonzero.
77899         (iswprint): Use ISPRINT when substituting our own mbrtowc.
77900
77901 2000-07-03  Jim Meyering  <meyering@lucent.com>
77902
77903         * m4/check-decl.m4 (AC_CHECK_DECLS): Add strnlen.
77904
77905 2000-07-03  Jim Meyering  <meyering@lucent.com>
77906
77907         * lib/readutmp.h: [HAVE_UTMPX_H]: Include <utmp.h> if HAVE_UTMP_H.
77908         This is necessary to get a definition of e.g., UTMP_FILE on
77909         HP-UX 10.20.
77910         From Bob Proulx.
77911
77912 2000-07-02  Jim Meyering  <meyering@lucent.com>
77913
77914         * m4/mbstate_t.m4: Also define mbstate_t, if necessary.
77915
77916         * m4/chown.m4: Replace each use of AC_SUBST(LIBOBJS)/LIBOBJS=... with
77917         AC_LIBOBJ(function_name).
77918         * m4/chown.m4: Likewise.
77919         * m4/fnmatch.m4: Likewise.
77920         * m4/ftruncate.m4: Likewise.
77921         * m4/getgroups.m4: Likewise.
77922         * m4/getline.m4: Likewise.
77923         * m4/group-member.m4: Likewise.
77924         * m4/jm-macros.m4: Likewise.
77925         * m4/lstat.m4: Likewise.
77926         * m4/malloc.m4: Likewise.
77927         * m4/memcmp.m4: Likewise.
77928         * m4/nanosleep.m4: Likewise.
77929         * m4/putenv.m4: Likewise.
77930         * m4/realloc.m4: Likewise.
77931         * m4/regex.m4: Likewise.
77932         * m4/stat.m4: Likewise.
77933         * m4/strftime.m4: Likewise.
77934
77935 2000-07-02  Jim Meyering  <meyering@lucent.com>
77936
77937         * lib/quotearg.c (mbstate_t): Don't define here.
77938
77939 2000-07-02  Jim Meyering  <meyering@lucent.com>
77940
77941         * lib/nanosleep.c (SIGCONT): Define if not already defined.
77942
77943 2000-07-01  Jim Meyering  <meyering@lucent.com>
77944
77945         * m4/uptime.m4: Put double quotes around use of $cross_compiling.
77946
77947 2000-07-01  Jim Meyering  <meyering@lucent.com>
77948
77949         * m4/ls-mntd-fs.m4: Remove a `FIXME' comment and fix the associated
77950         problem.
77951
77952 2000-07-01  Bruno Haible  <haible@clisp.cons.org>
77953
77954         * m4/ls-mntd-fs.m4 (jm_LIST_MOUNTED_FILESYSTEMS): Rename BeOS specific
77955         macro from MOUNTED_NEXT_DEV to MOUNTED_FS_STAT_DEV.
77956
77957 2000-07-01  Bruno Haible  <haible@clisp.cons.org>
77958
77959         * lib/mountlist.c: Use MOUNTED_FS_STAT_DEV instead of MOUNTED_NEXT_DEV,
77960         per change in ../m4/ls-mntd-fs.m4.
77961         (read_filesystem_list): Ignore symbolic links.
77962
77963 2000-06-29  Jim Meyering  <meyering@lucent.com>
77964
77965         * lib/same.c: Include <string.h> or <strings.h>, as appropriate,
77966         for declaration of strcmp.
77967
77968         * lib/long-options.c: Include <stdlib.h>, for declaration of exit.
77969
77970         * lib/mountlist.c (fsp_to_string) [HAVE_F_FSTYPENAME_IN_STATFS]:
77971         Avoid warning by casting result to `char *' to remove `const'.
77972
77973 2000-06-28  Jim Meyering  <meyering@lucent.com>
77974
77975         * m4/mbstate_t.m4: Use stdlib.h, not stdio.h.  The latter is not
77976         included by quotearg.c, for which we perform this test.  From
77977         Bruno Haible.
77978
77979 2000-06-27  Bruno Haible  <haible@clisp.cons.org>
77980
77981         * m4/check-decl.m4 (_jm_DECL_HEADERS): Check for utmp.h as well.
77982         * m4/prereq.m4 (jm_PREREQ_READUTMP): Likewise. If either <utmp.h> or
77983         <utmpx.h> exists, put readutmp.o into LIBOBJS.
77984
77985 2000-06-27  Bruno Haible  <haible@clisp.cons.org>
77986
77987         * lib/Makefile.am (libfetish_a_SOURCES): Remove readutmp.c.
77988
77989 2000-06-26  Paul Eggert  <eggert@twinsun.com>
77990
77991         savedir now sets errno on failure and invokes xmalloc to get memory.
77992         Fix a couple of other minor bugs while we're at it.
77993
77994         * lib/savedir.c (<unistd.h>): Do not include; there's no need.
77995         (NAMLEN): Remove macro.
77996         (malloc, realloc): Remove decls.
77997         (stpcpy): Likewise.
77998         ("xalloc.h"): Include.
77999         (NAME_SIZE_DEFAULT): New macro.
78000         (savedir): Use xmalloc / xrealloc to allocate memory.
78001         Use NAME_SIZE_DEFAULT if name_size is negative or overflows to zero.
78002         Skip "" directory entries.
78003         Use strlen to calculate directory entry length, since the old method
78004         is rarely used these days and isn't worth supporting.
78005         Don't use a pointer after freeing it.
78006         Check for integer overflow when calculating allocation size.
78007         Use memcpy to copy entries, instead of stpcpy.
78008         Set errno properly when returning NULL.
78009         Check for readdir error.
78010
78011 2000-06-26  Jim Meyering  <meyering@lucent.com>
78012
78013         * lib/posixtm.c [HAVE_STDLIB_H]: Include stdlib.h, for decl of abort.
78014
78015 2000-06-25  Jim Meyering  <meyering@lucent.com>
78016
78017         * m4/mbstate_t.m4: Include stdio.h before wchar.h to work around
78018         Linux header bug when _XOPEN_SOURCE is defined to 500.
78019
78020 2000-06-25  Bruno Haible  <haible@clisp.cons.org>
78021
78022         * lib/unicodeio.c (print_unicode_char): Work around ansi2knr
78023         deficiency.
78024
78025 2000-06-25  Bruno Haible  <haible@clisp.cons.org>
78026
78027         * lib/getusershell.c (xmalloc, xrealloc): Remove functions.
78028         Include xalloc.h.
78029         Don't include <stdlib.h>.  Don't declare malloc, realloc.
78030
78031 2000-06-24  Jim Meyering  <meyering@lucent.com>
78032
78033         * m4/strerror_r.m4: Revive this file -- to try out an experimental
78034         version of AC_FUNC_STRERROR_R that may work even on BeOS, a system
78035         for which strerror does return char*, but which lacks a conveniently
78036         accessible declaration of the function.  If the compile-test says
78037         strerror_r doesn't work, then resort to a `run'-test that works on
78038         BeOS and segfaults on DEC Unix.
78039
78040 2000-06-24  Jim Meyering  <meyering@lucent.com>
78041
78042         * lib/error.c [!HAVE_DECL_STRERROR_R]: Declare strerror_r.
78043
78044 2000-06-23  Paul Eggert  <eggert@twinsun.com>
78045
78046         * m4/mbstate_t.m4: New file, defining AC_MBSTATE_T_OBJECT.
78047         * m4/prereq.m4 (jm_PREREQ_QUOTEARG): Use it.  Add check for iswprint.
78048
78049 2000-06-23  Paul Eggert  <eggert@twinsun.com>
78050
78051         * lib/quotearg.c: Include <wctype.h> after <wchar.h>, for Solaris 2.5.
78052         (mbrtowc, mbstate_t): Define substitutes if
78053         HAVE_MBRTOWC && HAVE_WCHAR_H && !HAVE_MBSTATE_T_OBJECT.
78054         (iswprint): Define to 1 if !defined iswprint && !HAVE_ISWPRINT,
78055         not if ! (HAVE_MBRTOWC && HAVE_WCHAR_H).
78056
78057 2000-06-23  Jim Meyering  <meyering@lucent.com>
78058
78059         * m4/afs.m4: Add missing AC_MSG_RESULT.
78060         Reported by Bruno Haible.
78061
78062         * m4/fsusage.m4: s/AC_MSG_CHECKING/AC_CHECKING/.
78063         Suggestion from Bruno Haible.
78064
78065 2000-06-23  Jim Meyering  <meyering@lucent.com>
78066
78067         * lib/getpass.c: New file, from Bruno Haible.  Required for BeOS.
78068
78069 2000-06-21  Jim Meyering  <meyering@lucent.com>
78070
78071         * m4/jm-macros.m4 (AC_REPLACE_FUNCS): Add getpass.
78072
78073 2000-06-21  Jim Meyering  <meyering@lucent.com>
78074
78075         * lib/Makefile.am (libfetish_a_SOURCES): Add getstr.c.
78076         (noinst_HEADERS): Add getstr.h.
78077
78078         * lib/getline.c (getstr): Move into a separate file.
78079         * lib/getstr.c (getstr): New file, extracted from getline.c, with
78080         the following changes: new parameter, delim2; both delim[12]
78081         parameters have type `int', not `char'.  The latter would lose
78082         with 8-bit delimiters.
78083         * lib/getstr.h: New file.
78084
78085 2000-06-21  Bruno Haible  <haible@clisp.cons.org>
78086
78087         * lib/xgetcwd.c (xgetcwd): If the required pathname length is smaller
78088         than 1024, return a memory chunk of least possible size, instead
78089         of size PATH_MAX + 2. In the loop, increment the size proportionally.
78090         Use free/xmalloc instead of xrealloc to avoid copying for very long
78091         paths.
78092
78093 2000-06-21  Bruno Haible  <haible@clisp.cons.org>
78094
78095         * lib/path-concat.c (path_concat): Don't access dir[-1] if dir is
78096         the empty string.
78097
78098 2000-06-21  Bruno Haible  <haible@clisp.cons.org>
78099
78100         * lib/canon-host.c (canon_host): Use malloc and memcpy to copy an
78101         address, not strdup.  Include <stdlib.h> and don't declare free().
78102
78103 2000-06-19  Jim Meyering  <meyering@lucent.com>
78104
78105         * lib/getloadavg.c [HAVE_NLIST_H] (NLIST_STRUCT): Define.
78106
78107 2000-06-18  Jim Meyering  <meyering@lucent.com>
78108
78109         * m4/jm-macros.m4 (AC_REPLACE_FUNCS): Remove mkdir.
78110
78111         * m4/link-follow.m4 (jm_AC_FUNC_LINK_FOLLOWS_SYMLINK): Change the
78112         `checking whether...' message to be consistent with that of the
78113         lstat test.
78114
78115 2000-06-18  Jim Meyering  <meyering@lucent.com>
78116
78117         * lib/mkdir.c: Remove file, due mainly to copyright incompatibility.
78118         Besides, these days every porting target provides a mkdir function.
78119
78120         * lib/strnlen.c: Include memory.h, string.h, and/or strings.h as
78121         needed. (this snippet comes from src/system.h).
78122
78123 2000-06-16  Bruno Haible  <haible@clisp.cons.org>
78124
78125         * m4/glibc21.m4 (jm_GLIBC21): Define GLIBC21 for Makefiles, not for C.
78126
78127 2000-06-15  Paul Eggert  <eggert@twinsun.com>
78128
78129         * lib/human.c (adjust_value): New function.
78130         (human_readable_inexact): Apply rounding style even when
78131         printing approximate values.
78132
78133 2000-06-14  Paul Eggert  <eggert@twinsun.com>
78134
78135         * lib/human.c (human_readable_inexact): Allow an input block
78136         size that is not a multiple of the output block size, and vice versa.
78137         Reported by Piergiorgio Sartor.
78138
78139 2000-06-14  Paul Eggert  <eggert@twinsun.com>
78140
78141         * lib/getdate.y (get_date): Apply relative times after time
78142         zone indicator, not before.  Reported by Todd A. Jacobs.
78143
78144 2000-06-13  Jim Meyering  <meyering@lucent.com>
78145
78146         * lib/Makefile.am (all-local): Depend on lstat.c and stat.c.
78147
78148         * lib/xstat.in [!HAVE_DECL_FREE]: Declare free in lstat.c.
78149
78150 2000-06-12  Paul Eggert  <eggert@twinsun.com>
78151
78152         * lib/xstat.in: Include <stdlib.h> in lstat, to declare "free".
78153
78154 2000-06-12  Jim Meyering  <meyering@lucent.com>
78155
78156         * m4/getloadavg.m4 (AM_FUNC_GETLOADAVG): Replace with
78157         AC_FUNC_GETLOADAVG from autoconf, and tweak the latter to accept an
78158         optional argument.
78159         * m4/jm-macros.m4: s/AM_FUNC_GETLOADAVG/AC_FUNC_GETLOADAVG/, and supply
78160         the optional argument, `lib'.
78161
78162 2000-06-08  Jim Meyering  <meyering@lucent.com>
78163
78164         * m4/largefile.m4: Remove file (now that it's part of autoconf).
78165
78166 2000-06-04  Paul Eggert  <eggert@twinsun.com>
78167
78168         Rewrite largefile configuration so that we don't need to run
78169         getconf and don't need AC_CANONICAL_HOST.  [I'm leaving the use of
78170         AC_CANONICAL_HOST in configure.in -- jmm]
78171
78172         * m4/largefile.m4 (AC_SYS_LARGEFILE_FLAGS,
78173         AC_SYS_LARGEFILE_SPACE_APPEND): Remove.
78174         (AC_SYS_LARGEFILE_TEST_INCLUDES): New macro.
78175         (AC_SYS_LARGEFILE_MACRO_VALUE): Change arguments from
78176         CODE-TO-SET-DEFAULT to VALUE, INCLUDES, FUNCTION-BODY.
78177         All uses changed.
78178         Instead of inspecting the output of getconf, try to compile the
78179         test program without and with the macro definition.
78180         (AC_SYS_LARGEFILE): Do not require AC_CANONICAL_HOST or check
78181         for getconf.  Instead, check for the needed flags by compiling
78182         test programs.
78183
78184 2000-06-04  Paul Eggert  <eggert@twinsun.com>
78185
78186         * lib/strnlen.c: Include <config.h> if HAVE_CONFIG_H.
78187
78188 2000-06-04  Jim Meyering  <meyering@lucent.com>
78189
78190         * lib/getugroups.c (getugroups): Cast -1 to gid_t, for systems like
78191         SunOS 4.1.4 for which gid_t is an unsigned type.
78192
78193 2000-06-03  Jim Meyering  <meyering@lucent.com>
78194
78195         * m4/prereq.m4 (jm_PREREQ_HUMAN): Use []-quoted list in AC_CHECK_DECLS,
78196         now that autoconf requires that.
78197
78198         * m4/jm-glibc-io.m4: Add a kludge to make autoheader emit the required
78199         #undefs.  E.g., #undef HAVE_DECL_FERROR_UNLOCKED.
78200         Use []-quoted list in AC_CHECK_DECLS, now that autoconf requires that.
78201
78202 2000-06-03  Jim Meyering  <meyering@lucent.com>
78203
78204         * lib/strnlen.c [!HAVE_DECL_MEMCHR]: Declare memchr.
78205
78206 2000-06-03  Bruno Haible  <haible@clisp.cons.org>
78207
78208         * m4/glibc21.m4: New file.
78209         * m4/jm-macros.m4 (jm_MACROS): Call jm_GLIBC21.
78210
78211 2000-06-03  Bruno Haible  <haible@clisp.cons.org>
78212
78213         * lib/Makefile.am (install-exec-local): On systems with glibc-2.1 or
78214         newer, don't install charset.alias.
78215         * lib/config.charset: Change the Linux/glibc rules so they become empty
78216         on glibc-2.1 or newer.
78217
78218 2000-06-02  Jim Meyering  <meyering@lucent.com>
78219
78220         * lib/mountlist.c: Back out last change.  Instead, do this...
78221         * lib/mountlist.c (read_filesystem_list) [MOUNTED_VMOUNT]: Set the
78222         me_dummy member using the same `ignore'-testing code.
78223         * lib/mountlist.h (ME_DUMMY): Add `autofs' to the list of ignored
78224         fs_type strings.
78225         From Mark D. Roth.
78226
78227 2000-05-29  Jim Meyering  <meyering@lucent.com>
78228
78229         * lib/mountlist.c (read_filesystem_list) [MOUNTED_VMOUNT]: Ignore
78230         mounts with the `ignore' attribute.  Based on a patch from
78231         Mark D. Roth.
78232
78233 2000-05-28  Jim Meyering  <meyering@lucent.com>
78234
78235         * m4/jm-macros.m4 (AC_FUNC_LSTAT_FOLLOWS_SLASHED_SYMLINK): Rename from
78236         jm_FUNC_LSTAT_FOLLOWS_SLASHED_SYMLINK.
78237         * m4/stat.m4: Likewise.
78238         * m4/lstat.m4: Likewise.
78239         * m4/lstat-slash.m4: Remove file (absorbed into autoconf).
78240
78241         * m4/jm-macros.m4 (AC_FUNC_STRERROR_R): Rename from jm_FUNC_STRERROR_R.
78242         * m4/strerror_r.m4: Remove file (absorbed into autoconf).
78243
78244 2000-05-26  Jim Meyering  <meyering@lucent.com>
78245
78246         * m4/uptime.m4: Use `$cross_compiling', not `$ac_cv_prog_cc_cross'.
78247
78248 2000-05-24  Jim Meyering  <meyering@lucent.com>
78249
78250         * m4/prereq.m4: Use []-quoted list in AC_CHECK_MEMBERS, now that
78251         autoconf requires that.
78252         * m4/lib-check.m4: Likewise.
78253         * m4/jm-macros.m4: Likewise.
78254         * m4/strftime.m4: Likewise.
78255
78256         * m4/check-decl.m4 (jm_CHECK_DECLS): Use []-quoted list in
78257         AC_CHECK_DECLS, now that autoconf requires that.
78258
78259 2000-05-22  Jim Meyering  <meyering@lucent.com>
78260
78261         * m4/stat.m4: Require jm_FUNC_LSTAT_FOLLOWS_SLASHED_SYMLINK.
78262         * m4/lstat.m4: Likewise.
78263
78264 2000-05-22  Jim Meyering  <meyering@lucent.com>
78265
78266         * lib/makepath.c: Remove old, now-unnecessary `#ifdef __MSDOS__' block.
78267
78268 2000-05-20  Jim Meyering  <meyering@lucent.com>
78269
78270         * m4/prereq.m4 (jm_PREREQ_HUMAN): New macro.
78271         (jm_PREREQ): Use it.
78272
78273 2000-05-18  Jim Meyering  <meyering@lucent.com>
78274
78275         * lib/hash.c (hash_rehash): Fix a nasty bug: copy the free entry list
78276         back, too, since it may have been modified by allocate_entry.
78277         (hash_delete): Rewrite to use neither the assignment operator
78278         nor the comma operator in an if-expression.
78279
78280 2000-05-15  Paul Eggert  <eggert@twinsun.com>
78281
78282         * lib/closeout.c:
78283         <sys/stat.h>, <sys/types.h>, <unistd.h>, (STDOUT_FILENO):
78284         Remove; no longer needed.
78285         "quotearg.h": Add include.
78286         (file_name): Do not bother to explicitly initialize to NULL; it's less
78287         efficient on some hosts.
78288         (close_stdout_status): Remove test as to whether stdout was already
78289         closed; it breaks for the case "echo x | sort >&-".
78290         Quote file name colons.
78291         Do not assume that _("write error") lacks format strings.
78292
78293 2000-05-15  Jim Meyering  <meyering@lucent.com>
78294
78295         * lib/version-etc.c (version_etc_copyright): Update the copyright
78296         string used in all --version output.
78297
78298 2000-05-14  Jim Meyering  <meyering@lucent.com>
78299
78300         * lib/closeout.c (close_stdout_set_file_name): New function.
78301         (close_stdout_status): Use new file-scoped global.
78302         Return right away if fstat says the stdout file descriptor is invalid.
78303         * lib/closeout.h (close_stdout_set_file_name): Declare.
78304
78305 2000-05-10  Jim Meyering  <meyering@lucent.com>
78306
78307         * lib/closeout.c [default_exit_status]: New file-scoped variable.
78308         (close_stdout_set_status): New function.
78309         * lib/closeout.h (close_stdout_set_status): Declare.
78310
78311 2000-05-09  Jim Meyering  <meyering@lucent.com>
78312
78313         * m4/gettext.m4: Rename this...
78314         * m4/libintl.m4: ...to this.
78315
78316 2000-05-08  Jim Meyering  <meyering@lucent.com>
78317
78318         * lib/long-options.c: Don't include closeout.h.
78319         (parse_long_options): Don't call close_stdout for --version.
78320
78321 2000-05-06  Paul Eggert  <eggert@twinsun.com>
78322
78323         * m4/largefile.m4 (AC_SYS_LARGEFILE): Define _XOPEN_SOURCE to
78324         be 500, instead of _GNU_SOURCE to be 1, to work around glibc
78325         2.1.3 bug.  This avoids a clash when files like regex.c define
78326         _GNU_SOURCE.
78327
78328 2000-05-06  Jim Meyering  <meyering@lucent.com>
78329
78330         * m4/jm-macros.m4 (AC_REPLACE_FUNCS): Add atexit.
78331         (AC_REPLACE_FUNCS): Add strnlen.
78332
78333         * m4/rmdir-errno.m4 (fetish_FUNC_RMDIR_NOTEMPTY): New macro and file.
78334         * m4/jm-macros.m4: Require fetish_FUNC_RMDIR_NOTEMPTY.
78335
78336         * m4/nanosleep.m4 (jm_FUNC_NANOSLEEP): Save and restore LIBS around
78337         AC_SEARCH_LIBS call for nanosleep.
78338         (LIB_NANOSLEEP): Set and AC_SUBST.
78339
78340 2000-05-06  Jim Meyering  <meyering@lucent.com>
78341
78342         * lib/strnlen.c: Undefine __strnlen and strnlen.
78343         [!weak_alias]: Define __strnlen to strnlen.
78344
78345         * lib/atexit.c: New file, from libiberty.
78346
78347 2000-05-06  Jim Meyering  <meyering@lucent.com>
78348
78349         * lib/closeout.c (close_stdout_status): Also check for errors on the
78350         stderr stream.
78351
78352 2000-05-05  Jim Meyering  <meyering@lucent.com>
78353
78354         * m4/jm-macros.m4 (jm_MACROS): Save and restore LIBS around
78355         AC_SEARCH_LIBS call for clock_gettime.
78356         (LIB_CLOCK_GETTIME): Set and AC_SUBST.
78357
78358         * m4/search-libs.m4: Update from autoconf.
78359
78360         su doesn't work on Solaris 2.6.
78361         * m4/lib-check.m4: When checking for struct spwd.sp_pwdp, also include
78362         <shadow.h>.  Reported by Dragos Harabor.
78363
78364 2000-05-05  Bruno Haible  <haible@clisp.cons.org>
78365
78366         * lib/localcharset.c (get_charset_aliases): Use malloc, realloc and
78367         memcpy instead of xmalloc, xrealloc, path_concat.
78368         (locale_charset): Treat empty environment variables as absent.
78369         (DIRECTORY_SEPARATOR, ISSLASH): New macros.
78370
78371 2000-05-04  Jim Meyering  <meyering@lucent.com>
78372
78373         * lib/getopt.c: Update from glibc.
78374         * lib/obstack.c: Likewise.
78375         * lib/obstack.h: Likewise.
78376         * lib/regex.c: Likewise.  NB: K&R compiler support is dropped for this
78377         file
78378
78379         * lib/regex.h: Likewise.
78380         * lib/strndup.c: Likewise.
78381         * lib/strnlen.c: New file, from glibc.
78382
78383 2000-05-03  Jim Meyering  <meyering@lucent.com>
78384
78385         * m4/check-decl.m4 (AC_CHECK_DECLS): Add strndup.
78386
78387 2000-05-02  Paul Eggert  <eggert@twinsun.com>
78388
78389         * m4/largefile.m4 (AC_SYS_LARGEFILE): Define _GNU_SOURCE if
78390         this is needed to make ftello visible (e.g. glibc 2.1.3).  Use
78391         compile-time test, rather than inspecting host and OS, to
78392         decide whether to define _LARGEFILE_SOURCE.
78393
78394 2000-05-01  Jim Meyering  <meyering@lucent.com>
78395
78396         * m4/fsusage.m4: Use AC_MSG_CHECKING instead of obsolete AC_CHECKING.
78397
78398         * m4/ls-mntd-fs.m4 (jm_LIST_MOUNTED_FILESYSTEMS): Add BeOS support.
78399         Based on a patch from Bruno Haible.
78400
78401 2000-05-01  Jim Meyering  <meyering@lucent.com>
78402
78403         * lib/full-write.c (full_write): Remove `FIXME' part of comment.
78404
78405 2000-04-29  Jim Meyering  <meyering@lucent.com>
78406
78407         * lib/path-concat.c: Declare strdup only if it's not defined.
78408         * lib/canon-host.c: Likewise.
78409
78410 2000-04-28  Jim Meyering  <meyering@lucent.com>
78411
78412         * lib/rpmatch.c [HAVE_LIMITS_H]: Include limits.h before regex.h to
78413         avoid redefinition warning on some systems (HPUX).  Otherwise, regex.h
78414         is included first, then limits.h is included by locale.h by libintl.h.
78415         From John David Anglin.
78416
78417 2000-04-25  Jim Meyering  <meyering@lucent.com>
78418
78419         * lib/makepath.c (S_IRWXUGO): Define.
78420         (make_path): Always perform explicit chmod if MODE specifies any
78421         of the `special' permission bits.  Prompted by a bug report against
78422         install from Mate Wierdl and Joost van Baal.
78423
78424 2000-04-18  Jim Meyering  <meyering@lucent.com>
78425
78426         * m4/prereq.m4 (jm_PREREQ_GETPAGESIZE): New macro.
78427         (jm_PREREQ): Use it.
78428
78429 2000-04-18  Jim Meyering  <meyering@lucent.com>
78430
78431         * lib/README: New file.
78432
78433         * lib/getpagesize.h [!getpagesize && HAVE_OS_H && B_PAGE_SIZE]: Define
78434         getpagesize.  For BeOS.  Based on a patch from Bruno Haible.
78435
78436 2000-04-17  Jim Meyering  <meyering@lucent.com>
78437
78438         Get it right :-)
78439         * m4/jm-macros.m4 (jm_CHECK_ALL_TYPES) [_GNU_SOURCE]: Emit the
78440         actual #define via AH_VERBATIM.  Don't need separate AC_DEFINE.
78441         Suggestion from Akim Demaille.
78442
78443 2000-04-17  Jim Meyering  <meyering@lucent.com>
78444
78445         * lib/strftime.c (my_strftime) [strftime]: Declare strftime here, since
78446         the definition of it to rpl_strftime also defined-away the system's
78447         declaration.
78448
78449 2000-04-15  Jim Meyering  <meyering@lucent.com>
78450
78451         Use `C' to denote so-called `contiguous' files, the same way
78452         that tar does.
78453         * lib/filemode.c (S_ISCTG) [!S_ISCTG && S_IFCTG]: Define.
78454         (ftypelet): Use S_ISCTG.
78455         From Michael Deutschmann.
78456
78457 2000-04-14  Jim Meyering  <meyering@lucent.com>
78458
78459         * m4/jm-macros.m4 (jm_CHECK_ALL_TYPES) [_GNU_SOURCE]: Use the one-arg
78460         form of AC_DEFINE.  Otherwise, the #ifndef in AH_VERBATIM gets
78461         clobbered.
78462
78463 2000-04-14  Jim Meyering  <meyering@lucent.com>
78464
78465         * lib/strftime.c (my_strftime) [#ifdef strftime]: Declare strftime.
78466
78467 2000-04-13  Jim Meyering  <meyering@lucent.com>
78468
78469         * m4/jm-macros.m4 (jm_CHECK_ALL_TYPES) [_GNU_SOURCE]: Use new
78470         AH_VERBATIM to insert required #ifndef into config.h.in.
78471         Suggestion from Akim Demaille.
78472
78473 2000-04-12  Jim Meyering  <meyering@lucent.com>
78474
78475         * m4/getloadavg.m4 (AM_FUNC_GETLOADAVG): Use AC_CHECK_HEADERS, not
78476         `AC_CHECK_HEADER' to check for locale.h.  Thanks to a report from
78477         Christian Krackowizer.
78478
78479         More code moved from ../configure.in into (jm_CHECK_ALL_TYPES).
78480         * m4/jm-macros.m4 (_GNU_SOURCE): Define.
78481         (AC_SYS_LARGEFILE): Require.
78482         (AM_C_PROTOTYPES): Require.
78483
78484 2000-04-08  Jim Meyering  <meyering@lucent.com>
78485
78486         * lib/Makefile.am (charset.alias): Use t-$@, not $@-t so the DOS 8.3
78487         names don't conflict.  Reported by Eli Zaretskii.
78488
78489 2000-04-07  Jim Meyering  <meyering@lucent.com>
78490
78491         * lib/putenv.c: Move inclusion of errno.h so it follows that of
78492         sys/types.h, to work around system header problems on AIX 3.2.5.
78493         From Bruno Haible.
78494
78495 2000-04-07  Bruno Haible  <haible@clisp.cons.org>
78496
78497         * lib/unicodeio.c (print_unicode_char): Avoid triggering Solaris iconv
78498         bug.  Deal with the different error behavior of Irix iconv.
78499
78500 2000-04-05  Paul Eggert  <eggert@twinsun.com>
78501
78502         * m4/largefile.m4 (AC_SYS_LARGEFILE_FLAGS): Don't use -n32 on
78503         IRIX if the installer said otherwise.
78504
78505 2000-04-05  Jim Meyering  <meyering@lucent.com>
78506
78507         Portability tweaks required for ultrix4.3.
78508         * m4/check-decl.m4 [!HAVE_UTMPX_H] (headers): Include <utmp.h>.
78509         (jm_CHECK_DECLS): Add getutent to the list of functions.
78510         (_jm_DECL_HEADERS): Add utmpx.h.
78511         From John David Anglin.
78512
78513         * m4/strftime.m4: Back out the 2000-04-02 change.
78514         Instead of that change, simply undefine putenv in the test program.
78515
78516 2000-04-05  Jim Meyering  <meyering@lucent.com>
78517
78518         Portability tweaks required for ultrix4.3.
78519         * lib/readutmp.h [HAVE_UTMPX_H && !HAVE_DECL_GETUTENT]: Declare
78520         getutent.
78521         * lib/readutmp.c: Include sys/types.h before sys/stat.h.
78522         * lib/canon-host.c: Declare strdup.
78523         * lib/path-concat.c: Likewise.
78524         From John David Anglin.
78525
78526 2000-04-04  Jim Meyering  <meyering@lucent.com>
78527
78528         Be more DOS 8.3-friendly.
78529         * lib/ref-add.sin: Renamed from ref-add.sed.in.
78530         * lib/ref-del.sin: Renamed from ref-del.sed.in.
78531         * lib/Makefile.am: Reflect renaming.
78532         Reported by Eli Zaretskii.
78533
78534         Use a temporary file name that won't clash with `charset.alias'
78535         in the DOS 8.3 name space.
78536         * lib/Makefile.am (charset_tmp): Define.
78537         (install-exec-local): Use $(charset_tmp) instead of $(charset_alias)-t.
78538         (uninstall-local): Likewise.
78539         Reported by Eli Zaretskii.
78540
78541 2000-04-03  Jim Meyering  <meyering@lucent.com>
78542
78543         * m4/gettext.m4: Fix typo in comment.
78544
78545         * m4/codeset.m4 (AC_CHECK_HEADERS): Add langinfo.h (moved here from
78546         textutils/configure.in).  Suggestion from Paul Eggert.
78547         (AC_CHECK_FUNCS): Add nl_langinfo.  (also from textutils/configure.in)
78548
78549 2000-04-02  Paul Eggert  <eggert@twinsun.com>
78550
78551         * m4/strftime.m4 (jm_FUNC_GNU_STRFTIME): Set TZ environment
78552         variable in the shell rather than using putenv, which isn't
78553         portable.  This avoids the configure-time inter-test dependency
78554         on the potentially-renamed putenv function.
78555
78556 2000-03-30  Paul Eggert  <eggert@twinsun.com>
78557
78558         * m4/jm-macros.m4 (jm_CHECK_ALL_TYPES): Include <sys/stat.h>
78559         before checking struct stat.st_blksize, so that
78560         HAVE_STRUCT_STAT_ST_BLKSIZE is defined correctly.
78561
78562 2000-03-29  Paul Eggert  <eggert@twinsun.com>
78563
78564         * m4/strftime.m4 (_jm_STRFTIME_PREREQS): Check for strftime,
78565         since strftime.c uses HAVE_STRFTIME to decide whether to use
78566         the underlying strftime.
78567
78568 2000-03-29  Paul Eggert  <eggert@twinsun.com>
78569
78570         * lib/time/strftime.c (my_strftime): Make sure we call the system
78571         strftime, not ourselves, when invoking the underlying strftime.
78572
78573 2000-03-24  Jim Meyering  <meyering@lucent.com>
78574
78575         * lib/Makefile.am (EXTRA_DIST): Add ref-add.sed.in and ref-del.sed.in.
78576         (charset_alias): Define.
78577         (install-exec-local): Factor out common code.
78578         (uninstall-local): Split lines longer than 80.
78579         (ref-add.sed, ref-del.sed): Remove rules... (do the following instead)
78580         (SUFFIXES): Define.
78581         (.sed.in.sed): New rule.  Don't redirect directly to $@.
78582         (CLEANFILES): Add ref-add.sed and ref-del.sed.
78583
78584 2000-03-19  Bruno Haible  <haible@clisp.cons.org>
78585
78586         * lib/config.charset: Output a line containing "Packages using this
78587         file".
78588         * lib/ref-add.sed.in, lib/ref-del.sed.in: New files.
78589         * lib/Makefile.am (install-exec-local, uninstall-local, ref-add.sed,
78590         ref-del.sed): New rules.
78591
78592 2000-03-17  Jim Meyering  <meyering@lucent.com>
78593
78594         * lib/unicodeio.c (<string.h>): Include only #if HAVE_STRING_H.
78595         Otherwise, include <strings.h>
78596
78597 2000-03-17  Bruno Haible  <haible@clisp.cons.org>
78598
78599         * lib/unicodeio.c (utf8_wctomb): New function.
78600         (print_unicode_char): Pass the Unicode character to iconv in UTF-8
78601         format instead of in UCS-4 with platform dependent endianness.
78602
78603 2000-03-10  Jim Meyering  <meyering@lucent.com>
78604
78605         * m4/lib-check.m4: Look for getspnam in -lgen, too.
78606         From Marco Franzen.
78607
78608 2000-03-07  Paul Eggert  <eggert@twinsun.com>
78609
78610         * lib/savedir.c (savedir): Work even if directory size is
78611         negative; this can happen with some screwy NFS configurations.
78612
78613 2000-03-06  Jim Meyering  <meyering@lucent.com>
78614
78615         * lib/localcharset.c (get_charset_aliases): Don't try to free file_name
78616         if it's NULL (because we ran out of memory).  From Bruno Haible.
78617
78618 2000-03-05  Jim Meyering  <meyering@lucent.com>
78619
78620         * lib/localcharset.c ("path-concat.h"): Include.
78621         (get_charset_aliases): Use path_concat instead of ANSI string
78622         concatenation.
78623
78624         * lib/unicodeio.h (PARAMS): Define.
78625         Use it to guard prototype.
78626
78627 2000-03-04  Jim Meyering  <meyering@lucent.com>
78628
78629         * m4/jm-macros.m4 (jm_CHECK_ALL_TYPES): Require AC_C_VOLATILE,
78630         for lib/localcharset.c.
78631
78632 2000-03-04  Jim Meyering  <meyering@lucent.com>
78633
78634         * lib/Makefile.am (install-exec-local): Create $(libdir) before
78635         installing into it.
78636         (uninstall-local): Uncomment this rule so `make distcheck' works
78637         once again.
78638
78639         * lib/unicodeio.c (<errno.h>): Include it.
78640         (errno): Declare if not defined.
78641
78642         * lib/localcharset.c: Add Bruno's comment justifying use of volatile.
78643
78644         * lib/config.charset: New version, incorporating remarks from a linux
78645         i18n mailing list.  From Bruno Haible.
78646
78647 2000-03-04  Bruno Haible  <haible@clisp.cons.org>
78648
78649         * m4/codeset.m4: New file.
78650         * m4/iconv.m4: New file.
78651         * m4/jm-macros.m4 (jm_MACROS): Call jm_LANGINFO_CODESET and jm_ICONV.
78652
78653 2000-03-03  Jim Meyering  <meyering@lucent.com>
78654
78655         * m4/regex.m4: Make sure re_compile_pattern accepts patterns like `{1'.
78656
78657 2000-03-02  Jim Meyering  <meyering@lucent.com>
78658
78659         * m4/timespec.m4: Require AC_HEADER_TIME before the cache check so
78660         the messages come out on separate lines.
78661
78662         * m4/jm-glibc-io.m4 (jm_FUNC_GLIBC_UNLOCKED_IO): Use AC_CHECK_DECLS,
78663         rather than jm_CHECK_DECLARATIONS.
78664         * m4/decl.m4: Remove now-unused file.
78665
78666         * m4/check-decl.m4 (AC_CHECK_DECLS): Add getlogin, ttyname, and
78667         geteuid.
78668
78669 2000-03-02  Jim Meyering  <meyering@lucent.com>
78670
78671         * lib/Makefile.am (EXTRA_DIST): Add config.charset.
78672
78673 2000-03-01  Jim Meyering  <meyering@lucent.com>
78674
78675         * lib/localcharset.c: Guard some #includes with `#if HAVE_...'.
78676         * lib/unicodeio.c: Likewise.
78677
78678 2000-03-01  Bruno Haible  <haible@clisp.cons.org>
78679
78680         * lib/config.charset: New file.
78681         * lib/localcharset.c: New file.
78682         * lib/unicodeio.h, lib/unicodeio.c: New files.
78683         * lib/Makefile.am (DEFS): Add -DLIBDIR=...
78684         (libfetish_a_SOURCES): Add localcharset.c and unicodeio.c.
78685         (noinst_HEADERS): Add unicodeio.h.
78686         (all-local, install-exec-local, charset.alias): New targets.
78687
78688 2000-02-28  Paul Eggert  <eggert@twinsun.com>
78689
78690         * lib/quotearg.c (ALERT_CHAR): New macro.
78691         (quotearg_buffer_restyled): Use it.
78692
78693 2000-02-27  Jim Meyering  <meyering@lucent.com>
78694
78695         * m4/check-decl.m4: Add getenv to the list.
78696
78697 2000-02-27  Jim Meyering  <meyering@lucent.com>
78698
78699         * lib/strtoumax.c: Fix typo in decl of strtoul: s/long long/long/.
78700         Guard declaration of strtoull also with `&& HAVE_UNSIGNED_LONG_LONG'.
78701
78702         * lib/backupfile.c: Guard inclusion of stdlib.h with
78703         `#if HAVE_STDLIB_H', not `#if STDC_HEADERS'.
78704         Declare malloc if needed.
78705
78706         * lib/backupfile.c: Use `#if !HAVE_DECL...' instead of
78707         `#ifndef HAVE_DECL..'
78708         now that autoconf always defines the HAVE_DECL_ symbols.
78709         * lib/human.c: Likewise.
78710         * lib/same.c: Likewise.
78711         * lib/strtoumax.c: Likewise.
78712
78713         * lib/backupfile.c: Arrange for cpp to fail if the configure-time
78714         declaration check was not run.
78715         * lib/hash.c: Likewise.
78716         * lib/human.c: Likewise.
78717         * lib/same.c: Likewise.
78718         * lib/strtoumax.c: Likewise.
78719
78720         * lib/userspec.c (parse_user_spec): If there is no `:' but there is a
78721         `.', then first look up the entire `.'-containing string as a login
78722         name.
78723
78724 2000-02-23  Jim Meyering  <meyering@lucent.com>
78725
78726         * m4/check-decl.m4: Now that we have the new AC_CHECK_DECLS, use it
78727         in place of my hack.
78728
78729 2000-02-18  Paul Eggert  <eggert@twinsun.com>
78730
78731         * lib/getdate.y: Handle two-digit years with leading zeros correctly.
78732         (textint): New typedef.
78733         (parser_control): Member year changed from int to textint.
78734         All uses changed.
78735         (YYSTYPE): Removed; replaced by %union with int and textint members.
78736         (tDAY, tDAY_UNIT, tDAYZONE, tHOUR_UNIT, tID, tLOCAL_ZONE, tMERIDIAN,
78737         tMINUTE_UNIT, tMONTH, tMONTH_UNIT tSEC_UNIT, tSNUMBER, tUNUMBER,
78738         tYEAR_UNIT, tZONE, o_merid): Now of type <intval>.
78739         (tSNUMBER, tUNUMBER): Now of type <textintval>.
78740         (date, number, to_year): Use width of number in digits, not its value,
78741         to determine whether it's a 2-digit year, or a 2-digit time.
78742         (yylex): Store number of digits of numeric tokens.
78743         Reported by John Kendall.
78744
78745         (parser_control): Changed from struct parser_control to typedef (for
78746         consistency).  All uses changed.
78747
78748         (tID): Removed; not used.
78749         (yylex): Return '?' for unknown identifiers, rather than (unused) tID.
78750
78751 2000-02-14  Paul Eggert  <eggert@twinsun.com>
78752
78753         * lib/getpagesize.h (getpagesize): Port to VMS for Alpha;
78754         adapted from changes to grep getpagesize.h by Martin P.J. Zinser.
78755
78756 2000-02-12  Jim Meyering  <meyering@lucent.com>
78757
78758         * lib/userspec.c (ISDIGIT): Define it.
78759         (isdigit): Remove definition.
78760         (is_number): Use ISDIGIT, not isdigit.
78761         <libintl.h>: Include.
78762         (_ and N_): Define.
78763         (parse_user_spec): Mark translatable strings.
78764
78765 2000-02-10  Jim Meyering  <meyering@lucent.com>
78766
78767         With these changes, nanosleep.[ch] are finally enough like the other
78768         lib/* replacement files to compile on a few more losing systems.
78769
78770         * lib/nanosleep.h: Don't include config.h.
78771         Remove prototype from declaration of nanosleep.
78772         (PARAMS): Remove now-unneeded definition.
78773         * lib/nanosleep.c: #undef nanosleep.
78774         (rpl_nanosleep): Rename from nanosleep.
78775
78776 2000-02-10  Jim Meyering  <meyering@lucent.com>
78777
78778         * m4/nanosleep.m4 (jm_FUNC_NANOSLEEP): Rename replacement function from
78779         gnu_nanosleep to rpl_nanosleep.
78780
78781 2000-02-09  Jim Meyering  <meyering@lucent.com>
78782
78783         * m4/lib-check.m4 (jm_LIB_CHECK): Fix typo: check for sp_pwdp in
78784         struct spwd, rather than in struct passwd.  Reported by Gaël Quéri.
78785
78786 2000-02-08  Akim Demaille  <akim@epita.fr>
78787
78788         * m4/largefile.m4 (AC_SYS_LARGEFILE_FLAGS): Quote square brackets with
78789         `[' and `]' and remove uses of `changequote'.
78790         (AC_SYS_LARGEFILE_MACRO_VALUE): Likewise.
78791         (AC_SYS_LARGEFILE): Likewise.
78792         * m4/gettext.m4 (AM_GNU_GETTEXT): Likewise.
78793         * m4/strftime.m4 (jm_FUNC_GNU_STRFTIME): Remove now-unnecessary use
78794         of changequote.
78795         * m4/regex.m4 (jm_INCLUDED_REGEX): Likewise.
78796         * m4/readdir.m4 (jm_FUNC_READDIR): Likewise
78797         * m4/memcmp.m4 (jm_AC_FUNC_MEMCMP): Likewise, and add `int' for main.
78798         * m4/getloadavg.m4 (AM_FUNC_GETLOADAVG): Likewise.
78799
78800 2000-02-05  Jim Meyering  <meyering@lucent.com>
78801
78802         * m4/jm-macros.m4 (jm_CHECK_ALL_TYPES): Require most macros.
78803         Remove explicit use of AC_HEADER_TIME.  It is required by
78804         jm_CHECK_TYPE_STRUCT_TIMESPEC.  Using AC_HEADER_TIME and
78805         `AC_REQUIRE'ing jm_CHECK_TYPE_STRUCT_TIMESPEC provoked a but
78806         in autoconf whereby the expansion of the latter ended up preceding
78807         the expansion of its prerequisite, AC_HEADER_TIME.
78808         Reported by Volker Borchert.
78809
78810 2000-02-03  Jim Meyering  <meyering@lucent.com>
78811
78812         * m4/prereq.m4 (jm_PREREQ_READUTMP): Check for utmpxname.
78813
78814 2000-02-03  Jim Meyering  <meyering@lucent.com>
78815
78816         * lib/readutmp.c (read_utmp): Guard with `#ifdef UTMP_NAME_FUNCTION',
78817         rather than with `#if HAVE_UTMPNAME'.
78818
78819 2000-02-02  Jim Meyering  <meyering@lucent.com>
78820
78821         * m4/prereq.m4 (jm_PREREQ_ADDEXT): Fix typo that resulted in no
78822         definition of HAVE_PATHCONF: s/AC_CHECK_FUNC/AC_CHECK_FUNCS/.
78823         Reported by Eli Zaretskii.
78824
78825 2000-02-01  Jim Meyering  <meyering@lucent.com>
78826
78827         * lib/readutmp.h (UT_USER): Add parens.  From Andreas Schwab.
78828
78829 2000-01-31  Jim Meyering  <meyering@lucent.com>
78830
78831         * m4/check-decl.m4 (jm_CHECK_DECLS): Add nanosleep to the list of
78832         functions.  Add the time.h and sys/time.h headers along with the
78833         AC_REQUIRE'ment of AC_HEADER_TIME.
78834
78835 2000-01-31  Jim Meyering  <meyering@lucent.com>
78836
78837         * lib/nanosleep.h (nanosleep): Guard declaration with
78838         `#if ! HAVE_DECL_NANOSLEEP'.
78839         Without this, OFS gets a redeclaration error for rpl_nanosleep, due to
78840         the declaration in that vendor's sys/timers.h.
78841         Reported by Christian Krackowizer.
78842
78843         * lib/quotearg.c (ISASCII): Add #undef and move definition to follow
78844         inclusion of wctype.h to work around Solaris 2.6 namespace pollution.
78845         (ISPRINT): Likewise.
78846         Reported by Tom Tromey.
78847
78848 2000-01-30  Jim Meyering  <meyering@lucent.com>
78849
78850         * m4/lib-check.m4: Clean up some kludgy old shadow password tests.
78851
78852         * m4/prereq.m4 (utmp_includes): Define.
78853         Check for ut_user and ut_name members in both struct utmpx
78854         and struct utmp.
78855
78856 2000-01-30  Jim Meyering  <meyering@lucent.com>
78857
78858         * lib/readutmp.c (extract_trimmed_name): Use UT_USER instead of
78859         hard-coding uses of ->ut_name.  The latter doesn't work with new Linux
78860         header files where only utmpx.ut_user is declared.
78861
78862         * lib/readutmp.h (UT_USER): Define.
78863
78864 2000-01-29  Jim Meyering  <meyering@lucent.com>
78865
78866         * m4/lib-check.m4: New file containing library-related checks from
78867         fileutils and sh-utils (textutils had none).
78868
78869 2000-01-28  Jim Meyering  <meyering@lucent.com>
78870
78871         * m4/perl.m4: Change format of warning message to look more like that
78872         from the missing script.  Suggestion from François Pinard.
78873
78874 2000-01-25  Jim Meyering  <meyering@lucent.com>
78875
78876         * m4/timespec.m4: Require AC_HEADER_TIME, and include sys/time.h as
78877         well as time.h in the compile check.
78878         * m4/nanosleep.m4: Require AC_HEADER_TIME rather than simply using it.
78879         Fix typo in cross-compiling case: s/yes/no/.
78880
78881 2000-01-23  Jim Meyering  <meyering@lucent.com>
78882
78883         * m4/jm-macros.m4: Move df-related tests here from
78884         fileutils/configure.in
78885
78886         * m4/ls-mntd-fs.m4: s/list_mounted_fs/ac_list_mounted_fs/
78887         (jm_LIST_MOUNTED_FILESYSTEMS): Take two parameters.
78888
78889         * m4/fsusage.m4: New file.  Extracted from fileutils/configure.in.
78890         s/space/ac_fsusage_space/.
78891         (jm_FILE_SYSTEM_USAGE): Take two parameters.
78892
78893         * m4/ftruncate.m4: New file (derived from part of
78894         fileutils/configure.in).
78895         * m4/jm-macros.m4 (jm_FUNC_FTRUNCATE): AC_REQUIRE it.
78896         (jm_CHECK_ALL_TYPES): Require AC_HEADER_MAJOR and AC_HEADER_DIRENT.
78897
78898         * m4/jm-macros.m4 (OPTIONAL_BIN_PROGS, OPTIONAL_BIN_ZCRIPTS, MAN):
78899         AC_SUBST these here, rather than just in sh-util/configure.in, so
78900         that the now-shared-by-fileutils-and-textutils lib/Makefile.am are
78901         all the same.
78902         (AM_FUNC_OBSTACK): Add (from fileutils/configure.in).
78903         (AC_CHECK_FUNCS): Merge all checks from fileutils, textutils, sh-utils.
78904         (AM_FUNC_STRTOD): Added (from textutils', sh-utils' configure.in).
78905         (AC_SUBST(POW_LIBM)): Likewise.
78906         (AC_SUBST(DF_PROG)): Moved from fileutils/configure.in.
78907
78908 2000-01-23  Jim Meyering  <meyering@lucent.com>
78909
78910         * lib/Makefile.am (libfetish_a_SOURCES): Remove explicit mention of
78911         obstack.c.
78912
78913 2000-01-22  Jim Meyering  <meyering@lucent.com>
78914
78915         * m4/jm-macros.m4: Call AC_PROG_CC_STDC just before AC_C_CONST.
78916
78917         * m4/prereq.m4 (jm_PREREQ_QUOTEARG): Add wctype.h.
78918
78919         * m4/jm-macros.m4 (AC_CHECK_HEADERS): Add checks from fileutils'
78920         configure.in
78921         (AC_CHECK_HEADERS): Likewise for sh-utils.
78922         (AC_CHECK_HEADERS): Likewise for textutils.
78923         Merge the three lists of headers.
78924
78925         * m4/prereq.m4 (jm_PREREQ_ADDEXT): New macro.  Parts moved here
78926         from fileutils' configure.in.
78927
78928         * m4/decl.m4: Remove kludgy `test -z $ac_...AC_CHECK_HEADERS(...)'
78929         code. Moved tests into their own function (_jm_DECL_HEADERS) in
78930         check-decl.m4.
78931
78932         * m4/check-decl.m4: Use #if rather than #ifdef.
78933         Add HAVE_DECL_STRTOUL and HAVE_DECL_STRTOULL.
78934         (jm_CHECK_DECLARATIONS): Add strtoul strtoull.
78935         (_jm_DECL_HEADERS): Define new function.
78936         (jm_CHECK_DECLARATIONS): Require it.
78937
78938 2000-01-22  Jim Meyering  <meyering@lucent.com>
78939
78940         * lib/strtoumax.c: [! HAVE_DECL_STRTOUL]: Declare strtoul.
78941         [! HAVE_DECL_STRTOULL]: Declare strtoull.
78942         Required for some AIX systems.  Reported by Christian Krackowizer.
78943         [TESTING] (main): New function.
78944
78945         1997-10-17  Eli Zaretskii  <eliz@is.elta.co.il>
78946         * lib/dirname.c (dir_name): Support for DOS-style file names with drive
78947         letters.
78948
78949         * lib/quotearg.c [HAVE_WCTYPE_H]: Include <wctype.h> for decl of
78950         iswprint.
78951
78952         * lib/strverscmp.c (ISDIGIT): Define.
78953         (strverscmp): Use ISDIGIT, not isdigit.
78954
78955 2000-01-19  Jim Meyering  <meyering@lucent.com>
78956
78957         * m4/nanosleep.m4 (jm_FUNC_NANOSLEEP): Include <sys/time.h>, too.
78958         Use AC_HEADER_TIME.  Volker Borchert reported that OpenBSD-2.3/sparc
78959         defines `struct timespec' in <sys/time.h>
78960
78961         * m4/c-bs-a.m4: Remove uses of changequote altogether.
78962         Thanks to Akim for explaining.
78963
78964 2000-01-17  Paul Eggert  <eggert@twinsun.com>
78965
78966         * lib/nanosleep.c (nanosleep):
78967         Don't use SA_INTERRUPT to decide whether to call sigaction, as
78968         POSIX.1 doesn't require SA_INTERRUPT and some systems
78969         (e.g. Solaris 7) don't define it.  Use SA_NOCLDSTOP instead;
78970         it's been part of POSIX.1 since day 1 (in 1988).
78971
78972 2000-01-17  Jim Meyering  <meyering@lucent.com>
78973
78974         * lib/interlock: Remove unused file.  Reported by François Pinard.
78975
78976 2000-01-16  Paul Eggert  <eggert@twinsun.com>
78977
78978         * lib/quotearg.c (quotearg_buffer_restyled): Do not quote
78979         alert, backslash, formfeed, and vertical tab unnecessarily in
78980         shell quoting style.
78981
78982 2000-01-16  Jim Meyering  <meyering@lucent.com>
78983
78984         * m4/jm-macros.m4: Require jm_FUNC_GROUP_MEMBER, jm_FUNC_PUTENV,
78985         AM_FUNC_ERROR_AT_LINE, jm_FUNC_GNU_STRFTIME, jm_FUNC_MKTIME,
78986         jm_FUNC_GETGROUPS AC_FUNC_VPRINTF, AC_FUNC_ALLOCA,
78987         AM_FUNC_GETLOADAVG, and jm_SYS_PROC_UPTIME.
78988
78989 2000-01-16  Jim Meyering  <meyering@lucent.com>
78990
78991         * m4/c-bs-a.m4: Use `changequote(<<,>>)', rather than `changequote(, )'
78992         because the latter didn't work.
78993
78994 2000-01-15  Jim Meyering  <meyering@lucent.com>
78995
78996         * m4/jm-macros.m4 (AC_REPLACE_FUNCS): Add gethostname and getusershell.
78997         (AC_REPLACE_FUNCS): Add memcpy and memset.
78998         Add these, too: stime strcspn stpcpy strstr strtol strtoul.
78999         Add strpbrk.
79000         Add these: euidaccess memcmp mkdir rmdir rpmatch strndup strverscmp.
79001
79002 2000-01-12  Jim Meyering  <meyering@lucent.com>
79003
79004         * m4/prereq.m4 (jm_PREREQ_CANON_HOST): New macro.
79005         (jm_PREREQ): Use it.
79006         (jm_PREREQ_READUTMP): New macro.
79007         (jm_PREREQ): Use it.
79008
79009 2000-01-11  Paul Eggert  <eggert@twinsun.com>
79010
79011         Quote multibyte characters correctly.
79012         * m4/c-bs-a.m4: New file.
79013         * m4/prereq.m4 (jm_PREREQ_QUOTEARG): New macro.
79014         (jm_PREREQ): Use it.
79015
79016 2000-01-11  Paul Eggert  <eggert@twinsun.com>
79017
79018         * m4/uintmax_t.m4: Port to autoconf 2.13.
79019
79020 2000-01-08  Jim Meyering  <meyering@ascend.com>
79021
79022         * m4/strerror_r.m4 (jm_FUNC_STRERROR_R): New file/macro.
79023         * m4/jm-macros.m4 (jm_FUNC_STRERROR_R): Require it.
79024
79025 2000-01-04  Jim Meyering  <meyering@ascend.com>
79026
79027         * m4/d-type.m4 (jm_CHECK_TYPE_STRUCT_DIRENT_D_TYPE): Rename from
79028         jm_STRUCT_DIRENT_D_TYPE.
79029         * m4/d-ino.m4 (jm_CHECK_TYPE_STRUCT_DIRENT_D_INO): Rename from
79030         jm_STRUCT_DIRENT_D_INO.
79031         * m4/utimbuf.m4 (jm_CHECK_TYPE_STRUCT_UTIMBUF): Rename from
79032         jm_STRUCT_UTIMBUF.
79033         * m4/jm-macros.m4: Reflect s/jm_STRUCT_/jm_CHECK_TYPE_STRUCT_/
79034         renamings.
79035         * m4/utime.m4: Likewise.
79036
79037         * m4/timespec.m4 (jm_CHECK_TYPE_STRUCT_TIMESPEC): New file, macro.
79038         * m4/jm-macros.m4 (jm_CHECK_TYPE_STRUCT_TIMESPEC): Require it.
79039
79040 2000-01-03  Paul Eggert  <eggert@twinsun.com>
79041
79042         * m4/nanosleep.m4 (jm_FUNC_NANOSLEEP): Search for nanosleep in -lrt
79043         (for Solaris 7) and in -lposix4 (for Solaris 2.5.1).
79044
79045 2000-01-02  Jim Meyering  <meyering@ascend.com>
79046
79047         * m4/search-libs.m4: Escape `$' in $3 of dnl comment.  I no longer
79048         remember if this is necessary.
79049
79050 1999-12-26  Jim Meyering  <meyering@ascend.com>
79051
79052         * m4/jm-macros.m4: Use it here.
79053         * m4/nanosleep.m4 (jm_FUNC_NANOSLEEP): New file/macro.
79054
79055 1999-12-23  Jim Meyering  <meyering@ascend.com>
79056
79057         * m4/jm-macros.m4: Check for clock_gettime (moved from
79058         fileutils/configure.in)
79059         Check for gettimeofday.
79060
79061 1999-12-20  Jim Meyering  <meyering@ascend.com>
79062
79063         * m4/strftime.m4: Remove kludge, now that I'm using the fixed
79064         autoconf-2.14a-1999-12-20.
79065
79066 1999-12-19  Jim Meyering  <meyering@ascend.com>
79067
79068         * m4/lstat-slash.m4: New file.
79069         * m4/jm-macros.m4: Use the new macro:
79070         jm_FUNC_LSTAT_FOLLOWS_SLASHED_SYMLINK.
79071
79072 1999-12-07  Jim Meyering  <meyering@ascend.com>
79073
79074         * m4/perl.m4: Require that File::Compare be available, too.
79075         Too many systems seem to lack it.
79076
79077         * m4/strftime.m4: Add checks for most of the cpp macros tested in
79078         GNU's strftime.c.  Prompted by a patch from Paul Eggert.
79079
79080 1999-11-18  Paul Eggert  <eggert@twinsun.com>
79081
79082         * m4/largefile.m4 (AC_SYS_LARGEFILE_FLAGS): Work around a
79083         problem with the QNX 4.25 shell, which doesn't propagate exit
79084         status of failed commands inside shell assignments.
79085
79086 1999-11-17  Jim Meyering  <meyering@ascend.com>
79087
79088         * m4/gettext.m4: Use new AC_CONFIG_LINKS in place of AC_LINK_FILES.
79089
79090 1999-11-07  Jim Meyering  <meyering@ascend.com>
79091
79092         * m4/getloadavg.m4: Add `, 1, [FIXME]' to each use of AC_DEFINE.
79093
79094 1999-11-06  Jim Meyering  <meyering@ascend.com>
79095
79096         * m4/link-follow.m4 (jm_AC_FUNC_LINK_FOLLOWS_SYMLINK): New file/macro.
79097         * m4/jm-macros.m4 (jm_MACROS): Use it here.
79098
79099 1999-11-05  Jim Meyering  <meyering@ascend.com>
79100
79101         * m4/jm-macros.m4 (jm_CHECK_ALL_TYPES): Move some tests from
79102         configure.in of textutils, fileutils, and sh-utils into this one
79103         (shared between those packages) file.
79104         Use `AC_CHECK_MEMBERS((struct stat.st_blksize))' instead of deprecated
79105         AC_STRUCT_ST_BLKSIZE.
79106
79107 1999-11-03  Jim Meyering  <meyering@ascend.com>
79108
79109         * m4/ssize_t.m4: Remove file.  No longer needed since the new version
79110         of AC_CHECK_TYPE checks includes unistd.h.
79111         * m4/jm-macros.m4: Use straight `AC_CHECK_TYPE(ssize_t, int)'.
79112         Suggestion from Akim Demaille.
79113
79114 1999-10-30  Jim Meyering  <meyering@ascend.com>
79115
79116         * m4/uintmax_t.m4: Require 2.14a.  Remove backslash before backtick in
79117         m4-quoted string.
79118         * m4/ls-mntd-fs.m4: Likewise.
79119         * m4/jm-macros.m4: Likewise.  Also, use AC_TYPE_SSIZE_T instead
79120         * m4/jm-winsz1.m4: Likewise.
79121
79122         * m4/const.m4: Remove file, since the fix made it into the experimental
79123         version of autoconf.
79124         * m4/mktime.m4: Likewise.
79125
79126         * m4/check-type.m4: Remove file, now that the latest version of
79127         AC_CHECK_TYPE takes a third arg to specify additional #includes.
79128
79129         * m4/ssize_t.m4: New file, requires experimental version of autoconf.
79130         * m4/jm-macros.m4: Use new AC_TYPE_SSIZE_T instead of my hacked
79131         AC_CHECK_TYPE.
79132
79133 1999-10-04  Jim Meyering  <meyering@ascend.com>
79134
79135         * m4/jm-macros.m4: Don't require autoconf-2.14.1.
79136
79137 1999-09-22  Paul Eggert  <eggert@twinsun.com>
79138
79139         * m4/largefile.m4 (AC_SYS_LARGEFILE_FLAGS): Work around GCC
79140         2.95.1 bug with HP-UX 10.20.
79141
79142 1999-09-17  Jim Meyering  <meyering@ascend.com>
79143
79144         * m4/jm-macros.m4 (AC_REPLACE_FUNCS): Add strdup.
79145         Paul Nevai reported a link failure on a NeXT CUBE with NeXTSTEP 3.3
79146         due to missing strdup (against sh-utils-2.0).
79147
79148 1999-08-29  Jim Meyering  <meyering@ascend.com>
79149
79150         * m4/jm-macros.m4: Require jm_BISON.
79151         * m4/bison.m4: New file.
79152
79153 1999-08-17  Paul Eggert  <eggert@twinsun.com>
79154
79155         * m4/largefile.m4 (AC_SYS_LARGEFILE): Fix typo: missing comma
79156         in value for _FILE_OFFSET_BITS, which broke ports to HP-UX 10.20.
79157
79158 1999-08-05  Jim Meyering  <meyering@ascend.com>
79159
79160         * m4/getline.m4: Rename test file from conftestdata to conftest.data
79161         to avoid conflicts with `conftest' on 8+3 filesystems.
79162         Suggestion from Eli Zaretskii.
79163
79164 1999-08-04  Jim Meyering  <meyering@ascend.com>
79165
79166         * m4/jm-macros.m4: Move a 4-line block of code from the configure.in of
79167         fileutils and sh-utils (textutils's getline test was inadequate).
79168         (AM_FUNC_GETLINE): Run this test.
79169         (AC_CHECK_FUNCS): Check for getdelim.
79170         Reported by Bob Proulx.
79171
79172 1999-08-02  Jim Meyering  <meyering@ascend.com>
79173
79174         * m4/jm-macros.m4: Add a comment.
79175
79176 1999-08-01  Paul Eggert  <eggert@twinsun.com>
79177
79178         * m4/xstrtoumax.m4 (jm_AC_PREREQ_XSTRTOUMAX): Check whether
79179         <inttypes.h> defines strtoumax as a macro (and not as a
79180         function).
79181
79182 1999-08-01  Paul Eggert  <eggert@twinsun.com>
79183
79184         * m4/ulonglong.m4 (jm_AC_TYPE_UNSIGNED_LONG_LONG): Make sure
79185         that we can shift, multiply and divide unsigned long long
79186         values; Ultrix cc can't do it.
79187
79188 1999-08-01  Paul Eggert  <eggert@twinsun.com>
79189
79190         * m4/mktime.m4: New file, which is a preview of what should appear
79191         in the next public autoconf release.
79192
79193 1999-08-01  Paul Eggert  <eggert@twinsun.com>
79194
79195         * m4/lfs.m4: Remove this file.
79196         * m4/largefile.m4: New file.  It contains the old contents of
79197         lfs.m4, except that all names with prefix AC_LFS have been
79198         changed to use the prefix AC_SYS_LARGEFILE instead, to be
79199         compatible with future autoconf versions.  Also, some minor m4
79200         quoting problems have been fixed.
79201
79202 1999-08-01  Paul Eggert  <eggert@twinsun.com>
79203
79204         * m4/gettext.m4 (AM_WITH_NLS): Remove unnecessary lines.
79205         Fix typo: $nls_cv_header_intl was misspelled as $nsl_cv_header_intl.
79206         (AM_GNU_GETTEXT): Fix problem with brackets and m4 quoting,
79207         and simplify the shell code.
79208
79209 1999-08-01  Jim Meyering  <meyering@ascend.com>
79210
79211         * m4/mktime.m4 (AC_FUNC_MKTIME): Undefine to avoid syntax errors from
79212         m4.
79213
79214 1999-07-20  Jim Meyering  <meyering@ascend.com>
79215
79216         * m4/jm-macros.m4 (AC_REPLACE_FUNCS): Add memmove.
79217
79218 1999-07-15  Jim Meyering  <meyering@ascend.com>
79219
79220         * m4/jm-macros.m4 (AC_CHECK_FUNCS): Check for getpagesize.
79221
79222 1999-05-22  Jim Meyering  <meyering@ascend.com>
79223
79224         * m4/jm-macros.m4 (AC_REPLACE_FUNCS): Add memchr.
79225
79226 1999-05-20  Jim Meyering  <meyering@ascend.com>
79227
79228         * m4/search-libs.m4 [AC_SEARCH_LIBS]: Quote name in undefine.
79229         Add a colon after each `then' in case $4 is empty.
79230
79231 1999-05-16  Jim Meyering  <meyering@ascend.com>
79232
79233         * m4/search-libs.m4: New file to override autoconf's AC_SEARCH_LIBS.
79234
79235 1999-05-10  Jim Meyering  <meyering@ascend.com>
79236
79237         * m4/jm-mktime.m4: Reflect renaming: AM_FUNC_MKTIME -> AC_FUNC_MKTIME.
79238
79239         * m4/jm-macros.m4: Require 2.14.1, since we use newly-renamed
79240         AC_FUNC_MKTIME.
79241
79242 1999-05-10  Andreas Schwab  <schwab@issan.cs.uni-dortmund.de>
79243
79244         * m4/jm-mktime.m4, putenv.m4: Fix typos in config.h comments.
79245
79246 1999-05-04  Paul Eggert  <eggert@twinsun.com>
79247
79248         * m4/lfs.m4 (AC_LFS): -n32, -o32, and -n64 should be in CFLAGS,
79249         not CPPFLAGS, so that linking works correctly in IRIX.
79250
79251 1999-04-30  Paul Eggert  <eggert@twinsun.com>
79252
79253         * m4/jm-macros.m4 (AC_REPLACE_FUNCS): Add dup2.
79254
79255 1999-04-20  Paul Eggert  <eggert@twinsun.com>
79256
79257         * m4/uintmax_t.m4 (jm_AC_TYPE_UINTMAX_T): Move unsigned long
79258         long check into new jm_AC_TYPE_UNSIGNED_LONG_LONG macro.
79259         * m4/jm-macros.m4 (jm_CHECK_ALL_TYPES): Require
79260         jm_AC_TYPE_UNSIGNED_LONG_LONG.
79261         * m4/ulonglong.m4 (jm_AC_TYPE_UNSIGNED_LONG_LONG): New file/macro.
79262
79263         * m4/lfs.m4: Port to AIX and HP-UX.  Support cross-compilation.
79264
79265 1999-04-20  Jim Meyering  <meyering@ascend.com>
79266
79267         * m4/xstrtoumax.m4: Require jm_AC_TYPE_UNSIGNED_LONG_LONG.
79268         AC_REPLACE xstroull if necessary.  From Paul Eggert.
79269         (AC_CHECK_FUNCS): Remove strtoull, strtoumax, strtouq.
79270
79271 1999-04-18  Jim Meyering  <meyering@ascend.com>
79272
79273         * m4/xstrtoumax.m4 (jm_AC_PREREQ_XSTRTOUMAX): New file/macro.
79274         * m4/jm-macros.m4: Use it.
79275
79276 1999-04-06  Jim Meyering  <meyering@ascend.com>
79277
79278         * m4/strftime.m4: Remove test for %f.
79279
79280 1999-03-29  Jim Meyering  <meyering@ascend.com>
79281
79282         * m4/jm-macros.m4 (jm_CHECK_ALL_TYPES): New macro, contains the
79283         superset of the AC_TYPE_* checks in the textutils, fileutils,
79284         and sh-utils, plus AC_TYPE_PID_T.  Paul Eggert suggested adding
79285         AC_TYPE_PID_T.
79286
79287 1999-03-28  Jim Meyering  <meyering@ascend.com>
79288
79289         * m4/jm-macros.m4: Define GNU_PACKAGE here.
79290         Be sure to AC_SUBST it, once again, so that @GNU_PACKAGE@ is
79291         replaced e.g., in the *.sh files of the sh-utils.
79292
79293 1999-03-20  Jim Meyering  <meyering@ascend.com>
79294
79295         * m4/jm-macros.m4: s/jm_WITH_REGEX/jm_INCLUDED_REGEX/.
79296         * m4/regex.m4 (jm_INCLUDED_REGEX): Rename from jm_WITH_REGEX.
79297         Don't depend on AM_GLIBC.  Suggestions from Alain Magloire.
79298
79299 1999-03-19  Jim Meyering  <meyering@ascend.com>
79300
79301         * m4/jm-winsz1.m4 (jm_WINSIZE_IN_PTEM): New macro.
79302
79303 1999-03-12  Jim Meyering  <meyering@ascend.com>
79304
79305         * m4/jm-macros.m4: Use AC_FUNC_SETVBUF_REVERSED.
79306
79307 1999-03-07  Jim Meyering  <meyering@ascend.com>
79308
79309         * m4/jm-glibc-io.m4: Use only those *_unlocked macros that are
79310         declared.
79311
79312 1999-02-17  Jim Meyering  <meyering@ascend.com>
79313
79314         * m4/gettext.m4 (AM_GNU_GETTEXT): Do `changequote' around use of
79315         brackets in macro definition.  From Eli Zaretskii and Alain Magloire.
79316
79317 1999-02-07  Jim Meyering  <meyering@ascend.com>
79318
79319         * m4/group-member.m4: New file -- extracted from sh-utils'
79320         configure.in.
79321
79322         1999-02-05  Eli Zaretskii  <eliz@is.elta.co.il>
79323         * m4/gettext.m4: Support DOS-style d:/foo/bar absolute file names.
79324
79325 1999-02-06  Jim Meyering  <meyering@ascend.com>
79326
79327         * m4/chown.m4: Use `AC_SUBST(LIBOBJS)' since we set LIBOBJS.
79328         * m4/fnmatch.m4: Likewise.
79329         * m4/getgroups.m4: Likewise.
79330         * m4/lstat.m4: Likewise.
79331         * m4/malloc.m4: Likewise.
79332         * m4/putenv.m4: Likewise.
79333         * m4/realloc.m4: Likewise.
79334         * m4/regex.m4: Likewise.
79335         * m4/stat.m4: Likewise.
79336         * m4/strftime.m4: Likewise.
79337         Suggestion from Alain Magloire.
79338
79339         * m4/chown.m4: Use `.$ac_objext', not `.o'.
79340         * m4/fnmatch.m4: Likewise.
79341         * m4/getgroups.m4: Likewise.
79342         * m4/getline.m4: Likewise.
79343         * m4/lstat.m4: Likewise.
79344         * m4/malloc.m4: Likewise.
79345         * m4/memcmp.m4: Likewise.
79346         * m4/putenv.m4: Likewise.
79347         * m4/realloc.m4: Likewise.
79348         * m4/regex.m4: Likewise.
79349         * m4/stat.m4: Likewise.
79350         * m4/strftime.m4: Likewise.
79351         Suggestion from Alain Magloire.
79352
79353         * m4/jm-macros.m4: Actually invoke jm_WITH_REGEX now that it requires
79354         an argument.
79355
79356         * m4/regex.m4: Add a run-time Test for proper operation of
79357         re_compile_pattern.
79358
79359 1999-01-31  Jim Meyering  <meyering@ascend.com>
79360
79361         * m4/getloadavg.m4: Check for locale.h and the function, setlocale.
79362
79363 1999-01-30  Jim Meyering  <meyering@ascend.com>
79364
79365         * m4/check-type.m4: Use 3-arg form of AC_DEFINE.
79366
79367         * m4/jm-mktime.m4: Make this a wrapper around the official
79368         AM_FUNC_MKTIME rather than my private copy, now that the official one
79369         is up to date.
79370         * m4/mktime.m4: Remove file.
79371
79372         * m4/getloadavg.m4: Use 3-arg form of AC_DEFINE.
79373         * m4/uptime.m4: Likewise.
79374         * m4/uintmax_t.m4: Likewise.
79375
79376 1999-01-28  Jim Meyering  <meyering@ascend.com>
79377
79378         * m4/jm-macros.m4: Use jm_AFS.
79379         * m4/afs.m4: New file (from fileutils' configure.in).
79380
79381         * m4/assert.m4: Use the 3-argument forms of AC_DEFINE* macros.
79382         * m4/chown.m4: Likewise.
79383         * m4/d-ino.m4: Likewise.
79384         * m4/d-type.m4: Likewise.
79385         * m4/fnmatch.m4: Likewise.
79386         * m4/getgroups.m4: Likewise.
79387         * m4/gettext.m4: Likewise.
79388         * m4/jm-mktime.m4: Likewise.
79389         * m4/jm-winsz2.m4: Likewise.
79390         * m4/lcmessage.m4: Likewise.
79391         * m4/ls-mntd-fs.m4: Likewise.
79392         * m4/malloc.m4: Likewise.
79393         * m4/memcmp.m4: Likewise.
79394         * m4/putenv.m4: Likewise.
79395         * m4/realloc.m4: Likewise.
79396         * m4/st_mtim.m4: Likewise.
79397         * m4/strftime.m4: Likewise.
79398
79399 1999-01-16  Jim Meyering  <meyering@ascend.com>
79400
79401         * m4/jm-macros.m4 (ARGMATCH_DIE): Define.
79402         (ARGMATCH_DIE_DECL): Define.
79403
79404 1999-01-12  Jim Meyering  <meyering@ascend.com>
79405
79406         * m4/Makefile.am.in: Rewrite to avoid using fmt.
79407         Reported by Lars Hecking.
79408
79409 1999-01-10  Jim Meyering  <meyering@ascend.com>
79410
79411         * m4/fstypename.m4: Use the new 3-arg form of AC_DEFINE instead of my
79412         gross kludge.
79413         * m4/inttypes_h.m4: Likewise.
79414         * m4/lstat.m4: Likewise.
79415         * m4/malloc.m4: Likewise.
79416         * m4/readdir.m4: Likewise.
79417         * m4/realloc.m4: Likewise.
79418         * m4/st_dm_mode.m4: Likewise.
79419         * m4/stat.m4: Likewise.
79420         * m4/utimbuf.m4: Likewise.
79421         * m4/utimes.m4: Likewise.
79422
79423         * m4/check-decl.m4: Use the new 3-arg form of AC_DEFINE instead of the
79424         AC_CHECK_FUNCS hack.  Now, it's still a hack, but at least the
79425         comments in config.h.in are meaningful.
79426
79427         * m4/jm-macros.m4: Require autoconf-2.13 here.
79428
79429         * m4/regex.m4: By default, don't use the included regex.c on systems
79430         with glibc 2.  Suggestion from Uli Drepper.
79431
79432 1999-01-02  Jim Meyering  <meyering@ascend.com>
79433
79434         * m4/jm-macros.m4: Replace strcasecmp and strncasecmp.
79435
79436 1998-12-18  Jim Meyering  <meyering@ascend.com>
79437
79438         * m4/Makefile.am.in (Makefile.am): Simplify rule.
79439         Based on a suggestion from Lars Hecking.
79440
79441 1998-11-16  Paul Eggert  <eggert@twinsun.com>
79442
79443         * m4/lfs.m4 (AC_LFS): Add support for HP-UX 10.20 and HP-UX 11.
79444
79445 1998-11-16  Jim Meyering  <meyering@ascend.com>
79446
79447         * m4/lfs.m4: Double-quote the `uname...` expression.
79448
79449 1998-11-14  Jim Meyering  <meyering@ascend.com>
79450
79451         * m4/lstat.m4: Correct comment.  POSIX does not permit it to succeed.
79452         * m4/stat.m4: Likewise.
79453
79454 1998-11-03  Jim Meyering  <meyering@ascend.com>
79455
79456         * m4/stat.m4: Rewrite to set HAVE_STAT_EMPTY_STRING_BUG.
79457         * m4/lstat.m4: Rewrite to set HAVE_LSTAT_EMPTY_STRING_BUG.
79458
79459 1998-10-18  Jim Meyering  <meyering@ascend.com>
79460
79461         * m4/check-decl.m4 (jm_CHECK_DECL_LOCALTIME_R): Remove macro.
79462
79463 1998-10-17  Jim Meyering  <meyering@ascend.com>
79464
79465         * m4/decl.m4 (jm_CHECK_DECLARATION): Don't hard-code which headers to
79466         include, though we still hard-code the `require'-like AC_CHECK_HEADERS
79467         calls for those previously hard-coded headers.  Instead, take a new
79468         parameter.
79469         (jm_CHECK_DECLARATIONS): Reflect interface change.
79470         * m4/check-decl.m4 (jm_CHECK_DECLS): Likewise.
79471         (jm_CHECK_DECL_LOCALTIME_R): New macro.
79472
79473         * m4/mktime.m4: Test for spring-forward gap before long-running test.
79474
79475 1998-10-14  Jim Meyering  <meyering@ascend.com>
79476
79477         * m4/mktime.m4: Use the more portable "TZ=PST8PDT,M4.1.0,M10.5.0"
79478         instead of "TZ=America/Vancouver".  From Paul Eggert.
79479
79480 1998-10-11  Jim Meyering  <meyering@ascend.com>
79481
79482         * m4/mktime.m4 (jm_AM_FUNC_MKTIME): New file and macro.
79483         This adds a test for a recently added compatibility fix for mktime.c.
79484         * m4/jm-mktime.m4: Require jm_AM_FUNC_MKTIME, not AM_FUNC_MKTIME.
79485
79486 1998-09-27  Jim Meyering  <meyering@ascend.com>
79487
79488         * m4/jm-macros.m4 (jm_MACROS): Require jm_FUNC_FNMATCH.
79489
79490         * m4/fnmatch.m4 (jm_FUNC_FNMATCH): New file/macro.  Extracted from
79491         ../configure.in, including a change from Gordon Matzigkeit to allow
79492         cross-compiling for the Hurd.
79493
79494         * m4/glibc.m4: New file/macro to test for the GNU C Library
79495         versions 1 and 2.  From Gordon Matzigkeit.
79496         Indent.
79497
79498 1998-09-21  Jim Meyering  <meyering@ascend.com>
79499
79500         * m4/chown.m4: Declare locals: before, after.  From Andries Brouwer.
79501
79502 1998-08-18  Paul Eggert  <eggert@twinsun.com>
79503
79504         Port nanosecond-resolution times to UnixWare 2.1.2 and
79505         pedantic Solaris 2.6.
79506
79507         * m4/st_mtim.m4 (AC_STRUCT_ST_MTIM_NSEC): Renamed from
79508         AC_STRUCT_ST_MTIM.
79509         * m4/st_mtim.m4 (AC_STRUCT_ST_MTIM_NSEC):
79510         Generate name of ns member, instead of just 1 or undef.
79511         Allow for UnixWare 2.1.2 and Solaris 2.6 if in pedantic mode.
79512
79513 1998-08-15  Jim Meyering  <meyering@ascend.com>
79514
79515         * m4/ssize_t.m4 (jm_TYPE_SSIZE_T): Remove file.
79516         * m4/check-type.m4: New file.  Replacement for AC_CHECK_TYPE.
79517         * m4/jm-macros.m4: Use the new AC_CHECK_TYPE(ssize_t, int)
79518         instead of jm_TYPE_SSIZE_T.
79519
79520 1998-08-12  Jim Meyering  <meyering@ascend.com>
79521
79522         * m4/st_dm_mode.m4: New file.  From Johan Danielsson.
79523
79524 1998-08-02  Jim Meyering  <meyering@ascend.com>
79525
79526         * m4/st_mtim.m4: Use hack to avoid having to put #undef HAVE_ST_MTIM
79527         in acconfig.h manually.
79528
79529 1998-07-31  Paul Eggert  <eggert@twinsun.com>
79530
79531         * m4/st_mtim.m4: New file.
79532
79533 1998-07-28  Jim Meyering  <meyering@ascend.com>
79534
79535         * m4/utimes.m4: Undef stat.
79536
79537 1998-07-25  Jim Meyering  <meyering@ascend.com>
79538
79539         * m4/utime.m4 (jm_FUNC_UTIME): New file and macro.
79540         * m4/utimes.m4 (jm_FUNC_UTIMES_NULL): New file and macro.
79541
79542 1998-07-09  Manfred Hollstein  <manfred@s-direktnet.de>
79543
79544         * m4/chown.m4 (jm_FUNC_CHOWN): Add a check to verify that the
79545         uid and gid actually remain unchanged.
79546
79547 1998-07-07  Jim Meyering  <meyering@ascend.com>
79548
79549         * m4/jm-glibc-io.m4: Remove fclose_unlocked.
79550
79551 1998-07-04  Jim Meyering  <meyering@ascend.com>
79552
79553         * m4/regex.m4: Use syscmd, ifelse, and sysval.  Mainly as an exercise
79554         to prove that this macro can be used in packages without regex.c.
79555
79556 1998-07-04  Andreas Schwab  <schwab@issan.informatik.uni-dortmund.de>
79557
79558         * m4/gettext.m4 (AM_WITH_NLS): Remove intl/libintl.h if <libintl.h>
79559         is to be used.
79560
79561 1998-07-03  Jim Meyering  <meyering@ascend.com>
79562
79563         * m4/gettext.m4: Add -lintl if it's found to be necessary.
79564
79565         * m4/gettext.m4: New file -- from gettext-0.10.35.
79566         * m4/lcmessage.m4: Likewise.
79567         * m4/progtest.m4: Likewise.
79568
79569         * m4/regex.m4 (jm_WITH_REGEX): New file and macro.
79570         * m4/jm-macros.m4: Require the new macro.
79571
79572 1998-06-29  Jim Meyering  <meyering@ascend.com>
79573
79574         * m4/fstypename.m4: Include sys/param.h.  NetBSD 1.3.1 requires this
79575         for the definition of NGROUPS (used in a system header included
79576         by sys/mount.h).
79577
79578 1998-06-28  Jim Meyering  <meyering@ascend.com>
79579
79580         * m4/ls-mntd-fs.m4: New file.
79581         * m4/fstypename.m4: New file.
79582
79583         * m4/jm-macros.m4: Require the new macro.
79584         * m4/jm-glibc-io.m4: New file.
79585
79586 1998-05-19  Jim Meyering  <meyering@ascend.com>
79587
79588         * m4/jm-macros.m4: Add jm_FUNC_LCHOWN.
79589         * m4/lchown.m4: New file.
79590
79591         * m4/Makefile.am.in: New file.
79592         * m4/Makefile.am (Makefile.am): Depend on Makefile.am.in.
79593
79594 1998-05-14  Jim Meyering  <meyering@ascend.com>
79595
79596         * m4/Makefile.am (EXTRA_DIST): Add them.
79597         * m4/jm-macros.m4: New file.
79598         * m4/utimbuf.m4: New file.
79599
79600 1998-05-12  Jim Meyering  <meyering@ascend.com>
79601
79602         * m4/Makefile.am (EXTRA_DIST): Add isc-posix.m4.
79603
79604 1998-05-11  Jim Meyering  <meyering@ascend.com>
79605
79606         * m4/isc-posix.m4: New file.
79607
79608 1998-05-10  Jim Meyering  <meyering@ascend.com>
79609
79610         * m4/jm-mktime.m4: Use AM_FUNC_MKTIME, now that it's up to date.
79611
79612 1998-05-09  Jim Meyering  <meyering@ascend.com>
79613
79614         * m4/Makefile.am (EXTRA_DIST): Add ssize_t.m4.
79615         (EXTRA_DIST): Remove mktime.m4, now that the new version is included
79616         with automake.
79617
79618         * m4/ssize_t.m4: New file.
79619         * m4/mktime.m4: Remove file -- the new automake has this now.
79620
79621 1998-04-26  Jim Meyering  <meyering@ascend.com>
79622
79623         * m4/assert.m4: New file.
79624         * m4/Makefile.am (EXTRA_DIST): Add assert.m4.
79625
79626 1998-04-05  Jim Meyering  <meyering@ascend.com>
79627
79628         * m4/prereq.m4 (jm_PREREQ_REGEX): New macro.
79629         (jm_PREREQ): Use it here.
79630
79631 1998-03-23  Jim Meyering  <meyering@eng.ascend.com>
79632
79633         * m4/inttypes_h.m4: Kludges so I don't have to add HAVE_INTTYPES_H
79634         in acconfig.h.
79635
79636 1998-03-15  Jim Meyering  <meyering@eng.ascend.com>
79637
79638         * m4/prereq.m4: New file.
79639         * m4/error.m4: New file.
79640         * m4/Makefile.am (EXTRA_DIST): Add error.m4 and prereq.m4.
79641
79642 1998-02-07  Jim Meyering  <meyering@eng.ascend.com>
79643
79644         * m4/getline.m4: Don't set am_cv_func_working_getline before the
79645         cache-check for the same variable -- that defeated the purpose of
79646         the test; the test program was never run.  This was a problem only
79647         on systems with losing getline functions -- HP-UX 10.20 is one.
79648         Reported by Bjorn Helgaas.
79649
79650 1998-02-06  Jim Meyering  <meyering@eng.ascend.com>
79651
79652         * m4/Makefile.am (EXTRA_DIST): Add perl.m4.
79653
79654 1998-01-10  Jim Meyering  <meyering@na-net.ornl.gov>
79655
79656         * m4/Makefile.am (EXTRA_DIST): Add const.m4.
79657
79658         * m4/const.m4: New file.  Use an initializer in this declaration
79659         typedef int charset[2]; const charset x;
79660         Reported by Bob Glickstein.
79661
79662 1997-12-21  Jim Meyering  <meyering@na-net.ornl.gov>
79663
79664         * m4/chown.m4: Fix reversed types on -1 args to chown.
79665         From Kaveh Ghazi.
79666
79667 1997-12-14  Jim Meyering  <meyering@na-net.ornl.gov>
79668
79669         * m4/check-decl.m4: s/DECLARATION_/DECL_/g.
79670         Add lseek and memchr.
79671
79672         * m4/decl.m4: s/HAVE_DECLARATION_/HAVE_DECL_/g.
79673         T.E.Dickey <dickey@clark.net> said that some older preprocessors
79674         have a 20-character limit on names.
79675
79676 1997-11-30  Jim Meyering  <meyering@na-net.ornl.gov>
79677
79678         * m4/inttypes_h.m4: New file.
79679         * m4/uintmax_t.m4: New file.
79680         * m4/Makefile.am (EXTRA_DIST): Add inttypes_h.m4 and uintmax_t.m4.
79681
79682
79683         -----
79684
79685         Local Variables:
79686         coding: utf-8
79687         End:
79688
79689         Copyright (C) 1997-2011 Free Software Foundation, Inc.
79690
79691         Copying and distribution of this file, with or without
79692         modification, are permitted provided the copyright notice
79693         and this notice are preserved.